39 lines
1.2 KiB
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);
|
|
}
|
|
}
|
|
} |