From 10f46b5fead01b61838189525dc57580e9e6d43d Mon Sep 17 00:00:00 2001 From: speakeasy Date: Sat, 22 Jan 2011 11:29:47 +0800 Subject: [PATCH] Fix NPE from location incorrectly being implemented in Explosion. --- src/main/java/net/minecraft/server/Explosion.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java index e8a65dc833..3344eb3527 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -29,10 +29,6 @@ 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(); @@ -44,7 +40,6 @@ public class Explosion { c = d2; d = d3; - location = entity.getBukkitEntity().getLocation(); } public void a() { @@ -189,6 +184,7 @@ public class Explosion { Server server = ((WorldServer) i).getServer(); CraftWorld world = ((WorldServer) i).getWorld(); org.bukkit.entity.Entity splode = (e == null) ? null : e.getBukkitEntity(); + Location location = new Location(world, b, c, d); List blocklist = new ArrayList(); for (int j = arraylist.size() - 1; j >= 0; j--) { @@ -198,7 +194,7 @@ public class Explosion { blocklist.add(blox); } } - + org.bukkit.event.Event.Type eventType = EntityExplodeEvent.Type.ENTITY_EXPLODE; EntityExplodeEvent eee = new EntityExplodeEvent(eventType, splode, location, blocklist); server.getPluginManager().callEvent(eee);