Java: Strings in einem Compound GameRules
In der Java Edition enthält Data → GameRules pro Regel einen TAG_String. Der Schlüssel entspricht exakt dem von /gamerule verwendeten Namen, und der Wert wird als Text gespeichert: "true", "false" oder eine Zahl. Regeln, die in der Welt nie gesetzt wurden, fehlen und verwenden ihren Standardwert. Ein Tag mit dem korrekten Namen und einem String-Wert wirkt genauso wie der entsprechende Befehl.
| Regel | Wert | Auswirkung |
keepInventory | "true" | Gegenstände beim Tod behalten |
doDaylightCycle | "false" | Tageszeit anhalten |
doWeatherCycle | "false" | Wetterwechsel anhalten |
mobGriefing | "false" | Blockänderungen durch Creeper und Endermen verhindern |
doMobSpawning | "false" | Natürliches Spawnen von Mobs verhindern |
doFireTick | "false" | Ausbreitung von Feuer anhalten |
commandBlockOutput | "false" | Chat-Ausgaben von Befehlsblöcken unterdrücken |
randomTickSpeed | "3" | Geschwindigkeit von Pflanzenwachstum und Feuerausbreitung |
playersSleepingPercentage | "50" | Anteil der Spieler, der zum Überspringen der Nacht schlafen muss |
spawnRadius | "10" | Ausdehnung des Spawngebiets |
Groß- und Kleinschreibung sind relevant. keepinventory ist in einer Java-Datei nicht derselbe Tag wie keepInventory und wird ignoriert.
Bedrock gruppiert Regeln nicht. Jede Regel ist ein TAG_Byte im Root-Tag von level.dat, kleingeschrieben und mit dem Wert 1 oder 0: keepinventory, domobspawning, domobloot, dodaylightcycle, doweathercycle, mobgriefing, firedamage, falldamage, drowningdamage, pvp, showcoordinates, commandblockoutput, sendcommandfeedback, naturalregeneration, tntexplodes, respawnblocksexplode, showdeathmessages, doimmediaterespawn. Numerische Regeln wie randomtickspeed und functioncommandlimit sind dagegen TAG_Int.
Wenn eine noch nicht vorhandene Regel gesetzt werden soll, muss der Tag mit dem richtigen Typ hinzugefügt werden: Byte für einen Schalter, Int für eine Zahl. Eine Regel mit falschem Typ wird ignoriert oder verhindert das Laden.
Wann eine Dateibearbeitung besser als ein Befehl ist
- Cheats sind deaktiviert und sollen nicht nur für einen einzelnen Befehl ein- und wieder ausgeschaltet werden.
- Die Welt lädt nicht. Eine Regel wie
doImmediateRespawn kann vor dem ersten Beitritt gesetzt werden.
- Du bereitest eine Vorlagenwelt vor, die für mehrere Server kopiert wird und ihre Regeln bereits enthalten soll.
- Ein Plugin hat eine Regel geändert und du möchtest den tatsächlich gespeicherten Wert statt der Ausgabe eines Befehls prüfen.
- Viele Änderungen. Ein Dutzend Regeln in mehreren Welten lässt sich in Dateien schneller setzen als im Chat.
Stoppe wie bei jeder Änderung von level.dat zuerst den Server. Eine laufende Welt schreibt die Datei beim Speichern neu und verwirft deine Änderung.