Minecraftコマンド
変換
貼り付けたコマンドから元のバージョンを自動推定し、指定したバージョン向けの構文に変換します。未対応のアイテムやエンチャントは赤い波線で確認できます。
注意
Java版と統合版では、NBT/components、アイテム指定、エンティティデータ、JSONテキストの扱いが異なります。出力は移植の下書きとして使ってください。
このツールでできること
- 元のコマンドを貼り付ける
- 変換先バージョンを選ぶ
- 非対応要素と変換結果を確認
設定できる項目は選択したバージョンによって変わります。
簡易ジェネレーター
変換結果は、元のコマンドの機能をすべて再現するとは限りません。とくにNBTとcomponents、Java版と統合版の差は確認が必要です。
生成結果
関連ツール
Java版と統合版でコマンドが違う主なポイント
同じ /give や /execute でも、Java版と統合版(Bedrock)では書き方が違う部分があります。また、Java版の中でも1.20.5と1.21.5で書式が大きく変わりました。このツールで変換したあとは、下の違いを参考に結果を確認してください。
ターゲットセレクターの引数
Java版 統合版
@e[type=zombie,limit=1,sort=nearest] @e[type=zombie,c=1]
@a[distance=..10] @a[r=10]
@a[distance=5..10] @a[rm=5,r=10]
@a[gamemode=creative] @a[m=creative]
@a[level=10..] @a[lm=10]
scores・tag・name・type などは両版とも同じ書き方ができます。
アイテムの詳細データ
Java版では名前・エンチャント・耐久無限などをcomponentsで直接指定できますが、統合版の /give で付けられるのは「壊せるブロック」「置けるブロック」「アイテムのロック」「死亡時に保持」などに限られます。
統合版の例:
/give @p diamond_pickaxe 1 0 {"minecraft:can_destroy":{"blocks":["stone"]}}
/give @p diamond_sword 1 0 {"minecraft:keep_on_death":{}}
名前付き・エンチャント付きの武器を統合版で配りたい場合は、金床で作ったものをチェストに入れて配布する、またはビヘイビアパックを使う方法になります。
コマンド自体の違い
- /effect:Java版は
/effect give @p speed 30 1、統合版は/effect @p speed 30 1(give を書かない)。 - /tellraw:Java版は
{"text":"..."}、統合版は{"rawtext":[{"text":"..."}]}。 - /execute:統合版も1.19.50以降はJava版と同じ新しい構文ですが、
storeやif dataなど一部のサブコマンドはJava版にしかありません。 - Java版だけのコマンド:/data、/item、/attribute、/bossbar、/loot など。統合版では同じ動作をコマンドだけで再現できないことがあります。
Java版の新旧書式(1.20.4 → 1.20.5 → 1.21.5)
1.20.4以前: /give @p diamond_sword{Unbreakable:1b,Enchantments:[{id:"sharpness",lvl:5}]}
1.20.5〜1.21.4:/give @p diamond_sword[unbreakable={},enchantments={levels:{"minecraft:sharpness":5}}]
1.21.5以降: /give @p diamond_sword[unbreakable={},enchantments={"minecraft:sharpness":5}]
古い解説サイトや動画のコマンドが動かない原因の多くは、この書式の違いです。名前の指定も、1.21.5以降は custom_name={"text":"名前"} のように引用符で囲まない形になりました。
変換結果の確認方法
- コマンドを貼り付け、変換先のバージョンを選ぶ。変換元は自動推定される。
- 出力を確認し、統合版にない機能が含まれていないかを見る。
- テストワールドのコマンドブロックに貼り、エラー表示がないかを確認する。
- 構文が分からない部分はコマンド分解ツールで要素ごとに確認する。