From 0674f39600ecc0b99db47625768060729c9a6e6f Mon Sep 17 00:00:00 2001 From: dordsor21 Date: Tue, 2 Nov 2021 13:34:37 +0000 Subject: [PATCH] Synchronise chunk filtering --- .../extent/filter/block/CharFilterBlock.java | 16 ++++++++-------- .../extent/filter/block/ChunkFilterBlock.java | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/CharFilterBlock.java b/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/CharFilterBlock.java index 2db4ad91a..9cefe420f 100644 --- a/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/CharFilterBlock.java +++ b/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/CharFilterBlock.java @@ -56,7 +56,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public final ChunkFilterBlock initChunk(int chunkX, int chunkZ) { + public synchronized final ChunkFilterBlock initChunk(int chunkX, int chunkZ) { this.chunkX = chunkX; this.chunkZ = chunkZ; this.xx = chunkX << 4; @@ -65,7 +65,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public final ChunkFilterBlock initLayer(IBlocks iget, IChunkSet iset, int layer) { + public synchronized final ChunkFilterBlock initLayer(IBlocks iget, IChunkSet iset, int layer) { this.get = (CharGetBlocks) iget; minLayer = this.get.getMinSectionPosition(); maxLayer = this.get.getMaxSectionPosition(); @@ -88,7 +88,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public void flood( + public synchronized void flood( IChunkGet iget, IChunkSet iset, int layer, Flood flood, FilterBlockMask mask ) { @@ -114,7 +114,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public void filter(Filter filter, int x, int y, int z) { + public synchronized void filter(Filter filter, int x, int y, int z) { this.x = x; this.y = y; this.z = z; @@ -123,7 +123,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public void filter(Filter filter, int startY, int endY) { + public synchronized void filter(Filter filter, int startY, int endY) { for (y = startY, index = startY << 8; y <= endY; y++) { for (z = 0; z < 16; z++) { for (x = 0; x < 16; x++, index++) { @@ -134,7 +134,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public void filter(Filter filter, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) { + public synchronized void filter(Filter filter, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) { int yis = minY << 8; int zis = minZ << 4; int zie = (15 - maxZ) << 4; @@ -153,7 +153,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public final void filter(Filter filter, Region region) { + public synchronized final void filter(Filter filter, Region region) { for (y = 0, index = 0; y < 16; y++) { int absY = yy + y; for (z = 0; z < 16; z++) { @@ -169,7 +169,7 @@ public class CharFilterBlock extends ChunkFilterBlock { } @Override - public final void filter(Filter filter) { + public synchronized final void filter(Filter filter) { for (y = 0, index = 0; y < 16; y++) { for (z = 0; z < 16; z++) { for (x = 0; x < 16; x++, index++) { diff --git a/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/ChunkFilterBlock.java b/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/ChunkFilterBlock.java index bc079814e..9e11021d2 100644 --- a/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/ChunkFilterBlock.java +++ b/worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/filter/block/ChunkFilterBlock.java @@ -69,7 +69,7 @@ public abstract class ChunkFilterBlock extends AbstractExtentFilterBlock { /** * Filter with a chunk object. */ - public final IChunkSet filter(IChunk chunk, IChunkGet get, IChunkSet set, Filter filter) { + public synchronized final IChunkSet filter(IChunk chunk, IChunkGet get, IChunkSet set, Filter filter) { initChunk(chunk.getX(), chunk.getZ()); for (int layer = get.getMinSectionPosition(); layer <= get.getMaxSectionPosition(); layer++) { if (set.hasSection(layer)) { @@ -83,7 +83,7 @@ public abstract class ChunkFilterBlock extends AbstractExtentFilterBlock { /** * Filter a chunk with a region / filter. */ - public final IChunkSet filter(IChunk chunk, IChunkGet get, IChunkSet set, Filter filter, Region region, boolean full) { + public synchronized final IChunkSet filter(IChunk chunk, IChunkGet get, IChunkSet set, Filter filter, Region region, boolean full) { if (region != null) { region.filter(chunk, filter, this, get, set, full); } else {