From 0993e6cbd19b2c4d183a1c93c5ff87320ef46faf Mon Sep 17 00:00:00 2001 From: Dinnerbone Date: Thu, 7 Jul 2011 20:29:57 +0100 Subject: [PATCH] Okay, back to arbitrary offsets! --- .../java/net/minecraft/server/WorldMap.java | 20 ++++++++++--------- .../org/bukkit/craftbukkit/CraftServer.java | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java index 138b4e3052..92eac2e753 100644 --- a/src/main/java/net/minecraft/server/WorldMap.java +++ b/src/main/java/net/minecraft/server/WorldMap.java @@ -37,15 +37,17 @@ public class WorldMap extends WorldMapBase { // CraftBukkit start byte dimension = nbttagcompound.c("dimension"); - this.worldUID = nbttagcompound.getLong("WorldUID"); - CraftWorld world = (CraftWorld) server.getWorld(this.worldUID); - // Check if the stored world details are correct. - if (world == null) { - /* All Maps which do not have their valid world loaded are set to a dimension which hopefully won't be reached. - This is to prevent them being corrupted with the wrong map data. */ - dimension = 127; - } else { - dimension = (byte) world.getHandle().dimension; + if (dimension >= 10) { + this.worldUID = nbttagcompound.getLong("WorldUID"); + CraftWorld world = (CraftWorld) server.getWorld(this.worldUID); + // Check if the stored world details are correct. + if (world == null) { + /* All Maps which do not have their valid world loaded are set to a dimension which hopefully won't be reached. + This is to prevent them being corrupted with the wrong map data. */ + dimension = 127; + } else { + dimension = (byte) world.getHandle().dimension; + } } this.map = dimension; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java index 536a34a57a..30a382c01b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -393,7 +393,7 @@ public final class CraftServer implements Server { converter.convert(name, new ConvertProgressUpdater(console)); } - int dimension = Environment.values().length + 1 + console.worlds.size(); + int dimension = 10 + console.worlds.size(); WorldServer internal = new WorldServer(console, new ServerNBTManager(new File("."), name, true), name, dimension, seed, environment, generator); internal.worldMaps = console.worlds.get(0).worldMaps;