scanchunk

This commit is contained in:
Jesse Boyd
2019-05-06 15:57:12 +10:00
parent d603f45063
commit 459629a2f2
9 changed files with 231 additions and 101 deletions

View File

@ -181,13 +181,12 @@ public abstract class QueueHandler implements Trimable, Runnable {
// Initialize
chunk.init(queue, X, Z);
chunk = newFilter.applyChunk(chunk, region);
if (chunk == null) continue;
if (block == null) block = queue.initFilterBlock();
chunk.filter(newFilter, block, region, mbv1, mbv2);
IChunk newChunk = newFilter.applyChunk(chunk, region);
if (newChunk != null) {
chunk = newChunk;
if (block == null) block = queue.initFilterBlock();
chunk.filter(newFilter, block, region, mbv1, mbv2);
}
queue.submit(chunk);
}
queue.flush();

View File

@ -19,10 +19,8 @@ public class FuzzyRegion extends AbstractRegion {
private final Mask mask;
private BlockVectorSet set = new BlockVectorSet();
private boolean populated;
private int minX, minY, minZ, maxX, maxY, maxZ;
private Extent extent;
private int count = 0;
{
minX = minY = minZ = Integer.MAX_VALUE;
@ -59,7 +57,7 @@ public class FuzzyRegion extends AbstractRegion {
@Override
public Iterator<BlockVector3> iterator() {
return (Iterator) set.iterator();
return set.iterator();
}
private final void setMinMax(int x, int y, int z) {

View File

@ -6,6 +6,7 @@ import com.sk89q.worldedit.function.mask.Mask;
import com.sk89q.worldedit.function.visitor.RecursiveVisitor;
import com.sk89q.worldedit.math.BlockVector3;
import java.util.Arrays;
import java.util.Collection;
@ -39,14 +40,14 @@ public class AboveVisitor extends RecursiveVisitor {
this.baseY = baseY;
Collection<BlockVector3> directions = getDirections();
directions.clear();
directions.add(BlockVector3.at(1, 0, 0));
directions.add(BlockVector3.at(-1, 0, 0));
directions.add(BlockVector3.at(0, 0, 1));
directions.add(BlockVector3.at(0, 0, -1));
directions.add(BlockVector3.at(0, 1, 0));
directions.add(BlockVector3.at(0, -1, 0));
setDirections(
BlockVector3.at(1, 0, 0),
BlockVector3.at(-1, 0, 0),
BlockVector3.at(0, 0, 1),
BlockVector3.at(0, 0, -1),
BlockVector3.at(0, 1, 0),
BlockVector3.at(0, -1, 0)
);
}
@Override