diff --git a/pom.xml b/pom.xml index d85bef8..fdb97d1 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,6 @@ UTF-8 UTF-8 - diff --git a/src/main/java/me/seetch/basicspawnprotection/EventListener.java b/src/main/java/me/seetch/basicspawnprotection/EventListener.java index ca1951c..b729869 100644 --- a/src/main/java/me/seetch/basicspawnprotection/EventListener.java +++ b/src/main/java/me/seetch/basicspawnprotection/EventListener.java @@ -7,6 +7,7 @@ import cn.nukkit.event.EventPriority; import cn.nukkit.event.Listener; import cn.nukkit.event.block.*; +import cn.nukkit.event.entity.EntityDamageByEntityEvent; import cn.nukkit.event.entity.EntityDamageEvent; import cn.nukkit.event.entity.EntityExplodeEvent; import cn.nukkit.event.player.PlayerDropItemEvent; @@ -81,6 +82,7 @@ public void onEntityExplode(EntityExplodeEvent event) { } } + @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST) public void onPlayerDropItem(PlayerDropItemEvent event) { if (this.checkSpawnProtection(event.getPlayer())) { event.setCancelled(); @@ -99,6 +101,14 @@ public void onEntityDamage(EntityDamageEvent event) { if (this.checkSpawnProtection(event.getEntity())) { event.setCancelled(); } + + if (event instanceof EntityDamageByEntityEvent) { + Entity damager = ((EntityDamageByEntityEvent) event).getDamager(); + + if (this.checkSpawnProtection(damager)) { + event.setCancelled(); + } + } } @EventHandler(ignoreCancelled = true, priority = EventPriority.HIGHEST)