diff --git a/pom.xml b/pom.xml index b3e39f5..d9a1b17 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ cn.lunadeer Dominion - 1.42.8-beta + 1.42.9-beta jar Dominion diff --git a/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java b/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java index 5fb1028..d56dc7d 100644 --- a/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java +++ b/src/main/java/cn/lunadeer/dominion/events/EnvironmentEvents.java @@ -53,24 +53,24 @@ public class EnvironmentEvents implements Listener { if (entity.getType() != EntityType.ARMOR_STAND) { return; } + if (event.getDamager() instanceof Player) { + return; + } DominionDTO dom = Cache.instance.getDominionByLoc(entity.getLocation()); checkFlag(dom, Flag.CREEPER_EXPLODE, event); } - @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode - other entity shoot + @EventHandler(priority = EventPriority.HIGHEST) // creeper_explode - other projectiles public void removeSomeOnItemFrameByArrow(EntityDamageByEntityEvent event) { Entity entity = event.getEntity(); if (!(entity instanceof ItemFrame)) { return; } ItemFrame itemFrame = (ItemFrame) entity; - if (itemFrame.getItem().getType() == Material.AIR) { + if (!(event.getDamager() instanceof Projectile)) { return; } - if (!(event.getDamager() instanceof Arrow)) { - return; - } - Arrow arrow = (Arrow) event.getDamager(); + Projectile arrow = (Projectile) event.getDamager(); if (arrow.getShooter() instanceof Player) { return; }