summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/net/minecraft/server/Entity.java12
-rw-r--r--src/main/java/net/minecraft/server/EntityHuman.java8
2 files changed, 18 insertions, 2 deletions
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index d11786c9..0937d2eb 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -980,7 +980,17 @@ public abstract class Entity {
// CraftBukkit end
// CraftBukkit Start - reset world
- org.bukkit.World world = Bukkit.getServer().getWorld(nbttagcompound.getString("World"));
+ org.bukkit.World world = null;
+ if (this instanceof EntityPlayer) {
+ EntityPlayer entityPlayer = (EntityPlayer) this;
+ String worldName = nbttagcompound.getString("World");
+ if (worldName == "") {
+ world = (org.bukkit.World) ((CraftServer) Bukkit.getServer()).getServer().a(entityPlayer.dimension);
+ } else {
+ world = Bukkit.getServer().getWorld(worldName);
+ }
+ }
+
a(world == null ? null : ((CraftWorld) world).getHandle());
// CraftBukkit End
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
index 9d43ae5c..5b01faae 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -341,7 +341,13 @@ public abstract class EntityHuman extends EntityLiving {
this.a(true, true, false);
}
- this.spawnWorld = nbttagcompound.getString("SpawnWorld"); // CraftBukkit
+ // CraftBukkit - Start
+ this.spawnWorld = nbttagcompound.getString("SpawnWorld");
+ if (this.spawnWorld == "") {
+ CraftServer server = ((WorldServer) world).getServer();
+ this.spawnWorld = server.getWorlds().get(0).getName();
+ }
+ // CraftBukkit - End
if (nbttagcompound.hasKey("SpawnX") && nbttagcompound.hasKey("SpawnY") && nbttagcompound.hasKey("SpawnZ")) {
this.b = new ChunkCoordinates(nbttagcompound.e("SpawnX"), nbttagcompound.e("SpawnY"), nbttagcompound.e("SpawnZ"));