From f2d7135fc5ca83f32e5815a7446c38b81e7a2a26 Mon Sep 17 00:00:00 2001 From: Wizjany Date: Fri, 25 Jan 2013 21:07:11 -0500 Subject: [PATCH] Check shooter of projectile when one hits a hanging entity --- .../sk89q/worldguard/bukkit/WorldGuardHangingListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardHangingListener.java b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardHangingListener.java index 0c5759f4..cf2de4a0 100644 --- a/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardHangingListener.java +++ b/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardHangingListener.java @@ -30,6 +30,7 @@ import org.bukkit.entity.ItemFrame; import org.bukkit.entity.Painting; import org.bukkit.entity.Player; +import org.bukkit.entity.Projectile; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; @@ -79,6 +80,10 @@ public void onHangingingBreak(HangingBreakEvent event) { if (event instanceof HangingBreakByEntityEvent) { HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event; Entity removerEntity = entityEvent.getRemover(); + if (removerEntity instanceof Projectile) { + Projectile projectile = (Projectile) removerEntity; + removerEntity = projectile.getShooter() != null ? projectile.getShooter() : removerEntity; + } if (removerEntity instanceof Player) { Player player = (Player) removerEntity;