MC CommanderMinecraft非公式コマンド支援

execute as と execute at の違い

/execute as は「誰として」、/execute at は「どこで」実行するかを変更します。同じ @s や ~ 座標でも、組み合わせる順番で結果が変わります。

execute asexecute at初心者向け

execute生成ツールを開く

更新日:

asは実行者を変える

asは、その後のコマンドを誰が実行した扱いにするかを変えます。@sの意味が変わるため、セレクターを使う処理で重要です。

/execute as @e[type=minecraft:zombie] run say I am zombie

atは実行位置を変える

atは、コマンドをどこの座標で実行するかを変えます。パーティクル、音、ブロック判定、座標指定で重要です。

/execute at @e[type=minecraft:zombie] run particle minecraft:flame ~ ~1 ~ 0 0 0 0 1

両方使う形

/execute as @e[type=minecraft:zombie] at @s run particle minecraft:flame ~ ~1 ~ 0 0 0 0 1

この形では、各ゾンビを実行者にし、そのゾンビの位置でパーティクルを出します。迷ったときは「誰として」「どこで」を分けて考えると整理しやすいです。

as だけ・at だけだとどうなるか

違いを確かめるには、次の2つを比べるのが分かりやすいです。

/execute as @e[type=minecraft:zombie] run setblock ~ ~2 ~ minecraft:glowstone
/execute at @e[type=minecraft:zombie] run setblock ~ ~2 ~ minecraft:glowstone

1つ目は実行者だけがゾンビに変わり、位置は元のままなので、コマンドを実行した場所の上に1つだけグロウストーンが置かれます。2つ目は各ゾンビの位置で実行されるので、ゾンビそれぞれの頭上に置かれます。

@s が指す相手

as を使うと、run 以降の @s がその対象を指すようになります。at は位置だけを変えるため、@s は元の実行者(プレイヤーやコマンドブロック)のままです。

/execute as @a run tellraw @s {"text":"あなた宛てのメッセージ"}

この場合、全プレイヤーそれぞれに本人宛てのメッセージが届きます。as を外して /tellraw @s ... をコマンドブロックで実行すると、@s はコマンドブロック自身になり、誰にも表示されません。

順番を逆にすると

as @a at @s は「各プレイヤーとして、そのプレイヤーの位置で」実行します。一方 at @s as @a は「元の実行者の位置で、各プレイヤーとして」実行するため、位置はプレイヤーごとに変わりません。execute は左から順に処理されることを覚えておくと、意図しない動きを防げます。

よくある組み合わせ

at と positioned as の違い

at は位置に加えて、向きとディメンションも対象に合わせます。positioned as は位置だけを合わせ、向きは元のままです。^(ローカル座標)を使うときは向きが関係するので、対象の向きを使いたいなら at、元の向きのままにしたいなら positioned as を選びます。

うまくいかないときの確認ポイント

よくある質問

統合版でも同じですか?

統合版1.19.50以降は、Java版と同じ as・at の考え方で書けます。距離の条件は r= で書く点が違います。

実行者が誰になっているか確かめるには?

run say テスト を付けて実行すると、チャットに実行者の名前が表示されます。何回表示されたかで、何回実行されたかも分かります。

関連ページ

execute生成

as、at、ifを組み合わせたコマンドを作れます。

execute辞典

executeの構文を確認できます。

あわせて読みたい記事とコマンド例

コマンドブロックで失敗しにくい作り方:入力・条件・連鎖の基本

コマンドブロックでコマンドを動かすときの基本、反復、チェーン、条件付き、レッドストーン入力…

executeコマンドのエラーを減らす考え方

マイクラのexecuteコマンドでよくあるエラー(runの付け忘れ、統合版の旧構文、asとa…

executeコマンドは何ができるのか:asとatの違いから理解する

executeコマンドのas、at、run、if entityの基本を、初心者向けに実用例で…

プレイヤーの位置で実行する

マイクラでプレイヤーの位置で実行するときのコマンド例。as・at・runの役割を確認する例…

足元のブロックを条件にする

マイクラで足元のブロックを条件にするときのコマンド例。指定したブロックに立っているかを判定し…

tagコマンドの使い方

マイクラのtagコマンドで、プレイヤーやモブに目印(タグ)を付ける方法を解説。tag a…