Fix crash caused by tnt destroying item frames

This commit is contained in:
md_5 2013-12-06 20:32:13 +11:00
parent d8487572a0
commit b51765cc5d

View file

@ -1,18 +1,20 @@
From 44a4aeef7c0503db9894cd45b16d0dc8a93848f6 Mon Sep 17 00:00:00 2001 From 86d7a42c6a245d2f9675abb33bf63d9f076bffe9 Mon Sep 17 00:00:00 2001
From: md_5 <md_5@live.com.au> From: md_5 <md_5@live.com.au>
Date: Thu, 5 Dec 2013 18:41:32 +1100 Date: Thu, 5 Dec 2013 18:41:32 +1100
Subject: [PATCH] Fire EntityDamageByEntityEvent for ItemFrames 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 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 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java
+++ b/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; return false;
} else if (this.getItem() != null) { } else if (this.getItem() != null) {
if (!this.world.isStatic) { if (!this.world.isStatic) {
+ // Spigot Start + // Spigot Start
+ if ( damagesource.getEntity() != null )
+ {
+ org.bukkit.event.entity.EntityDamageByEntityEvent event = new org.bukkit.event.entity.EntityDamageByEntityEvent( + 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 ); + damagesource.getEntity().getBukkitEntity(), getBukkitEntity(), org.bukkit.event.entity.EntityDamageEvent.DamageCause.ENTITY_ATTACK, f );
+ getBukkitEntity().getServer().getPluginManager().callEvent( event ); + getBukkitEntity().getServer().getPluginManager().callEvent( event );
@ -20,6 +22,7 @@ index 261d0c1..58d0d26 100644
+ { + {
+ return false; + return false;
+ } + }
+ }
+ // Spigot End + // Spigot End
this.b(damagesource.getEntity(), false); this.b(damagesource.getEntity(), false);
this.setItem((ItemStack) null); this.setItem((ItemStack) null);