Instead of guessing a gate's shape by flood-filling connected frame
material, the plugin now matches a fixed ASCII template against the
world (gate.template in config.yml), the same idea as the classic
Stargate plugin's .gate files. Default is an 11x11 ring with 7
chevrons at their real positions rather than auto-spaced.
- New GateTemplate parses the '*'/'1'/'2'/'0' grid.
- New GateTemplateScanner tries every plausible alignment of a
punched block against a frame/chevron cell, then verifies the rest
of the template matches; no more flood-fill leak/enclosure
diagnostics needed since the shape is exact.
- The player's look direction at punch time (snapped to N/S/E/W)
decides whether template columns run along world X or Z; this
facing is now stored in Gate.facing (repurposing the old
sign-attachment field) so restarts can re-scan deterministically.
- Exit-teleport yaw now comes from that stored facing instead of a
geometric guess.
- Removed gate.chevron-count/max-frame-blocks/max-iris-blocks/
min-frame-blocks - the template itself defines size and chevrons.