ふつうのコマンドに「枕詞」を足すコマンド。それ単体では何もせず、run のうしろに書いたコマンドを、条件付きで動かします。
統合版/BEJava版
答えだけ先に
run の前に「誰が(as)」「どこで(at)」「もし〜なら(if)」を並べるだけ。
01
基本のかたち
run のうしろに、いつものコマンドを書く。
全員がそれぞれ「こんにちは」と言う統合版/BE・Java版
execute as @a run say こんにちは
全員の足元に金ブロックを置く統合版/BE・Java版
execute as @a at @s run setblock ~ ~-1 ~ gold_block
メモas @a at @s が定番の組み合わせ。「全員を一人ずつ主語にして、その人の位置で」という意味になる。
02
よく使う例
リピートのコマンドブロック(常時実行)に入れると、ずっと判定し続ける。
ジャンプ台(金ブロックに乗ったら上へ飛ぶ)統合版/BE・Java版
execute as @a at @s if block ~ ~-1 ~ gold_block run tp @s ~ ~5 ~
近くにクリーパーがいる人にだけ警告統合版/BE・Java版
execute as @a at @s if entity @e[type=creeper,distance=..10] run title @s actionbar {text:'クリーパーが近い!'}
すべての牛の上にハートを出す統合版/BE・Java版
execute as @e[type=cow] at @s run particle minecraft:heart ~ ~1 ~ 0 0 0 0 1
03
サブコマンド早見
execute <サブコマンド> <サブコマンド> … run <コマンド> の並び。前から順に処理される。
| 書き方 | 何を変える? | 例 |
|---|---|---|
as <対象>
|
誰が実行するか(主語) |
as @a
|
at <対象>
|
どこで実行するか(場所) |
at @s
|
if block
|
そこに特定のブロックがあれば |
if block ~ ~-1 ~ gold_block
|
if entity
|
対象のエンティティがいれば |
if entity @e[type=creeper]
|
unless
|
もし〜でなければ |
unless block ~ ~-1 ~ stone
|
run
|
ここから先が実行するコマンド |
run tp @s ~ ~5 ~
|
注意@s(本人)は、as で主語を作って初めて使える。as の無いexecuteで @s と書くと、指す相手がいなくて空振りする。
注意順番で意味が変わる。as → at(誰が→どこで)の順が基本。
04
Java版と統合版のちがい
as・at・if は両方で使える。
Java版
- 1.13以降でこの新しい構文が使える
-
ブロック名に
minecraft:を付けてもOK - サブコマンドの種類が統合版/BEより多い
統合版/BE
- 1.19.50以降でこの新しい構文が使える
-
ブロック名に
minecraft:は付けない - 統合版/BEには無いサブコマンドがある