Potential fix for anvil issues
This commit is contained in:
parent
c836e0ef68
commit
a703bba082
|
@ -670,6 +670,7 @@ public class MCAFile {
|
||||||
pool.awaitQuiescence(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
|
pool.awaitQuiescence(Long.MAX_VALUE, TimeUnit.MILLISECONDS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
chunks.clear();
|
||||||
}
|
}
|
||||||
IterableThreadLocal.clean(byteStore1);
|
IterableThreadLocal.clean(byteStore1);
|
||||||
IterableThreadLocal.clean(byteStore2);
|
IterableThreadLocal.clean(byteStore2);
|
||||||
|
|
|
@ -70,6 +70,10 @@ public class MCAQueue extends NMSMappedFaweQueue<FaweQueue, FaweChunk, FaweChunk
|
||||||
this.hasSky = hasSky;
|
this.hasSky = hasSky;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hasParent() {
|
||||||
|
return parent != null || parentNMS != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FaweChunk loadChunk(FaweQueue faweQueue, int x, int z, boolean generate) {
|
public FaweChunk loadChunk(FaweQueue faweQueue, int x, int z, boolean generate) {
|
||||||
return getFaweChunk(x, z);
|
return getFaweChunk(x, z);
|
||||||
|
|
|
@ -193,6 +193,8 @@ public class MCAQueueMap implements IFaweQueueMap {
|
||||||
lastZ = Integer.MIN_VALUE;
|
lastZ = Integer.MIN_VALUE;
|
||||||
lastFileX = Integer.MIN_VALUE;
|
lastFileX = Integer.MIN_VALUE;
|
||||||
lastFileZ = Integer.MIN_VALUE;
|
lastFileZ = Integer.MIN_VALUE;
|
||||||
|
lastChunk = null;
|
||||||
|
lastFile = null;
|
||||||
if (!mcaFileMap.isEmpty()) {
|
if (!mcaFileMap.isEmpty()) {
|
||||||
Iterator<Map.Entry<Long, MCAFile>> iter = mcaFileMap.entrySet().iterator();
|
Iterator<Map.Entry<Long, MCAFile>> iter = mcaFileMap.entrySet().iterator();
|
||||||
boolean result;
|
boolean result;
|
||||||
|
|
|
@ -1309,7 +1309,7 @@ public class EditSession extends AbstractDelegateExtent implements HasFaweQueue,
|
||||||
queue.dequeue();
|
queue.dequeue();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Fawe.isMainThread()) {
|
if (Fawe.isMainThread() && (!(queue instanceof MCAQueue) || ((MCAQueue) queue).hasParent())) {
|
||||||
SetQueue.IMP.flush(queue);
|
SetQueue.IMP.flush(queue);
|
||||||
} else {
|
} else {
|
||||||
queue.flush();
|
queue.flush();
|
||||||
|
|
Loading…
Reference in New Issue