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

48 lines
1.9 KiB
Java

/*
* Copyright (c) 2017 univento.eu - All rights reserved
* You are not allowed to use, distribute or modify this code
*/
package eu.univento.core.antihack;
import eu.univento.commons.player.warn.WarnReason;
import eu.univento.core.Core;
import eu.univento.core.antihack.modules.*;
import eu.univento.core.api.player.CustomPlayer;
import org.bukkit.Bukkit;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import java.util.Map;
public class AntiHack implements Listener{
//TODO: add nofication system
public void registerListeners() {
PluginManager pm = Bukkit.getPluginManager();
pm.registerEvents(this, 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 Regen(), Core.getInstance());
pm.registerEvents(new AutoRespawn(), Core.getInstance());
pm.registerEvents(new FastPlace(), Core.getInstance());
pm.registerEvents(new AutoSoup(), Core.getInstance());
pm.registerEvents(new Nuker(), Core.getInstance());
pm.registerEvents(new SelfHit(), Core.getInstance());
pm.registerEvents(new BowAimbot(), Core.getInstance());
pm.registerEvents(new Packets(), Core.getInstance());
Bukkit.getScheduler().scheduleSyncRepeatingTask(Core.getInstance(), () -> {
for(Map.Entry<CustomPlayer, Integer> entry : AutoClicker.clicks.entrySet()) {
if(entry.getValue() > 25) {
//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);
}
}