Fix some minor ordering bugs

This commit is contained in:
Kenzie Togami 2018-10-10 12:23:00 -07:00
parent 7d4906cfe9
commit 2824a92c19
No known key found for this signature in database
GPG Key ID: 5D200B325E157A81
2 changed files with 6 additions and 2 deletions

View File

@ -192,7 +192,6 @@ public class EditSession implements Extent {
extent = fastModeExtent = new FastModeExtent(world, false); extent = fastModeExtent = new FastModeExtent(world, false);
extent = survivalExtent = new SurvivalModeExtent(extent, world); extent = survivalExtent = new SurvivalModeExtent(extent, world);
extent = quirkExtent = new BlockQuirkExtent(extent, world); extent = quirkExtent = new BlockQuirkExtent(extent, world);
extent = chunkBatchingExtent = new ChunkBatchingExtent(extent);
extent = chunkLoadingExtent = new ChunkLoadingExtent(extent, world); extent = chunkLoadingExtent = new ChunkLoadingExtent(extent, world);
extent = cacheExtent = new LastAccessExtentCache(extent); extent = cacheExtent = new LastAccessExtentCache(extent);
extent = wrapExtent(extent, eventBus, event, Stage.BEFORE_CHANGE); extent = wrapExtent(extent, eventBus, event, Stage.BEFORE_CHANGE);
@ -201,6 +200,7 @@ public class EditSession implements Extent {
// This extent can be skipped by calling rawSetBlock() // This extent can be skipped by calling rawSetBlock()
extent = reorderExtent = new MultiStageReorder(extent, false); extent = reorderExtent = new MultiStageReorder(extent, false);
extent = chunkBatchingExtent = new ChunkBatchingExtent(extent);
extent = wrapExtent(extent, eventBus, event, Stage.BEFORE_REORDER); extent = wrapExtent(extent, eventBus, event, Stage.BEFORE_REORDER);
// These extents can be skipped by calling smartSetBlock() // These extents can be skipped by calling smartSetBlock()

View File

@ -90,10 +90,14 @@ public class ChunkBatchingExtent extends AbstractDelegateExtent {
} }
return new Operation() { return new Operation() {
private final Iterator<LocatedBlockList> batchIterator = batches.values().iterator(); // we get modified between create/resume -- only create this on resume to prevent CME
private Iterator<LocatedBlockList> batchIterator;
@Override @Override
public Operation resume(RunContext run) throws WorldEditException { public Operation resume(RunContext run) throws WorldEditException {
if (batchIterator == null) {
batchIterator = batches.values().iterator();
}
if (!batchIterator.hasNext()) { if (!batchIterator.hasNext()) {
return null; return null;
} }