diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/net/minecraft/server/Explosion.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java index 8154670d..e8a65dc8 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()) { |