RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
IPMutedPlayers.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
37
38public class IPMutedPlayers {
39
40 private static final String IP_MUTE_LIST_PATH = "./data/ip-mutes.txt";
41
42 public static final List<String> ipMutes = new ArrayList<>();
43
44 public static void load() {
45 if (!ipMutes.isEmpty()) {
46 ipMutes.clear();
47 }
48 try {
49 ipMutes.addAll(Files.readAllLines(Paths.get(IP_MUTE_LIST_PATH)));
50 } catch (IOException e) {
51 e.printStackTrace();
52 }
53 }
54
55 public static boolean isIpMuted(String host) {
56 return ipMutes.contains(host);
57 }
58
59 public static void ipMute(String host) {
60 host = host.toLowerCase();
61 if (ipMutes.contains(host)) {
62 return;
63 }
64 ipMutes.add(host);
65 writeIpMutes();
66 }
67
68 public static boolean unIpMute(String host) {
69 host = host.toLowerCase();
70 if (!ipMutes.remove(host)) {
71 return false;
72 }
73 writeIpMutes();
74 return true;
75 }
76
77 private static void writeIpMutes() {
78 World.schedule(new Task(1) {
79 @Override
80 public void execute() {
81 try {
82 Files.write(Paths.get(IP_MUTE_LIST_PATH), ipMutes, Charset.defaultCharset());
83 cancel();
84 } catch (IOException e) {
85 e.printStackTrace();
86 }
87 }
88 });
89 }
90}
static void schedule(Task task)
Definition World.java:284