executeでよく並んでいる、asとat。どちらも後ろに相手を書くので、混ざりやすいんですよね。今回は、この2つだけに絞って読んでみます。

この記事のポイント

executeのasは実行するエンティティを、atは実行する位置などの基準を切り替えます。asで相手を選んだだけでは、その相手の場所から実行する指定にはなりません。「だれ」と「どこ」を分けて読むのがポイントです。

「誰が」と「どこで」は、別の指定

asでプレイヤーを選ぶと、その人の場所から動くようにも見えますよね。でも、asだけでは位置の基準は変わりません。ここが、この2つを分けて読む理由です。なお、実行位置の指定を変えても、それだけでプレイヤーが移動するわけではありません。

asは「だれが」

asの後ろに書くのは、「誰に実行してもらうか」です。ここで選んだエンティティが、その先の実行者になります。実行者を参照する@sが誰を指すかも、この指定の影響を受けます。

atは「どこを基準に」

atは対象の場所などを実行の基準に使います。~ ~ ~のような相対座標を読むときに、この基準が重要です。逆に、atだけで「誰が」まで変わるわけではありません。場所と相手、セットに見えて別々なんです。

よく見る並びを分解する

次は書き方を読むための部分例です。末尾の命令を省いているので、この一行だけを実行するものではありません。

execute as @a at @s run …
  1. as @a:プレイヤーごとに実行者を選ぶ。
  2. at @s:そこで選ばれた実行者の位置を基準にする。
  3. run:組み立てた条件で、後ろの命令へ進む。

「全員のところで何かをする」ような仕掛けを読むときに、この組み合わせが登場します。どんな命令を後ろにつなぐか、条件で対象をどう絞るかは、作りたい仕掛けによって変わります。

長くなったら、ここだけ追ってみよう

  • いまの実行者は誰か。
  • いまの位置の基準はどこか。
  • 最後に実行したい命令は何か。

途中にifなどの条件が増えても、まずこの3点を追ってみましょう。すべてを一度に理解するより、基準が切り替わる場所に印を付けてから条件を読むと、役割が混ざりにくくなります。

この解説の範囲

ここでは統合版の現行公式リファレンスにあるas・atの役割を扱っています。古いexecute構文とは区別してください。Java版でも似た形を見かけますが、版ごとの細部や完成した仕掛けの互換性は、別に確認が必要です。

ゆず

asで「誰が」、atで「どこで」。まずはこの2つを、別々に追ってみてくださいね。

参照した資料

確認範囲:統合版の公式executeリファレンスで役割を確認。掲載コードは構文を読むための未完成例で、実行用ではありません。
資料確認:2026-09-19 JST

あわせて読みたい