Core/src/main/java/eu/univento/core/antihack/modules/Nuker.java

39 lines
1.2 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.modules;
import eu.univento.commons.player.warn.WarnReason;
import eu.univento.core.api.player.CustomPlayer;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import java.util.LinkedHashMap;
/**
* @author joethei
* @version 0.1
*/
public class Nuker implements Listener {
private final LinkedHashMap<CustomPlayer, Long> last = new LinkedHashMap<>();
private final LinkedHashMap<CustomPlayer, Integer> blocks = new LinkedHashMap<>();
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
if(last.get(p) != null && last.get(p) + 50000L >= System.currentTimeMillis()) {
last.put(p, System.currentTimeMillis());
blocks.put(p, blocks.get(p) + 1);
if(blocks.get(p) > 80) {
e.setCancelled(true);
p.warn(WarnReason.SPAM, null, "https://players.univento.eu/" + p.getUniqueId().toString() + "/hacks");
}
}else{
blocks.put(p, 0);
}
}
}