Dirty Gamerule Hack¶
Quick Start: Spice it up with twists.
What the warning means¶
Gamerules in JManhunt flow through the <gamerule> tag (see
Clock), which refuses engine-managed
rules, validates values, and skips silently while parallel
matches share the worlds.
When a modifier (or another plugin) sets a gamerule through a raw
console line instead, the engine cannot gate it: parallel matches
get disturbed, engine-managed rules get clobbered, and mistyped
values fail deep in the server log instead of at the modifier
line. Raw gamerule lines are blacklisted by default for exactly
this reason; operators who un-blacklist them keep the parallel
skip but lose the managed-rule guard.
Why direct edits break¶
A raw gamerule line only knows its own match. Two parallel
matches overwrite each other's rules, a match end restores rules
a running match still needs, and an engine-managed rule (daylight
pauses, spawn pauses, instant respawns) silently stops doing its
job. Through the tag every write names its rule and value up
front, blocked rules refuse loudly, and parallel matches skip
instead of clobbering.
How to fix a flagged modifier¶
Replace the raw line with clock tags:
# Before: aborts on the default blacklist, ungated when allowed.
- "gamerule doDaylightCycle false"
- "time set midnight"
# After: validated, gated, and parallel-safe.
- "<gamerule:doDaylightCycle,false>"
- "<timeset:midnight>"
Use <timeget> to read the main world clock where
<gstat:daytime> used to fit.