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:
+1
-1
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user