Java : un composé GameRules de chaînes
Dans Java Edition, Data → GameRules contient une balise TAG_String par règle, avec le nom exact utilisé par /gamerule et la valeur écrite sous forme de texte : "true", "false" ou un nombre. Les règles jamais définies dans le monde sont simplement absentes et reprennent leur valeur par défaut. Ajouter la balise avec le bon nom et une valeur String produit le même effet que la commande.
| Règle | Valeur | Effet |
keepInventory | "true" | Conserver les objets après la mort |
doDaylightCycle | "false" | Figer l'heure de la journée |
doWeatherCycle | "false" | Figer la météo |
mobGriefing | "false" | Empêcher les creepers et endermen de modifier les blocs |
doMobSpawning | "false" | Arrêter l'apparition naturelle des créatures |
doFireTick | "false" | Empêcher le feu de se propager |
commandBlockOutput | "false" | Masquer les messages des blocs de commande dans le chat |
randomTickSpeed | "3" | Vitesse de croissance des cultures et de propagation du feu |
playersSleepingPercentage | "50" | Part des joueurs nécessaire pour passer la nuit |
spawnRadius | "10" | Étendue de la zone d'apparition |
La casse est importante. keepinventory dans un fichier Java n'est pas la même balise que keepInventory et sera ignorée.
Bedrock ne regroupe pas les règles. Chacune est une balise TAG_Byte à la racine de level.dat, dont le nom est en minuscules et la valeur 1 ou 0 : keepinventory, domobspawning, domobloot, dodaylightcycle, doweathercycle, mobgriefing, firedamage, falldamage, drowningdamage, pvp, showcoordinates, commandblockoutput, sendcommandfeedback, naturalregeneration, tntexplodes, respawnblocksexplode, showdeathmessages, doimmediaterespawn. Les règles numériques telles que randomtickspeed et functioncommandlimit sont plutôt des balises TAG_Int.
Pour définir une règle absente, ajoutez une balise du bon type : Byte pour une option binaire, Int pour un nombre. Une règle enregistrée avec le mauvais type est ignorée ou empêche le chargement.
Cas où modifier le fichier est préférable
- Les commandes de triche sont désactivées et vous ne voulez pas les activer temporairement pour exécuter une seule commande.
- Le monde ne se charge pas : une règle telle que
doImmediateRespawn peut être définie avant la première connexion.
- Vous préparez un monde modèle destiné à plusieurs serveurs et souhaitez intégrer les règles à chaque copie.
- Un plugin a modifié une règle et vous voulez voir la valeur réellement stockée plutôt que celle indiquée par une commande.
- Modifications en série. Définir une douzaine de règles dans plusieurs mondes est plus rapide dans les fichiers que dans le chat.
Arrêtez d'abord le serveur, comme pour toute modification de level.dat : un monde actif réécrit le fichier à la sauvegarde et annule le changement.