RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
BannedPlayers.java
1package com.osroyale.game.world.entity.mob.player;
2
3import com.osroyale.game.task.Task;
4import com.osroyale.game.world.World;
5
6import java.io.IOException;
7import java.nio.charset.Charset;
8import java.nio.file.Files;
9import java.nio.file.Paths;
10import java.util.ArrayList;
11import java.util.List;
12
36
37public class BannedPlayers {
38
39 private static final String BAN_LIST_PATH = "./data/bans.txt";
40
41 public static final List<String> bans = new ArrayList<>();
42
43 public static void load() {
44 if (!bans.isEmpty()) {
45 bans.clear();
46 }
47 try {
48 bans.addAll(Files.readAllLines(Paths.get(BAN_LIST_PATH)));
49 } catch (IOException e) {
50 e.printStackTrace();
51 }
52 }
53
54 public static void ban(String player) {
55 player = player.toLowerCase();
56 if (bans.contains(player)) {
57 return;
58 }
59 bans.add(player);
60 writeBans();
61 }
62
63 public static boolean unban(String player) {
64 player = player.toLowerCase();
65 if (!bans.remove(player)) {
66 return false;
67 }
68 writeBans();
69 return true;
70 }
71
72 private static void writeBans() {
73 World.schedule(new Task(1) {
74 @Override
75 public void execute() {
76 try {
77 Files.write(Paths.get(BAN_LIST_PATH), bans, Charset.defaultCharset());
78 cancel();
79 } catch (IOException e) {
80 e.printStackTrace();
81 }
82 }
83 });
84 }
85}
static void schedule(Task task)
Definition World.java:284