From 971329c42b2a4242da1f5789ce6759c810779a6f Mon Sep 17 00:00:00 2001 From: feildmaster Date: Sat, 2 Aug 2014 16:03:50 -0500 Subject: Fix removal of items from Item Frames. Fixes BUKKIT-5736 --- src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/main/java/org') diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java index 2c0065df..c6c7f23b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -564,8 +564,12 @@ public class CraftEventFactory { return handleEntityDamageEvent(damagee, source, modifiers, modifierFunctions); } - // Non-Living Entities such as EntityEnderCrystal, EntityItemFrame, and EntityFireball need to call this + // Non-Living Entities such as EntityEnderCrystal and EntityFireball need to call this public static boolean handleNonLivingEntityDamageEvent(Entity entity, DamageSource source, double damage) { + return handleNonLivingEntityDamageEvent(entity, source, damage, true); + } + + public static boolean handleNonLivingEntityDamageEvent(Entity entity, DamageSource source, double damage, boolean cancelOnZeroDamage) { if (entity instanceof EntityEnderCrystal && !(source instanceof EntityDamageSource)) { return false; } @@ -580,7 +584,7 @@ public class CraftEventFactory { if (event == null) { return false; } - return event.isCancelled() || event.getDamage() == 0; + return event.isCancelled() || (cancelOnZeroDamage && event.getDamage() == 0); } public static PlayerLevelChangeEvent callPlayerLevelChangeEvent(Player player, int oldLevel, int newLevel) { -- cgit v1.2.3