From 5555265e9b31b9fda756d002eed69fedc80527b7 Mon Sep 17 00:00:00 2001 From: Adam Tanner Date: Sat, 22 Jan 2011 00:39:58 +0800 Subject: [PATCH] Explosion remembers its Location. --- src/main/java/net/minecraft/server/Explosion.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java index 8154670de3..e8a65dc833 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -11,6 +11,8 @@ import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; +import org.bukkit.Location; + // CraftBukkit end import java.util.*; @@ -27,6 +29,10 @@ public class Explosion { public float f; public Set g; + // CraftBukkit + // Retain where the explosion happened because the Entity no longer exists after explosion. + private Location location; + public Explosion(World world, Entity entity, double d1, double d2, double d3, float f1) { a = false; h = new Random(); @@ -37,6 +43,8 @@ public class Explosion { b = d1; c = d2; d = d3; + + location = entity.getBukkitEntity().getLocation(); } public void a() { @@ -192,7 +200,7 @@ public class Explosion { } org.bukkit.event.Event.Type eventType = EntityExplodeEvent.Type.ENTITY_EXPLODE; - EntityExplodeEvent eee = new EntityExplodeEvent(eventType, splode, blocklist); + EntityExplodeEvent eee = new EntityExplodeEvent(eventType, splode, location, blocklist); server.getPluginManager().callEvent(eee); if (eee.isCancelled()) {