level.dat のゲームルールを編集する

Minecraft Bedrock EditionとJava Editionに対応し、一般的なものから小規模なものまで両方の全サーバーコアを扱えます: Vanilla、Paper、Spigot、Purpur、Folia、Fabric、Forge、NeoForge、Mohist、Sponge、Bedrock Dedicated Server、PocketMine-MP、Nukkit、PowerNukkitX、Cloudburst、Dragonfly、Endstone、LeviLaminaなど。全一覧。

ゲームルールは level.dat に保存されるため、ワールドを開かず、チートを有効にせず変更できます。ワールドを起動できない場合、チートが無効な場合、プレイヤー参加前にコピーしたワールドを準備する場合に使えます。Javaは GameRules Compound内の文字列、Bedrockはルート直下の小文字byteタグとして保存します。

keepInventorydoDaylightCyclemobGriefingcommandBlockOutputrandomTickSpeed

ここにlevel.datをドロップ

level.dat · .nbt · .mcstructure · .schem · .schematic · .dat · チャンクのダンプ

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: 小文字の個別byteタグ

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 編集と同様に、先にサーバーを停止してください。稼働中のワールドは保存時にファイルを書き直し、変更を破棄します。

よくある質問

Javaでゲームルールが文字列なのはなぜですか?

Javaは真偽値や数値を含むすべてのゲームルールを文字列として保存します。byteの1ではなく "true" と書いてください。

Bedrockではbyteなのはなぜですか?

Bedrockは切り替えをルート直下のbyteタグ、数値ルールをintとして保存します。GameRules Compoundはありません。

ルールがファイルに存在しません。

そのルールは既定値を使用しています。正確な名前と正しい型でタグを追加すると、指定した値が使われます。

ワールドフォルダーをコピーするとゲームルールもコピーされますか?

はい。ゲームルールは level.dat にあるため、古いワールド名と同様にコピー先へ引き継がれます。

関連ツール