Fix frame flood-fill to follow diagonal (stepped) ring connections
Round/octagonal rings built the normal Minecraft way step diagonally at the corners - two frame blocks touching only edge-to-edge, not face-to-face. The scanner only checked the 6 face-adjacent neighbours, so those blocks were treated as disconnected fragments and the whole ring failed to register (or only a fraction of it did). Frame discovery now flood-fills using all 26 surrounding offsets instead of just the 6 faces. The geometric chevron walk needed the same fix - its in-plane adjacency now checks 8 directions (orthogonal + diagonal) instead of 4, so stepped rings still produce a clean single-loop walk instead of falling back to evenly-spaced chevrons. Interior/iris flood-fill is intentionally left orthogonal-only: since it only ever moves face-to-face, a diagonal-only frame corner already blocks it from slipping past, so enclosure detection didn't need to change.
This commit is contained in:
@@ -19,6 +19,9 @@ Build everything with `./gradlew build`. Jars land in each module's `build/libs/
|
||||
There's no fixed size or shape - build any single connected ring out of
|
||||
`gate.frame-materials` (default: obsidian, gold block, gilded blackstone, birch/oak
|
||||
planks) with a fully sealed hollow interior. No gaps; the interior must be enclosed.
|
||||
"Connected" includes the usual diagonal stepping a round/octagonal ring needs at its
|
||||
corners (blocks touching only edge-to-edge or corner-to-corner still count), so a
|
||||
circular build doesn't need every block to share a full face with the next.
|
||||
|
||||
Chevrons aren't a separate material you place. When the gate is linked, the plugin
|
||||
flood-fills the ring, walks it in geometric order, and picks out the blocks that stick
|
||||
|
||||
Reference in New Issue
Block a user