Various minor

fix undo null sections
fix cancel for certain parallel jobs
optimize schem paste
This commit is contained in:
Jesse Boyd
2019-11-17 22:47:56 +00:00
parent 0394f3516b
commit 0087a0d6ab
11 changed files with 49 additions and 36 deletions

View File

@ -21,12 +21,15 @@ package com.sk89q.worldedit.extent;
import static com.google.common.base.Preconditions.checkNotNull;
import com.boydti.fawe.FaweCache;
import com.boydti.fawe.beta.implementation.filter.block.ExtentFilterBlock;
import com.boydti.fawe.beta.Filter;
import com.boydti.fawe.beta.IBatchProcessor;
import com.boydti.fawe.object.changeset.FaweChangeSet;
import com.boydti.fawe.object.clipboard.WorldCopyClipboard;
import com.boydti.fawe.object.exception.FaweException;
import com.boydti.fawe.object.extent.NullExtent;
import com.boydti.fawe.util.ExtentTraverser;
import com.sk89q.worldedit.MaxChangedBlocksException;
import com.sk89q.worldedit.WorldEditException;
import com.sk89q.worldedit.entity.BaseEntity;
@ -453,6 +456,18 @@ public interface Extent extends InputExtent, OutputExtent {
}
default boolean cancel() {
ExtentTraverser<Extent> traverser = new ExtentTraverser<>(this);
NullExtent nullExtent = new NullExtent(this, FaweCache.MANUAL);
ExtentTraverser<Extent> next = traverser.next();
if (next != null) {
Extent child = next.get();
if (child instanceof NullExtent) return true;
traverser.setNext(nullExtent);
child.cancel();
}
addProcessor(nullExtent);
return true;
}