package tv.mineinthebox.essentials.events.pvp; import org.bukkit.GameMode; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.hook.Hooks; public class FakePvpEvent implements Listener { private final xEssentials pl; public FakePvpEvent(xEssentials pl) { this.pl = pl; } @EventHandler(priority = EventPriority.LOW) public void onDamage(EntityDamageByEntityEvent e) { if(e.getEntity() instanceof Player && e.getDamager() instanceof Player) { Player p = (Player) e.getEntity(); Player dam = (Player) e.getDamager(); if(p.getGameMode() != GameMode.SURVIVAL) { e.setCancelled(true); } else { if(dam.getItemInHand().containsEnchantment(Enchantment.FIRE_ASPECT)) { e.setCancelled(true); } else { if(Hooks.isWorldGuardEnabled()) { if(pl.getManagers().getWorldGuardManager().isInRegion(p.getLocation())) { e.setCancelled(true); return; } } e.setDamage(0.001); } } } } }