summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/WorldMap.java
diff options
context:
space:
mode:
authorTahg <tahgtahv@gmail.com>2011-07-13 00:06:07 -0400
committerTahg <tahgtahv@gmail.com>2011-07-13 00:06:07 -0400
commitd0f904fc50c7301ead51634f8f774664e4a707b0 (patch)
treebd21b4716c8fd164829737b125e964511bf9192d /src/main/java/net/minecraft/server/WorldMap.java
parent83fd8fad6997bd438e0a2f8d1bccfd6d9c1cbd56 (diff)
downloadcraftbukkit-d0f904fc50c7301ead51634f8f774664e4a707b0.tar
craftbukkit-d0f904fc50c7301ead51634f8f774664e4a707b0.tar.gz
craftbukkit-d0f904fc50c7301ead51634f8f774664e4a707b0.tar.lz
craftbukkit-d0f904fc50c7301ead51634f8f774664e4a707b0.tar.xz
craftbukkit-d0f904fc50c7301ead51634f8f774664e4a707b0.zip
uuid changes
Diffstat (limited to 'src/main/java/net/minecraft/server/WorldMap.java')
-rw-r--r--src/main/java/net/minecraft/server/WorldMap.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java
index 92eac2e7..6f2eff71 100644
--- a/src/main/java/net/minecraft/server/WorldMap.java
+++ b/src/main/java/net/minecraft/server/WorldMap.java
@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.UUID;
// CraftBukkit start
import org.bukkit.Bukkit;
@@ -25,7 +26,7 @@ public class WorldMap extends WorldMapBase {
// CraftBukkit start
private CraftServer server;
- private long worldUID = 0L;
+ private UUID uniqueId = null;
// CraftBukkit end
public WorldMap(String s) {
@@ -38,8 +39,13 @@ public class WorldMap extends WorldMapBase {
byte dimension = nbttagcompound.c("dimension");
if (dimension >= 10) {
- this.worldUID = nbttagcompound.getLong("WorldUID");
- CraftWorld world = (CraftWorld) server.getWorld(this.worldUID);
+ long least = nbttagcompound.getLong("UUIDLeast");
+ long most = nbttagcompound.getLong("UUIDMost");
+
+ if (least != 0L && most != 0L) {
+ this.uniqueId = new UUID(most, least);
+ }
+ CraftWorld world = (CraftWorld) server.getWorld(this.uniqueId);
// 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.
@@ -94,16 +100,17 @@ public class WorldMap extends WorldMapBase {
public void b(NBTTagCompound nbttagcompound) {
// CraftBukkit start
if (this.map >= 10) {
- if (this.worldUID == 0L) {
+ if (this.uniqueId == null) {
for (org.bukkit.World world : server.getWorlds()) {
CraftWorld cWorld = (CraftWorld) world;
if (cWorld.getHandle().dimension == this.map) {
- this.worldUID = cWorld.getUID();
+ this.uniqueId = cWorld.getUID();
break;
}
}
}
- nbttagcompound.setLong("WorldUID", this.worldUID);
+ nbttagcompound.setLong("UUIDLeast", this.uniqueId.getLeastSignificantBits());
+ nbttagcompound.setLong("UUIDMost", this.uniqueId.getMostSignificantBits());
}
// CraftBukkit end
nbttagcompound.a("dimension", this.map);