Skip to content

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.