arenas.yml
arenas.yml is the persistent store for arena geometry and per-arena gameplay options. The supported workflow is to use /snake create and /snake edit instead of editing serialized locations manually.
Arena Structure
Section titled “Arena Structure”Each arena ID is a top-level section with four locations:
| Key | Purpose |
|---|---|
startLocation | Camera and player start position. Its facing direction helps map A and D. |
endLocation | Safe location used after the round and for reconnect recovery. |
firstCorner | First boundary of the two-dimensional board. |
secondCorner | Opposite boundary of the two-dimensional board. |
All four must resolve to non-default locations before the arena becomes ready.
Saved Options
Section titled “Saved Options”| Key | Type | Default |
|---|---|---|
ready | Boolean | false |
endTimer | Integer | 100 |
targetScore | Integer | 0 |
tickInterval | Integer | 6, minimum 1 in the editor |
headMoveOpposite | Boolean | false |
wrapAround | Boolean | true |
snakeHead | Material name | WHITE_WOOL |
segments | Material name | GRAY_WOOL |
apple | Material name | YELLOW_TERRACOTTA |
Loading Behavior
Section titled “Loading Behavior”At startup, the plugin reads every ID, deserializes all four locations, loads the options, marks complete arenas ready, and starts each ready arena in the waiting state.
Invalid IDs, duplicate IDs that differ only by letter case, and incomplete arenas marked ready are skipped or disabled with a console warning. Unknown or incomplete arenas remain unavailable to /snake join until fixed and saved through the editor.