geforkt von Mirrors/Paper
more chunk fixes
Dieser Commit ist enthalten in:
Ursprung
41e136b880
Commit
c0b940d619
@ -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) {
|
||||
|
@ -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];
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren