更新日:
まず自分の版を確認する
パソコンの「Minecraft: Java Edition」がJava版です。Switch、PlayStation、Xbox、スマホ、Windowsの「Minecraft」(Microsoft Store版)は統合版(Bedrock Edition)です。PCでもランチャーで「Minecraft for Windows」を起動していれば統合版なので注意してください。
コマンドの解説を読むときは、記事がどちらの版を前提にしているかを最初に確認します。版が違うと、同じ名前のコマンドでも引数の順番やセレクターの書き方が変わります。
セレクターの引数
@p、@a、@r、@e、@sは両方の版で使えますが、角かっこの中の引数名が違います。
| やりたいこと | Java版 | 統合版 |
|---|---|---|
| 半径5ブロック以内 | @e[distance=..5] | @e[r=5] |
| 3ブロックより遠く | @e[distance=3..] | @e[rm=3] |
| 1体だけ選ぶ | @e[limit=1,sort=nearest] | @e[c=1] |
| ゲームモード | @a[gamemode=survival] | @a[m=survival] |
| 経験値レベル | @a[level=10..] | @a[lm=10] |
統合版には持ち物で絞り込むhasitemや、Mobの系統で絞り込むfamilyがあります。Java版で同じことをするときはnbt引数やタグを使います。
effectとgiveの書き方
effectはJava版だけgiveという語が入ります。消すときの語順も違います。
# Java版
/effect give @p minecraft:speed 30 1
/effect clear @p
# 統合版
/effect @p speed 30 1
/effect @p clear
giveは基本形(対象・アイテムID・個数)は同じです。違いが出るのは名前やエンチャントを付けるときで、Java版は1.20.5以降diamond_sword[enchantments={...}]のようにアイテムIDの直後に角かっこでcomponentsを書きます。統合版は個数の後ろにデータ値とJSON形式のコンポーネントを書きますが、指定できるのはcan_destroy、can_place_on、keep_on_death、item_lockなど一部だけで、名前や上限を超えるエンチャントは付けられません。
executeの書き方
統合版は1.19.50でJava版と同じ形式のexecuteに変わりました。今の統合版では次の書き方が両方で使えます。
/execute as @a at @s run summon lightning_bolt ~ ~ ~
古い解説にある/execute @a ~ ~ ~ summon lightning_boltのような形は旧形式です。現在の統合版では基本的に使わず、新形式に書き直してください。
メッセージ表示
tellrawとtitleはどちらの版にもありますが、文章の書き方が違います。統合版は{"rawtext":[{"text":"こんにちは"}]}という形です。Java版はテキストコンポーネントで、色やクリック動作をそのまま指定できます。統合版で色を付けるときは§cのような書式コードを文章に入れます。
IDが違うもの
ほとんどのアイテムIDは共通ですが、一部は名前が違います。たとえばスポナーはJava版がspawner、統合版がmob_spawnerです。雪の層はJava版がsnow、統合版がsnow_layerです。名前が赤く表示されたり「不明なアイテム」と出たりしたら、もう片方の版のIDを使っていないか確認してください。ID検索で版ごとのIDを調べられます。
片方にしかないコマンド
| Java版だけ | 統合版だけ |
|---|---|
/data、/attribute、/item、/bossbar、/trigger、/forceload、/datapack | /tickingarea、/camera、/hud、/scriptevent |
Java版の/forceloadに近いことは、統合版では/tickingareaで行います。Java版のNBTを使った召喚({NoAI:1b}など)は統合版にはなく、代わりにスポーンイベントや名前タグを指定します。
変換するときのコツ
手で書き換えるときは、セレクターの引数、語順の違うコマンド、IDの3点を順番に確認すると漏れにくくなります。長いコマンドは変換ツールに入れると、書き換えが必要な箇所と、統合版では再現できない部分を確認できます。
よくある質問
PC版なのにJava版の書き方が使えません。
PCで遊んでいても、Microsoft StoreやXboxアプリから入れた「Minecraft for Windows」は統合版です。タイトル画面に「Java Edition」と出ていなければ、統合版の書き方を使ってください。
Java版と統合版で一緒に遊ぶサーバーではどちらの書き方を使いますか?
GeyserMCなどで両方から参加できるサーバーは、多くの場合サーバー本体がJava版です。コマンドはサーバー側の版、つまりJava版の書き方で入力します。
データパックとアドオンのコマンドも同じ違いがありますか?
はい。Java版のデータパック(.mcfunction)はJava版の書き方、統合版のビヘイビアパックの関数は統合版の書き方で書きます。片方の関数ファイルをもう片方にそのまま入れても動きません。