diff options
Diffstat (limited to 'src/main/java/net')
-rw-r--r-- | src/main/java/net/minecraft/server/ChunkProviderServer.java | 11 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/LongHashtable.java | 21 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/World.java | 6 |
3 files changed, 30 insertions, 8 deletions
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java index ae85702e..4ff1ffa6 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -106,7 +106,16 @@ public class ChunkProviderServer implements IChunkProvider { public Chunk b(int i, int j) { Chunk chunk = (Chunk) this.e.get(i, j); // CraftBukkit - return chunk == null ? (this.g.r ? this.d(i, j) : this.b) : chunk; + chunk = chunk == null ? (this.g.r ? this.d(i, j) : this.b) : chunk; + if(chunk == this.b) return chunk; + if(i != chunk.j || j != chunk.k) { + MinecraftServer.a.info("Chunk (" + chunk.j + ", " + chunk.k +") stored at (" + i + ", " + j + ")"); + MinecraftServer.a.info(chunk.getClass().getName()); + Throwable x = new Throwable(); + x.fillInStackTrace(); + x.printStackTrace(); + } + return chunk; } public Chunk e(int i, int j) { // CraftBukkit - private->public diff --git a/src/main/java/net/minecraft/server/LongHashtable.java b/src/main/java/net/minecraft/server/LongHashtable.java index d3b1474c..b9dc00e1 100644 --- a/src/main/java/net/minecraft/server/LongHashtable.java +++ b/src/main/java/net/minecraft/server/LongHashtable.java @@ -10,10 +10,29 @@ public class LongHashtable<V> extends LongHash public void put(int msw, int lsw, V value) { put(toLong(msw, lsw), value); + if(value instanceof Chunk) { + Chunk c = (Chunk)value; + if(msw != c.j || lsw != c.k) { + MinecraftServer.a.info("Chunk (" + c.j + ", " + c.k +") stored at (" + msw + ", " + lsw + ")"); + Throwable x = new Throwable(); + x.fillInStackTrace(); + x.printStackTrace(); + } + } } public V get(int msw, int lsw) { - return get(toLong(msw, lsw)); + V value = get(toLong(msw, lsw)); + if(value instanceof Chunk) { + Chunk c = (Chunk)value; + if(msw != c.j || lsw != c.k) { + MinecraftServer.a.info("Chunk (" + c.j + ", " + c.k +") stored at (" + msw + ", " + lsw + ")"); + Throwable x = new Throwable(); + x.fillInStackTrace(); + x.printStackTrace(); + } + } + return value; } public void put(long key, V value) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java index 50c07c1a..c990a9d6 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -203,12 +203,6 @@ public class World implements IBlockAccess { } result = lastChunkAccessed; } - if(result.j != i || result.k != j) { - if(this instanceof WorldServer) { - WorldServer ws = (WorldServer) this; - MinecraftServer.a.severe("Chunk fetched was not the chunk requested."); - } - } return result; } // CraftBukkit end |