diff options
author | Tahg <tahgtahv@gmail.com> | 2011-02-11 02:01:32 -0500 |
---|---|---|
committer | Tahg <tahgtahv@gmail.com> | 2011-02-11 02:01:32 -0500 |
commit | c0b940d619b95fd14c9e746337afff314341a422 (patch) | |
tree | 017aa67a20db0a95d81ede31c84db7265736ec9e /src/main/java/net | |
parent | 41e136b880ad05c91e077d6d349a3d30010692f8 (diff) | |
download | craftbukkit-c0b940d619b95fd14c9e746337afff314341a422.tar craftbukkit-c0b940d619b95fd14c9e746337afff314341a422.tar.gz craftbukkit-c0b940d619b95fd14c9e746337afff314341a422.tar.lz craftbukkit-c0b940d619b95fd14c9e746337afff314341a422.tar.xz craftbukkit-c0b940d619b95fd14c9e746337afff314341a422.zip |
more chunk fixes
Diffstat (limited to 'src/main/java/net')
-rw-r--r-- | src/main/java/net/minecraft/server/ChunkProviderServer.java | 26 | ||||
-rw-r--r-- | src/main/java/net/minecraft/server/LongHashset.java | 6 |
2 files changed, 16 insertions, 16 deletions
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java index 376ff355..aab4bdef 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -196,20 +196,18 @@ public class ChunkProviderServer implements IChunkProvider { public boolean a() { if (!this.g.C) { - for (int i = 0; i < 100; ++i) { - if (!this.a.isEmpty()) { - // CraftBukkit start - long chunkcoordinates = this.a.popFirst(); - Chunk chunk = e.get(chunkcoordinates); - if (chunk == null) continue; - // CraftBukkit end - chunk.e(); - this.b(chunk); - this.a(chunk); - this.a.remove(chunkcoordinates); - this.e.remove(chunkcoordinates); - this.f.remove(chunk); - } + while (!this.a.isEmpty()) { + // CraftBukkit start + long chunkcoordinates = this.a.popFirst(); + Chunk chunk = e.get(chunkcoordinates); + if (chunk == null) continue; + // CraftBukkit end + chunk.e(); + this.b(chunk); + this.a(chunk); + this.a.remove(chunkcoordinates); + this.e.remove(chunkcoordinates); + this.f.remove(chunk); } if (this.d != null) { diff --git a/src/main/java/net/minecraft/server/LongHashset.java b/src/main/java/net/minecraft/server/LongHashset.java index 5e565a58..c9c7b81f 100644 --- a/src/main/java/net/minecraft/server/LongHashset.java +++ b/src/main/java/net/minecraft/server/LongHashset.java @@ -32,7 +32,7 @@ public class LongHashset<V> extends LongHash<V> { return; } } - outer[0] = inner = Arrays.copyOf(inner, i+1); + outer[outerIdx] = inner = Arrays.copyOf(inner, i+1); inner[i] = key; count++; } @@ -82,12 +82,14 @@ public class LongHashset<V> extends LongHash<V> { count--; long ret = inner[inner.length - 1]; outer[i] = Arrays.copyOf(inner, inner.length - 1); + System.err.println("Removing chunk (" + msw(ret) + ", " + lsw(ret) + ")"); return ret; + } } return 0; } - + public long[] keys() { int index = 0; long ret[] = new long[count]; |