Core/src/main/java/eu/univento/core/antihack/AntiHack.java

48 lines
1.9 KiB
Java

package eu.univento.core.antihack;
import eu.univento.core.Core;
import eu.univento.core.antihack.modules.*;
import eu.univento.core.antihack.utils.PacketInjector;
import eu.univento.core.api.player.CustomPlayer;
import eu.univento.core.api.player.WarnReason;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.PluginManager;
import java.util.Map;
public class AntiHack implements Listener{
private static final PacketInjector packetInjector = new PacketInjector();
public static void registerListeners() {
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(new AntiHack(), Core.getInstance());
pm.registerEvents(new Movement(), Core.getInstance());
pm.registerEvents(new AutoClicker(), Core.getInstance());
pm.registerEvents(new Criticals(), Core.getInstance());
pm.registerEvents(new Reach(), Core.getInstance());
pm.registerEvents(new NoSlowDown(), Core.getInstance());
pm.registerEvents(new Regen(), Core.getInstance());
pm.registerEvents(new AutoRespawn(), Core.getInstance());
pm.registerEvents(new FastPlace(), Core.getInstance());
//pm.registerEvents(new KillAura(), Core.getInstance());
Bukkit.getScheduler().scheduleSyncRepeatingTask(Core.getInstance(), () -> {
for(Map.Entry<CustomPlayer, Integer> entry : AutoClicker.clicks.entrySet()) {
if(entry.getValue() > 16) {
//TODO: change to real warn reason
entry.getKey().warn(WarnReason.SPAM, null, "https://players.univento.eu/" + entry.getKey().getUniqueId().toString() + "/hacks");
}
AutoClicker.clicks.remove(entry.getKey());
}
}, 20L, 20L);
}
@EventHandler
public void onJoin(PlayerJoinEvent e) {
packetInjector.addPlayer(e.getPlayer());
}
}