Minecraftコマンド
execute生成
as、at、if entity、if blockを組み合わせたexecuteコマンドを生成します。
注意
/execute の as は実行者、at は実行位置を変更します。@s と相対座標を使う場合は、どちらの基準で動くかを確認してください。
このツールでできること
- 対象エディションとバージョンを指定
- 実行者・位置・条件を組み合わせる
- 生成された/executeをコピー
設定できる項目は選択したバージョンによって変わります。
簡易ジェネレーター
/executeは「誰として実行するか」と「どこで実行するか」を別々に指定できます。asとatの組み合わせを確認してください。
生成結果
ワールド制作への応用
レバーの状態などを条件にして別のコマンドを動かす例を紹介しています。条件付きの謎解きでは実行順序や失敗時の確認方法を説明しています。
executeコマンドの基本
/executeは「誰が」「どこで」「どの条件なら」コマンドを実行するかを指定する上級コマンドです。as、at、if entity、if blockを分けて考えると整理しやすくなります。
executeコマンドの考え方
/execute は「誰として」「どこで」「どんな条件のときに」別のコマンドを実行するかを決めるコマンドです。単独では何もせず、最後の run のあとに書いたコマンドを、前半で決めた条件で実行します。
as と at の違い
- as:実行者を変えます。
@sが指す相手が変わりますが、実行する場所は元のままです。 - at:実行する位置と向きを変えます。
~ ~ ~の基準がその対象の位置になります。
/execute as @a at @s run particle minecraft:happy_villager ~ ~1 ~
「全プレイヤーそれぞれとして、それぞれの位置で」パーティクルを出す、という意味です。as だけでは全員分のパーティクルがコマンドを実行した場所に出てしまうため、位置も合わせたいときは as ... at @s と書くのが定番です。
主なサブコマンド
- positioned:座標を指定して位置を変える(
positioned ~ ~2 ~で2ブロック上)。 - facing・rotated:向きを変える。
- in:ディメンションを変える(
in minecraft:the_nether)。 - if / unless:条件を満たす(満たさない)ときだけ続ける。
if entity・if block・if scoreなどがあります。 - store(Java版のみ):コマンドの結果をスコアやデータに保存する。
よく使う例
足元が金ブロックのプレイヤーにスピード:
/execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run effect give @s minecraft:speed 1 1 true
所持金が100以上のプレイヤーにだけメッセージ:
/execute as @a[scores={money=100..}] run tellraw @s {"text":"購入できます"}
ダイヤの所持数をスコアに記録(Java版):
/execute as @a store result score @s diamonds run clear @s minecraft:diamond 0
書く順番が結果を変える
サブコマンドは左から順に処理されます。at @s as @a と as @a at @s は別の意味になるので、「誰として → どこで → 条件 → run」の順に書くと考えやすくなります。
うまく動かないとき
- 1.12以前の旧構文(
/execute @a ~ ~ ~ ...)は、Java版1.13以降・統合版1.19.50以降では使えません。 - 何も起きない場合は、
runの前までの条件で対象が0人になっていないかを確認します。条件を1つずつ外して試すと原因が見つかります。 - 統合版には store や if data がないため、Java版向けの例がそのまま動かないことがあります。