更新日:
プレイヤーの位置で実行する|コマンド例
as・at・runの役割を確認する例。
対象:Java版 1.21.1〜26.3
すぐに使えるコマンド
各プレイヤーの足元に石を置く
/execute as @a at @s run setblock ~ ~-1 ~ minecraft:stone各プレイヤーの1ブロック上へ豚
/execute as @a at @s run summon minecraft:pig ~ ~1 ~設定の変え方
as @aで各プレイヤーを実行者にし、at @sでそのプレイヤーの位置へ移動してからrunを実行します。
実行前に確認すること
複数人に対してワールドを変更する例です。小さなテストワールドで実行してください。
チャットから実行する場合は先頭に / を付けます。データパック内の .mcfunction に記述する場合は通常、先頭の / を外します。
実際の使いどころ
プレイヤーの足元に一時的な足場を作る、参加者の頭上に演出を出すなど、「誰の位置でコマンドを動かすか」が重要な制作に使います。asだけでは実行位置は移動せず、atを組み合わせることで対象の座標を利用できます。
設定の考え方と応用
as @aはオンラインの各プレイヤーを実行主体にします。at @sで、そのプレイヤーの現在地へ実行位置を移します。全員に対して毎tick使うとブロックを大量に書き換えることがあるため、実行頻度を設計してください。
動かないときの確認ポイント
予想と違う場所に生成される場合はatを付け忘れていないか、相対座標がどの実行位置に基づくかを確認します。/execute positionedなどを重ねるとさらに基準位置が変わるので、短いコマンドから動作を確かめると整理しやすくなります。
統合版で使う場合
統合版では minecraft: を省略して書くのが一般的です。
統合版(1.19.50以降)も同じ書き方
/execute as @a at @s run setblock ~ ~-1 ~ stone組み合わせて使えるコマンド
全員の足元にパーティクルを出す
/execute as @a at @s run particle minecraft:flame ~ ~1 ~at @s があるので、パーティクルは各プレイヤーの位置に出ます。
よくある質問
at @s を付けないとどうなりますか
実行者はプレイヤーに変わりますが、位置はコマンドブロックのままです。~ は全員コマンドブロックの位置を指してしまいます。
as と at の順番は関係ありますか
あります。as @a at @s の順に書くと「各プレイヤーとして、そのプレイヤーの位置で」実行されます。詳しくは「execute as と execute at の違い」の記事で解説しています。