asは実行者を変える
asは、その後のコマンドを誰が実行した扱いにするかを変えます。@sの意味が変わるため、セレクターを使う処理で重要です。
/execute as @e[type=minecraft:zombie] run say I am zombieatは実行位置を変える
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この形では、各ゾンビを実行者にし、そのゾンビの位置でパーティクルを出します。迷ったときは「誰として」「どこで」を分けて考えると整理しやすいです。