59 lines
2.1 KiB
Java
59 lines
2.1 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.Core;
|
|
import eu.univento.core.api.player.CustomPlayer;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.event.EventHandler;
|
|
import org.bukkit.event.Listener;
|
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
|
import org.bukkit.event.player.PlayerMoveEvent;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
public class Criticals implements Listener {
|
|
|
|
private final ArrayList<CustomPlayer> players = new ArrayList<>();
|
|
|
|
@EventHandler
|
|
public void onEntityDamageByEntity(EntityDamageByEntityEvent e) {
|
|
if(e.getDamager() instanceof Player && e.getEntity() instanceof Player) {
|
|
CustomPlayer damager = CustomPlayer.getPlayer((Player) e.getDamager());
|
|
CustomPlayer p = CustomPlayer.getPlayer((Player) e.getEntity());
|
|
if(!players.contains(p)) {
|
|
players.add(p);
|
|
Bukkit.getScheduler().runTaskLater(Core.getInstance(), () -> players.remove(p), 5L);
|
|
}
|
|
}
|
|
}
|
|
|
|
@EventHandler
|
|
public void onMove(PlayerMoveEvent e) {
|
|
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
|
|
Bukkit.getScheduler().runTaskLater(Core.getInstance(), () -> {
|
|
final double x1 = e.getFrom().getY();
|
|
final double x2 = p.getLocation().getY();
|
|
double fark = 0.0;
|
|
if (x1 > x2) {
|
|
fark = x1 - x2;
|
|
} else if (x2 > x1) {
|
|
fark = x2 - x1;
|
|
} else {
|
|
fark = 200.0;
|
|
}
|
|
if (!players.contains(p)) {
|
|
return;
|
|
}
|
|
if (fark == 0.125 || fark == 1.0 || fark == 1.3 || fark == 0.6190840103302007 || fark == 0.4414162352399398 || fark == 200.0) {
|
|
//TODO: change to real warn reason
|
|
p.warn(WarnReason.SPAM, null, "https://players.univento.eu/" + p.getUniqueId().toString() + "/hacks");
|
|
}
|
|
}, 6L);
|
|
}
|
|
} |