diff options
author | EdGruberman <ed@rjump.com> | 2012-12-09 17:37:37 -0600 |
---|---|---|
committer | feildmaster <admin@feildmaster.com> | 2012-12-10 01:40:20 -0600 |
commit | f18b3cdc769e145c0823f4b43ff4f8271fdfb617 (patch) | |
tree | 6f96561fa8e27a6fa1c853b0c5d71475764c50b9 /src/main/java | |
parent | 4d2a92ed475941088d1fee5d28992f2534ba1678 (diff) | |
download | craftbukkit-f18b3cdc769e145c0823f4b43ff4f8271fdfb617.tar craftbukkit-f18b3cdc769e145c0823f4b43ff4f8271fdfb617.tar.gz craftbukkit-f18b3cdc769e145c0823f4b43ff4f8271fdfb617.tar.lz craftbukkit-f18b3cdc769e145c0823f4b43ff4f8271fdfb617.tar.xz craftbukkit-f18b3cdc769e145c0823f4b43ff4f8271fdfb617.zip |
[Bleeding] Fix NPE with a null bedSpawnLocation. Fixes BUKKIT-1500
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/net/minecraft/server/EntityHuman.java | 1 | ||||
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java index 64abd730..1e5723d3 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1094,6 +1094,7 @@ public abstract class EntityHuman extends EntityLiving implements ICommandListen } else { this.c = null; this.d = false; + this.spawnWorld = ""; // CraftBukkit } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index efa4e05a..3c1ff730 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -614,8 +614,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setBedSpawnLocation(Location location, boolean override) { - getHandle().setRespawnPosition(new ChunkCoordinates(location.getBlockX(), location.getBlockY(), location.getBlockZ()), override); - getHandle().spawnWorld = location.getWorld().getName(); + if (location == null) { + getHandle().setRespawnPosition(null, override); + } else { + getHandle().setRespawnPosition(new ChunkCoordinates(location.getBlockX(), location.getBlockY(), location.getBlockZ()), override); + getHandle().spawnWorld = location.getWorld().getName(); + } } public void hidePlayer(Player player) { |