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

40 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.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
/**
* @author joethei
* @version 0.1
*/
public class SelfHit implements Listener {
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent e) {
if(!e.isCancelled() && e.getEntity() instanceof Player && e.getDamager() instanceof Player) {
CustomPlayer p = (CustomPlayer) e.getEntity();
CustomPlayer damager = (CustomPlayer) e.getDamager();
if(damager.equals(p)) {
e.setCancelled(true);
e.setDamage(0.0D);
}
}
if(!e.isCancelled() && e.getEntity() instanceof Player && e.getDamager() instanceof Projectile) {
CustomPlayer p = (CustomPlayer) e.getEntity();
Projectile projectile = (Projectile) e.getDamager();
if(projectile.getShooter().equals(p)) {
e.setCancelled(true);
e.setDamage(0.0D);
}
}
}
}