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

41 lines
1.3 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.core.api.player.CustomPlayer;
import org.bukkit.block.Block;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
public class Reach implements Listener{
@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(damager.getLocation().distance(p.getLocation()) > 4.0) {
e.setCancelled(true);
//p.warn(Hack.REACH);
}
}
}
@EventHandler
public void onBlockBreak(BlockBreakEvent e) {
CustomPlayer p = CustomPlayer.getPlayer(e.getPlayer());
Block b = e.getBlock();
if(p.getWorld() != b.getWorld()) return;
if(p.getLocation().distance(b.getLocation()) > 6.1) {
e.setCancelled(true);
//p.warn(Hack.REACH);
}
}
}