From e2c2205dac455ee14a3e58acc91b01737060bae6 Mon Sep 17 00:00:00 2001 From: IronApollo Date: Sat, 8 Jun 2019 14:48:30 -0400 Subject: [PATCH] Hollow fix --- .../java/com/sk89q/worldedit/EditSession.java | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java index f715fdcd0..8968ab652 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/EditSession.java @@ -3376,30 +3376,27 @@ public class EditSession extends AbstractDelegateExtent implements HasFaweQueue, private void recurseHollow(Region region, BlockVector3 origin, Set outside) { final LocalBlockVectorSet queue = new LocalBlockVectorSet(); - + queue.add(origin); while (!queue.isEmpty()) { - Iterator iter = queue.iterator(); - while (iter.hasNext()) { - BlockVector3 current = iter.next(); - iter.remove(); - final BlockState block = getBlock(current); - if (block.getBlockType().getMaterial().isMovementBlocker()) { - continue; - } - - if (!outside.add(current)) { - continue; - } - - if (!region.contains(current)) { - continue; - } - - for (BlockVector3 recurseDirection : recurseDirections) { - queue.add(current.add(recurseDirection)); - } - } - } + BlockVector3 current = queue.getIndex(0); + queue.remove(current); + final BlockState block = getBlock(current); + if (block.getBlockType().getMaterial().isMovementBlocker()) { + continue; + } + + if (!outside.add(current)) { + continue; + } + + if (!region.contains(current)) { + continue; + } + + for (BlockVector3 recurseDirection : recurseDirections) { + queue.add(current.add(recurseDirection)); + } + } } public int makeBiomeShape(final Region region, final Vector3 zero, final Vector3 unit, final BiomeType biomeType,