ターゲットセレクターまとめ

Datapakのコマンドで必須となるターゲットセレクターの種類・引数・使用例を一覧にまとめます。

対応バージョン:Java Edition 1.21.11

目次

ターゲットセレクターの種類

ターゲットセレクターは@から始まる記号で、コマンドの対象を指定するために使います。

セレクター対象備考
@p最も近いプレイヤー実行者から距離順で1人
@rランダムなプレイヤー引数なしでプレイヤーのみ対象
@aすべてのプレイヤーオフラインのプレイヤーは含まない
@eすべてのエンティティプレイヤー・Mob・アイテムなど全種
@sコマンドの実行者自身関数・コマンドブロックで多用
@n最も近いエンティティ1.21.2以降。実行者自身も対象になる

セレクター引数一覧

引数は@e[引数=値, 引数=値]の形式で指定します。複数指定はカンマ区切りです。

引数説明
typeエンティティIDエンティティの種類で絞り込む。!で否定type=zombie
distance数値 / 範囲実行地点からの距離(ブロック)distance=..10
limit整数対象の最大数を制限するlimit=1
sortnearest / furthest / random / arbitrary対象の並び順を指定sort=nearest
tag文字列タグで絞り込む。!で否定、複数指定可tag=boss
team文字列チーム名で絞り込む。!で否定team=red
scores{スコア=範囲}スコアボードの値で絞り込むscores={point=10..}
name文字列エンティティ名で絞り込む。!で否定name=Steve
gamemodeモード名ゲームモードで絞り込む(プレイヤーのみ)gamemode=creative
level整数 / 範囲経験値レベルで絞り込む(プレイヤーのみ)level=30..
x, y, z数値距離計算の基準座標を変更するx=0,y=64,z=0
dx, dy, dz数値x/y/zからの直方体範囲内に絞り込むdx=10,dy=5,dz=10
x_rotation範囲ピッチ(上下の向き)で絞り込むx_rotation=-90..0
y_rotation範囲ヨー(左右の向き)で絞り込むy_rotation=-45..45
nbtNBT複合タグNBTデータで絞り込む。!で否定nbt={OnGround:1b}
predicate関数IDPredicateファイルの結果で絞り込むpredicate=ns:check
advancements{進捗ID=true/false}進捗の達成状況で絞り込むadvancements={story/root=true}

使用例

半径10ブロック以内のゾンビを全員Kill

kill @e[type=zombie,distance=..10]

スコア「point」が10以上のプレイヤーにタグを付与

tag @a[scores={point=10..}] add qualified

タグ「boss」を持つエンティティだけを対象にパーティクルを出す

execute at @e[tag=boss] run particle minecraft:flame ~ ~1 ~ 0 0 0 0 1 force

ゾンビ以外のすべてのMobをリストアップ(tellraw例)

tellraw @a {"selector":"@e[type=!zombie,limit=1,sort=nearest]"}

実行者を除くプレイヤー全員にメッセージを送る

execute as @a[tag=!self] run tellraw @s "あなた以外に送られたメッセージです"

よくある間違い

@e に limit を付けないと全エンティティが対象になる

NG:kill @e[type=item] → ワールド中のアイテムエンティティが全削除される

OK:kill @e[type=item,distance=..5] → 範囲を絞って意図した挙動にする

sort と limit の組み合わせを忘れる

@e[sort=nearest] だけでは対象は絞られない。limit=1 を必ず組み合わせること。

@r はプレイヤーのみが対象

Mob からランダムに1体選びたい場合は @e[type=zombie,limit=1,sort=random] を使う。@r[type=zombie] は動作しない。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次