Fix interior scan failing on ground-standing gates

The floor a gate stands on (grass, stone, etc.) is a solid block that
isn't part of the frame, so touching it during the interior flood-fill
was treated as a leak and failed the whole scan. Solid non-frame blocks
now act as boundaries instead of auto-failures; a real gap in the ring
is still caught by the max-iris-blocks size cap.
This commit is contained in:
Michael Burgess
2026-08-09 10:12:52 -04:00
parent 56c089f656
commit 62277a8d7b
@@ -172,8 +172,8 @@ public class GateStructureScanner {
Block next = cur.getRelative(face);
long k = key(next);
if (visited.contains(k) || frameKeys.contains(k)) continue;
if (next.getType().isSolid()) return null; // hit solid, non-frame block: not a clean ring
visited.add(k);
if (next.getType().isSolid()) continue; // ground/ceiling/wall acting as a boundary, not part of the interior
queue.add(next);
}
}