48 lines
1.9 KiB
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());
|
|
}
|
|
} |