Java: 文字列を持つ GameRules Compound
Java Editionでは Data → GameRules にルールごとの TAG_String があり、キーは /gamerule で使う正確な名前、値は "true"、"false" または数値の文字列です。設定したことのないルールは存在せず既定値へ戻ります。正しい名前と文字列値でタグを追加すればコマンド実行と同じ結果になります。
| ルール | 値 | 効果 |
keepInventory | "true" | 死亡時にアイテムを保持 |
doDaylightCycle | "false" | 時刻の進行を停止 |
doWeatherCycle | "false" | 天候変化を停止 |
mobGriefing | "false" | クリーパーやエンダーマンによるブロック変更を停止 |
doMobSpawning | "false" | 自然なMobスポーンを停止 |
doFireTick | "false" | 炎の延焼を停止 |
commandBlockOutput | "false" | コマンドブロックのチャット出力を停止 |
randomTickSpeed | "3" | 作物成長と延焼の速度 |
playersSleepingPercentage | "50" | 夜をスキップするために必要なプレイヤー割合 |
spawnRadius | "10" | スポーン範囲の広さ |
大文字と小文字は区別されます。Javaファイル内の keepinventory は keepInventory と別タグなので無視されます。
Bedrockはルールをまとめません。各ルールは小文字名の TAG_Byte で、level.dat のルート直下にあり、1または0を保持します。keepinventory、domobspawning、domobloot、dodaylightcycle、doweathercycle、mobgriefing、firedamage、falldamage、drowningdamage、pvp、showcoordinates、commandblockoutput、sendcommandfeedback、naturalregeneration、tntexplodes、respawnblocksexplode、showdeathmessages、doimmediaterespawn などです。randomtickspeed と functioncommandlimit などの数値ルールは TAG_Int です。
まだ存在しないルールは正しい型で追加します。切り替えはByte、数値はIntです。誤った型で保存すると無視されるか、ワールドを読み込めなくなります。
コマンドよりファイル編集が適する場合
- チートが無効で、1コマンドのために有効化と無効化を行いたくない場合。
- ワールドを読み込めないため、初回参加前に
doImmediateRespawn などを設定する場合。
- 多数のサーバーへコピーするテンプレートワールドにルールを保存しておく場合。
- プラグインがルールを変更したため、コマンド表示ではなく実際の保存値を確認する場合。
- 一括編集。複数ワールドで多数のルールを変更する場合はチャットよりファイルの方が速く処理できます。
ほかの level.dat 編集と同様に、先にサーバーを停止してください。稼働中のワールドは保存時にファイルを書き直し、変更を破棄します。