From b51765cc5d2d05bcc51b336c6818e56446cc92ed Mon Sep 17 00:00:00 2001 From: md_5 Date: Fri, 6 Dec 2013 20:32:13 +1100 Subject: [PATCH] Fix crash caused by tnt destroying item frames --- ...tyDamageByEntityEvent-for-ItemFrames.patch | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/CraftBukkit-Patches/0073-Fire-EntityDamageByEntityEvent-for-ItemFrames.patch b/CraftBukkit-Patches/0073-Fire-EntityDamageByEntityEvent-for-ItemFrames.patch index 3dba71856..eae5ccfee 100644 --- a/CraftBukkit-Patches/0073-Fire-EntityDamageByEntityEvent-for-ItemFrames.patch +++ b/CraftBukkit-Patches/0073-Fire-EntityDamageByEntityEvent-for-ItemFrames.patch @@ -1,24 +1,27 @@ -From 44a4aeef7c0503db9894cd45b16d0dc8a93848f6 Mon Sep 17 00:00:00 2001 +From 86d7a42c6a245d2f9675abb33bf63d9f076bffe9 Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 5 Dec 2013 18:41:32 +1100 Subject: [PATCH] Fire EntityDamageByEntityEvent for ItemFrames diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java -index 261d0c1..58d0d26 100644 +index 261d0c1..0fdcffe 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java -@@ -23,6 +23,15 @@ public class EntityItemFrame extends EntityHanging { +@@ -23,6 +23,18 @@ public class EntityItemFrame extends EntityHanging { return false; } else if (this.getItem() != null) { if (!this.world.isStatic) { + // Spigot Start -+ org.bukkit.event.entity.EntityDamageByEntityEvent event = new org.bukkit.event.entity.EntityDamageByEntityEvent( -+ damagesource.getEntity().getBukkitEntity(), getBukkitEntity(), org.bukkit.event.entity.EntityDamageEvent.DamageCause.ENTITY_ATTACK, f ); -+ getBukkitEntity().getServer().getPluginManager().callEvent( event ); -+ if ( event.isCancelled() ) ++ if ( damagesource.getEntity() != null ) + { -+ return false; ++ org.bukkit.event.entity.EntityDamageByEntityEvent event = new org.bukkit.event.entity.EntityDamageByEntityEvent( ++ damagesource.getEntity().getBukkitEntity(), getBukkitEntity(), org.bukkit.event.entity.EntityDamageEvent.DamageCause.ENTITY_ATTACK, f ); ++ getBukkitEntity().getServer().getPluginManager().callEvent( event ); ++ if ( event.isCancelled() ) ++ { ++ return false; ++ } + } + // Spigot End this.b(damagesource.getEntity(), false);