Never place a chevron on the flat bottom threshold

pickChevrons() spaced chevrons evenly starting from whichever ring
block the flood-fill happened to discover first - an arbitrary point
depending on where the ring was punched, with no relationship to the
ring's actual top/bottom. That let spacing land a chevron directly on
the bottom row you walk through, which a real Stargate never has.

For a vertical ring, chevron spacing is now anchored at the true
topmost block and the bottom row is excluded from the candidate list
entirely before spacing runs. Horizontal rings are unaffected - they
have no "bottom" to avoid, so they still use the full ring.
This commit is contained in:
Michael Burgess
2026-08-09 14:29:42 -04:00
parent 712af607d7
commit 508a3d9b51
2 changed files with 37 additions and 9 deletions
+6 -4
View File
@@ -36,10 +36,12 @@ doesn't try to flood-fill out through the open air in front of and behind the ga
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 `gate.chevron-count`
(default 7) blocks evenly spaced around the ring's actual perimeter. Those blocks
swap to `gate.chevron-lit-material` (default glowstone) while dialing/open, and
revert to whatever they looked like at rest when the gate closes - so a chevron can
rest as plain obsidian and blend invisibly into the frame until it lights up.
(default 7) blocks evenly spaced around the ring's actual perimeter - anchored at the
topmost point for a vertical ring, and never the flat bottom row you walk through,
matching a real Stargate. Those blocks swap to `gate.chevron-lit-material` (default
glowstone) while dialing/open, and revert to whatever they looked like at rest when
the gate closes - so a chevron can rest as plain obsidian and blend invisibly into
the frame until it lights up.
1. Build the ring.
2. Optionally place a button directly below where you'll put the sign - this becomes