From 305e5f4f08a39976857ad9af61bfcf77fc9bfa78 Mon Sep 17 00:00:00 2001 From: Travis Watkins Date: Mon, 9 Dec 2013 13:40:52 -0600 Subject: [PATCH] Handle null damage events for item frames. Fixes BUKKIT-5114 Some types of damage are handled specially so do not end up returning an event in handleEntityDamageEvent. To ensure we don't have problems with these we need to check for them and simply ignore them, as they've been handled already. --- src/main/java/net/minecraft/server/EntityItemFrame.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java index 059a1e8a65..12d0506494 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java @@ -24,10 +24,12 @@ public class EntityItemFrame extends EntityHanging { } else if (this.getItem() != null) { if (!this.world.isStatic) { // CraftBukkit start - if (org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(this, damagesource, f).isCancelled() || this.dead) { - return false; + org.bukkit.event.entity.EntityDamageEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(this, damagesource, f); + if ((event != null && event.isCancelled()) || this.dead) { + return true; } // CraftBukkit end + this.b(damagesource.getEntity(), false); this.setItem((ItemStack) null); }