ふつうのコマンドに「枕詞」を足すコマンド。それ単体では何もせず、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には無いサブコマンドがある

つづけて読む