Skip to content

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.


Each arena ID is a top-level section with four locations:

KeyPurpose
startLocationCamera and player start position. Its facing direction helps map A and D.
endLocationSafe location used after the round and for reconnect recovery.
firstCornerFirst boundary of the two-dimensional board.
secondCornerOpposite boundary of the two-dimensional board.

All four must resolve to non-default locations before the arena becomes ready.


KeyTypeDefault
readyBooleanfalse
endTimerInteger100
targetScoreInteger0
tickIntervalInteger6, minimum 1 in the editor
headMoveOppositeBooleanfalse
wrapAroundBooleantrue
snakeHeadMaterial nameWHITE_WOOL
segmentsMaterial nameGRAY_WOOL
appleMaterial nameYELLOW_TERRACOTTA

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.