コマンド構文入門
Minecraftのコマンドを基礎から解説します。ターゲットセレクター、相対座標とローカル座標、アイテムコンポーネントの書き方、executeの使い方、よくあるエラーに加え、1.14~26.3の各バージョンでの記述方法の違いも紹介します。
コマンドの基本構造
コマンドはコマンド名と引数で構成され、引数はスペースで区切ります。例:
/give @p minecraft:diamond_sword 1チャット欄にコマンドを入力するときは、先頭に /を付けます。コマンドブロック、関数ファイル、サーバーコンソールでは省略できます。チャット欄に入力できるのは最大256文字です。長いコマンドはコマンドブロックに入れてください(各ツールの下部に「コマンドブロック」ボタンがあります)。
ターゲットセレクター
| セレクター | 意味 |
|---|---|
@p | 最も近いプレイヤー |
@a | すべてのプレイヤー |
@r | ランダムなプレイヤー |
@s | コマンドを実行しているエンティティ自身 |
@e | すべてのエンティティ |
@n | 最も近いエンティティ |
後ろに角括弧で条件を指定できます。例: @e[type=zombie,distance=..10,limit=1]。 ターゲットセレクターツール を使うと、セレクターを視覚的に組み立てられます。
座標
- 絶対座標:
100 64 -200。F3画面に表示される座標です。 - 相対座標:
~ ~1 ~。実行位置を原点とし、~1は1を加えることを表します。 - ローカル座標:
^ ^ ^5。視線の向きを基準にし、それぞれ左・上・前を表します。他の2種類の座標とは併用できません。
アイテムコンポーネント(1.20.5以降)
アイテムの名前やエンチャントなどは、アイテムIDの後ろの角括弧内に記述します。1.21.5以降の形式:
/give @p diamond_sword[custom_name={text:"神剑",color:"gold"},enchantments={sharpness:5}]1.20.4以前ではNBTを使います:/give @p diamond_sword{display:{Name:'{"text":"神剑","color":"gold"}'},Enchantments:[{id:"minecraft:sharpness",lvl:5s}]}この書式は1.20.5以降では使えません。アイテム生成器 右上で選択したバージョンに応じて、対応する書式が自動的に表示されます。
execute:実行条件の変更
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s speed 1 2つまり、各プレイヤーの位置を基準にし、足元が金ブロックなら移動速度の効果を与えます。as 実行者を変更し、at 位置を変更し、if / unless で条件を判定し、run の後ろに実行するコマンドを指定します。 コマンドビルダー を使うと、手順に沿って組み立てられます。
よくあるエラー
- 不明または不完全なコマンド:コマンド名の入力ミス、または必須の引数が不足しています。
- エンティティは1体のみ選択できます:単一の対象が必要な引数(tpの移動先など)に@a / @eを指定しています。
limit=1。 - バージョンが違う:ネット上の解説は、ゲームのバージョンと書式が異なることがよくあります(NBTとコンポーネント、
keepInventoryとkeep_inventory)。まず右上でバージョンを選択し、このサイトで生成したコマンドを使ってください。