ターゲットセレクター(英:Target selectors)はコマンドにおいて、プレイヤー名やUUIDを指定することなく任意にプレイヤーやエンティティを指定することのできる要素である。ターゲットセレクターの変数によって単数・複数のエンティティを指定することが可能である他、ターゲットセレクターに引数を付することによってさらに対象を絞り込むことができる。
例えば、次のように入力することで各プレイヤー名を入力せずとも全てのプレイヤーのゲームモードをクリエイティブに変更することができる。
/gamemode creative @a
ターゲットセレクターの種類[]
種類 | 機能 |
---|---|
@p |
最も近いプレイヤー |
@r |
ランダムなプレイヤー |
@a |
すべてのプレイヤー |
@e |
すべてのエンティティ |
@s |
コマンドを実行したエンティティ |
@c |
プレイヤーのエージェント[Minecraft Education限定] |
@v |
すべてのエージェント[Minecraft Education限定] |
@initiator |
NPCのダイアログをクリックしたプレイヤー[Bedrock Edition限定] |
ターゲットセレクターの種類を使い分けることで対象のカテゴリを大まかに指定することができ、その数はJava Editionでは5つ、Bedrock Editionでは6つ、Education Editionでは8つである。
@p
- コマンドの実行地点から最も近いプレイヤーが指定される。実行地点から全く同じ距離にいるなどにより対象になり得るプレイヤーが複数いる場合は、サーバーに最も遅く参加したプレイヤーが対象になる。
- Bedrock Editionでは、
@p
は生きているプレイヤーのみを対象とする。
@r
- プレイヤーの中からランダムに一人が選ばれ、指定される。
- Bedrock Editionでは、
@r
での引数を用いることによってプレイヤー以外のエンティティを対象とすることができる。Java Editionでは、ランダムなエンティティを指定するためには代わりに@e[sort=random]
を用いる。
- Bedrock Editionでは、
@r
は生きているエンティティのみを対象とする。
@a
- 生死を問わず、全てのプレイヤーが指定される。
@e
- プレイヤーを含め、読み込まれているチャンク内のすべての生きているエンティティが指定される。
@s
- 生死を問わず、コマンドを実行したエンティティが指定される。サーバーコンソールやコマンドブロックによってコマンドが実行された場合には何も指定されない。
@c
[Minecraft Education限定]
- プレイヤーのエージェントのみが指定される。
@v
[Minecraft Education限定]
- すべてのエージェントが指定される。エージェントが1体以上いる場合にのみ有効。
@initiator
[Bedrock Edition限定]
ターゲットセレクターの引数[]
位置で絞りこみ | |
---|---|
引数 | 絞り込みの基準 |
x 、y 、z
|
座標 |
distance [JE限定]r 、rm [BE限定]
|
距離 |
x 、y 、z 、dx 、dy 、dz
|
立方体型の範囲 |
スコアボードの値で絞り込み | |
引数 | 絞り込みの基準 |
scores
|
スコア |
tag
|
タグ |
team [JE限定]
|
チーム名 |
特徴で絞り込み | |
引数 | 絞り込みの基準 |
limit 、sort [JE限定]c [BE限定]
|
数制限 |
level [JE限定]l 、lm [BE限定]
|
経験値レベル |
gamemode [JE限定]m [BE限定]
|
ゲームモード |
name
|
名前 |
x_rotation [JE限定]rx 、rxm [BE限定]
|
仰角・俯角(ピッチ角) |
y_rotation [JE限定]ry 、rym [BE限定]
|
水平角(ヨー角) |
type
|
エンティティの種類 |
family [BE限定]
|
エンティティのグループ |
nbt [JE限定]
|
NBTタグ |
advancements [JE限定]
|
進捗 |
predicate [JE限定]
|
プレディケート |
hasitem [BE限定]
|
アイテム |
ターゲットセレクターの後ろに任意で引数を入力することにより、特定の基準に従ってターゲットの条件をさらに絞りこむことができる。@a
や@e
に合わせて用いると、指定範囲が全体から特定の条件を満たすより細かいグループに変更される。また@p
や@r
と合わせて用いると、抽選対象が指定した条件を満たすグループに狭められる。@s
と合わせて用いた場合、コマンドを実行したエンティティが絞り込まれたグループ内に含まれる場合のみ、そのエンティティが指定される。
引数は、下記のようにターゲットセレクターの後ろの角括弧の中に、カンマで区切って記述する。
@<種類>[<引数>=<値>,<引数>=<値>,...]
Java Editionでは、引数は大文字・小文字について正しく記述されなければならない。またそれぞれの括弧、等号、カンマの前後には半角スペースが入っていても構わない(Java Editionではターゲットセレクターと最初の角括弧の間のみ不可)。それぞれの引数・値の組どうしの間にはカンマを挿入しなければならない。
複数の引数が設定されている場合、その全てを満たすもののみが対象となる(論理積・積集合)。
位置に関する引数[]
[x=<値>,y=<値>,z=<値>]
― 距離や立方体型の範囲や数制限に関する絞り込みの範囲の起点を定義する。これらの引数は単体で用いても絞り込みの機能はなく、起点の変化に因り順序が変わるのみに過ぎない。また、これらの引数を同じターゲットセレクターに対して複数回用いることはできない。- 座標成分の値は倍精度小数点数であり、
+12.34
のような値が使用できる。また、ブロックの中心に対する補正(例:x=0
⇒x=0.5
)はされない。 - Bedrock Editionでは、チルダ表記法が使用できる。
- Java Editionでは、これらの引数を用いるとエンティティの検索は現在いるディメンションでのみに制限される。
ターゲットを距離で絞り込む[]
- 対象を指定した点から一定の半径以内にその足(当たり判定の下底中央)が存在するエンティティに絞り込むことができる。起点の座標を指定しなかった場合は、コマンドが実行された位置からの距離として計算される。またこの引数を用いるとエンティティの検索は現在いるディメンションのみに制限される。この引数を同じターゲットセレクターに複数回使用することはできない。各エディションでの構文は以下の通り。
- Java Edition:
[distance=<value>]
— 浮動小数点数による範囲距離の範囲を指定する。符号の無い値のみ可。
- Bedrock Edition:
[r=<value>]
、[rm=<value>]
— それぞれエンティティを検索する範囲の最大距離と最小距離を指定する。符号の無い値のみ可。
- Java Editionでの例
@e[distance=10]
— ちょうど10ブロックの距離にいるすべてのエンティティを指定する。@e[distance=8..16]
— 8ブロック以上16ブロック以下の範囲にいるすべてのエンティティを指定する。
- Bedrock Editionでの例
@e[rm=9,r=10]
— ちょうど10ブロックの距離にいるすべてのエンティティを指定する。@e[rm=7,r=16]
— 8ブロックから16ブロックの範囲にいるすべてのエンティティを指定する。
ターゲットを範囲で絞り込む[]
[dx=<value>,dy=<value>,dz=<value>]
— ターゲットを指定した起点からのX変位、Y変位、Z変位に基づいた範囲内にJava Editionではそのヒットボックスが、Bedrock Editionではその足があるエンティティに絞りこむ。これらの引数は同じターゲットセレクターに対して複数回使用できない。- 言い換えれば、ターゲットを起点(<x>、<y>、<z>)と対角線のベクトル(<dx>、<dy>、<dz>)で定義された直方体の範囲に当たり判定の一部[Java Edition限定]または当たり判定の足[Bedrock Edition限定]が入っているエンティティに絞り込むということになる。なお、起点の座標が入力されなかった場合はコマンドが実行された地点を指定したものとして処理される。また対角線のベクトル成分の値には符号付きの値や分数も使用することができる。
dx
、dy
、dz
で指定されるのは起点からの「符号付きの変位」であり、直方体の終点(起点に対する最遠点)を指定するものでもなければ、起点を中心として両側に直方体を延ばすものでもないことに注意されたい。- また、3つのうち一部のみを入力した場合は、入力されなかったものは0を指定したものとして見なされる。
- Java Editionでの例
@e[x=1,dx=4,y=2,dy=5,z=3,dz=6]
— (1~5, 2~7, 3~9)(数学的に書けば集合{(x,y,z)∈R3|x∈[1.0,5.0),y∈[2.0,7.0),z∈[3.0,9.0)}が示す領域内)の範囲内にその当たり判定が少なくとも一部含まれるエンティティ全てを指定する。@e[x=1,y=2,z=3,dx=0,dy=0,dz=0]
— 点(1, 2, 3)を当たり判定内に含む全てのエンティティを指定する。
- Bedrock Editionでの例
@e[x=1,dx=4,y=2,dy=5,z=3,dz=6]
— 足が領域(1~5, 2~7, 3~9)内にあるエンティティ全てを指定する。@e[x=1,y=2,z=3,dx=0,dy=0,dz=0]
— 足が点(1, 2, 3)上にあるエンティティ全てを指定する。
- 範囲による絞り込みと距離による絞り込みは併用することができ、その場合は二つの条件が重なった範囲(直方体の起点から特定の距離以内かつ直方体の内部)にいるエンティティが指定される。
ターゲットをスコアで絞り込む[]
[scores={<objective>=<value>,...}]
— ターゲットを指定したオブジェクトにおけるスコアで絞り込む。参照させたいスコアボード及びそのスコアは、すべて波括弧内にカンマで区切って記述する。参照するスコアは整数による範囲で表現する。この引数は一つのターゲットセレクターに対して複数回使用することはできない。@e[scores={myscore=10}]
— オブジェクトmyscoreのスコアがちょうど10のエンティティを全て指定する。@e[scores={myscore=10..12}]
— オブジェクトmyscoreのスコアが10以上12以下のエンティティを全て指定する。@e[scores={myscore=5..}]
— オブジェクトmyscoreのスコアが5以上のエンティティを全て指定する。@e[scores={myscore=..15}]
— オブジェクトmyscoreのスコアが15以下のエンティティを全て指定する。@e[scores={foo=10,bar=1..5}]
— オブジェクトfooのスコアが10ちょうど、かつオブジェクトbarのスコアが1以上5以下のエンティティを全て指定する。
- Bedrock Editionでは、
!
を用いることでスコアの範囲を逆転(補集合)させることができる。@e[scores={myscore=!10}]
— オブジェクトmyscoreのスコアが10でないエンティティを全て指定する。@e[scores={myscore=!10..15}]
— オブジェクトmyscoreのスコアが10以上15以下でない(10未満または15より大きい)エンティティを全て指定する。
ターゲットをタグで絞り込む[]
- ターゲットをそのエンティティのスコアボードのタグで絞り込む。複数のタグを引数として指定することもできるが、指定するタグには少なくとも1体以上の該当するエンティティが存在しなければならない。
[tag=<文字列>]
— 指定したタグを持つエンティティのみに絞る。[tag=!<文字列>]
— 指定したタグを持たないエンティティのみに絞る。[tag=]
— 0タグを持つエンティティのみに絞る。[tag=!]
— 少なくとも1つ以上タグを持つエンティティを除外する。
ターゲットをチームで絞り込む[Java Edition限定][]
- チームを基準にターゲットを絞り込む。合致しないものを指定する引数は複数指定できるが、合致するものを指定する引数は複数指定することはできない。
[team=<チーム名>]
— 指定した名前のチームに入っているエンティティのみに絞る。[team=!<チーム名>]
— 指定した名前のチームに入っているエンティティを除外する。[team=]
— チームに入っていないエンティティのみに絞る。[team=!]
— チームに入っていないエンティティを除外する。
ターゲットを数制限で絞り込む[]
- ターゲットセレクターが選択できるエンティティの数を制限する。
@p
や@r
の種類のターゲットセレクターでは、この引数はデフォルトで1に設定されており、これらに数制限を指定すると選択されるエンティティの数を増やすことができる。@a
や@e
に数制限を指定した場合、指定した数以上のエンティティを検出しなくなる。なおこの引数は複製できない。
- Java Edition:
[limit=<値>,sort=(nearest|furthest|random|arbitrary)]
— ターゲットの数を制限して、かつ選択されるエンティティ優先方式を指定する。sort=nearest
— 指定した点または実行点(デフォルト)から最も近いエンティティから優先的に選択する。(@p
のデフォルト)sort=furthest
— 指定した点または実行点(デフォルト)から最も遠いエンティティから優先的に選択する。sort=random
— ランダムな順序で選択する(@r
のデフォルト)sort=arbitrary
— スポーンした時間の順に選択する。(@e
及び@a
のデフォルト)
- Bedrock Edition:
[c=<値>]
— ターゲットの数を制限する。 @p
や@a
、@e
では、[c=<値>]
と入力すると指定した値だけの数のエンティティを最も近いものから順に選択する。c
の値が負の場合は、選択される順番が逆になる(例えば、@p[c=-1]
と入力すると最も遠いプレイヤーが指定される)。@r
では数制限は有効だが負の値を利用して順番を入れ替えることはできない。
- Java Editionでの例
@a[limit=3,sort=nearest]
または@p[limit=3]
— 最も近い3人のプレイヤーを選択する。@a[limit=4,sort=furthest]
— 最も遠い4人のプレイヤーを選択する。@a[limit=2,sort=random]
または@r[limit=2]
— ランダムに2人のプレイヤーを選択する。
- Bedrock Editionでの例
@a[c=3]
— 最も近い3人のプレイヤーを選択する。@a[c=-4]
— 最も遠い4人のプレイヤーを選択する。@r[c=2]
— 生きている2人のプレイヤーをランダムに選択する。
ターゲットを経験値レベルで絞り込む[]
- エンティティの経験値レベルを基準にターゲットを絞り込む。この引数を使用した場合自ずと非プレイヤーエンティティが除外される(経験値を持たないため)。またこの引数は1つのターゲットセレクターに対して複数使用することはできない。
- Java Edition:
[level=<レベルの範囲を>]
— レベルの範囲を整数による範囲で指定する。
- Bedrock Edition:
[l=<レベル>]
と[lm=<レベル>]
— それぞれ、レベルの範囲の上限と下限を指定する。
- Java Editionでの例
@a[level=10]
— 経験値レベルがちょうど10のプレイヤーを全て指定する。@a[level=8..16]
— 経験値レベルが8以上16以下のプレイヤーを全て指定する。
- Bedrock Editionでの例
@a[lm=10,l=10]
— 経験値レベルがちょうど10のプレイヤーを全て指定する。@a[lm=8,l=16]
— 経験値レベルが8以上16以下のプレイヤーを全て指定する。
ターゲットをゲームモードで絞り込む[]
- ゲームモードを基準にターゲットを絞り込む。この引数を用いると自ずとプレイヤー以外のエンティティは除外される(ゲームモードを持たないため)。「ゲームモードが〜に等しい」ことを確認する引数は複数合わせて使用できないが、「ゲームモードが〜に等しくない」ことを確認する引数は複数用いることができる。
- Java Edition:
[gamemode=<ゲームモード名>]
— 指定したゲームモードになっているプレイヤーのみに絞り込む。 [gamemode=!<ゲームモード名>]
— 指定したゲームモードになっているプレイヤーを除外する。
- Bedrock Edition:
[m=<ゲームモード名>]
— 指定したゲームモードになっているプレイヤーのみに絞り込む。 [m=!<ゲームモード名>]
— 指定したゲームモードになっているプレイヤーを除外する。
- <ゲームモード名>として用いることのできる値は are
spectator
[JE限定]、survival
、creative
、adventure
である。Bedrock Editionでは、短縮表記のs
または0
、c
または1
、a
または2
も値として使用できる(それぞれサバイバルモード、クリエイティブモード、アドベンチャーモードに対応)。
ターゲットを名前で絞り込む[]
- エンティティの名前(≠種類)を基準にターゲットを絞り込む。使用する値は文字列であるので、引用符に挟んだ場合は値の中に半角スペースがあってもよい。また値にJSONテキストコンパウンドは使用できない。なお、「〜という名前である」という条件の引数は複数使用できないが、「〜という名前でない」という条件のものは複数使用できる。
[name=<名前>]
— 指定した名前のエンティティのみにターゲットを絞り込む。[name=!<名前>]
— 指定した名前のエンティティをターゲットから除外する。
ターゲットを仰・俯角で絞り込む[]
- エンティティの仰角・俯角(ピッチ角とも。単位は度。)に基づいてターゲットを絞り込む。値の範囲は-90(直上)~0(水平方向)~90(直下)。この引数は一つのターゲットセレクターに対して複数使用することはできない。
- Java Edition:
[x_rotation=<角度>]
— 仰角・俯角の角度の範囲を浮動小数点数による範囲で指定する。 なおx_rotation
という名称はエンティティに対する相対座標系でX軸を中心にした回転が仰角・俯角に該当するためである。
- Bedrock Edition:
[rx=<value>]
と[rxm=<value>]
— それぞれ仰角・俯角の最大値・最小値を指定する。 - Java Editionでの例
@e[x_rotation=0]
— ちょうど水平方向を向いているエンティティ全てを指定する。@e[x_rotation=30..60]
— 下向き60°以上下向き30°以下の範囲を向いているエンティティをすべて指定する。@e[x_rotation=..0]
— 水平方向またはそれより上を向いているエンティティを全て指定する。
- Bedrock Editionでの例
@e[rxm=0,rx=0]
— ちょうど水平方向を向いているエンティティ全てを指定する。@e[rxm=30,rx=60]
— 下向き60°以上下向き30°以下の範囲を向いているエンティティをすべて指定する。@e[rx=0]
— 水平方向またはそれより上を向いているエンティティを全て指定する。
ターゲットを水平角で絞り込む[]
- エンティティの水平方向の回転角(東西南北など。水平角・ヨー角とも)に基づいてターゲットを絞り込む。水平角の単位は度で、-180が真北、そこから時計回りに-90が真東、0が真南、+90が真西、そして+180が再び真北を表す。この引数を一つのターゲットセレクターに対して複数使用することはできない。
- Java Edition:
[y_rotation=<角度>]
— 水平角の角度の範囲を浮動小数点数による範囲で指定する。 なおy_rotation
という名称はエンティティに対する相対座標系でy軸を中心にした回転が水平角に該当するためである。
- Bedrock Edition:
[ry=<value>]
and[rym=<value>]
— それぞれ水平角の最大値・最小値を指定する。
- Java Editionでの例
@e[y_rotation=0]
— ちょうど真北を向いているエンティティ全てを指定する。@e[y_rotation=-90..0]
— 真東~真南(開区間)を向いているエンティティをすべて指定する。@e[y_rotation=0..180]
— 真南~西~真北の範囲を向いているエンティティを全て指定する。
- Bedrock Editionでの例
@e[rym=0,ry=0]
— ちょうど真北を向いているエンティティ全てを指定する。@e[rym=-90,ry=0]
— 真東~真南(開区間)を向いているエンティティをすべて指定する。@e[rym=0,ry=180]
— 真南~西~真北の範囲を向いているエンティティを全て指定する。
ターゲットをエンティティの種類で絞り込む[]
- エンティティの種類に基づいてターゲットを絞り込む。エンティティの種類はエンティティIDまたはエンティティタイプタグ[Java Edition限定]で指定する必要がある。ただし名前空間
minecraft
に属する場合のみ名前空間を省略して記述することができる。エンティティIDとタグは大文字・小文字を正しく記述する必要がある。なおこの引数は「~のエンティティID・タグに属する」条件を指定する場合は複数使用ができないが、「~に属さない」という条件のものは複数使用ができる。
[type=<種類]
— 指定したエンティティの種類またはタグに属するターゲットに絞り込む。[type=!<種類>]
— 指定したエンティティの種類またはタグに属さないターゲットを除外する。
ターゲットをエンティティのグループ(entity_family)で絞り込む[Bedrock Edition限定][]
- エンティティのtype_familyというbehaviorの要素によってターゲットを絞り込む。バニラのbehaviorパックには
mob
やinanimate
のような上位のfamilyからzombie
、skeleton
などの細かいfamily、そして1種類のMobのみを含むwandering_trader
、creeper
などのfamilyが存在する。複数のfamilyを指定することもできるが、指定するfamilyには少なくとも1つ以上のエンティティが含まれなければならない。
[family=<family>]
— 指定したfamilyに含まれるエンティティのみに絞る。[family=!<family>]
— 指定したfamilyに含まれるエンティティを除外する。
@e[family=skeleton]
— 全てのスケルトン、ストレイ、ウィザースケルトンを指定する。@e[family=mob,family=!monster]
— モンスターではない全てのMob(例えばウシ、ニワトリ、ブタなどは含むがゾンビやスケルトンは含まない)を全て指定する。@e[family=monster,family=undead]
— アンデッドに属する全てのモンスター(例えばゾンビやスケルトンなどは含むがクリーパーやエンダーマンは含まない)を指定する。
ターゲットをNBTタグで絞り込む[Java Edition限定][]
- エンティティのNBTデータに基づいてターゲットを絞り込む。NBTデータはそのエンティティのSNBTフォーマットに記述されている。
- 詳しくはNBTフォーマット#testing NBT tagsを参照。
- なお、このタグを使用するとNBTタグの処理によりCPUに強い負荷がかかる恐れがあるので注意して使用することが推奨される。
[nbt=<compoundTag>]
— 指定したNBTデータをもつエンティティにターゲットを絞り込む。[nbt=!<compoundTag>]
— 指定したNBTデータをもつエンティティをターゲットから除外する。
@a[nbt={OnGround:true}]
— 地面に接している全てのプレイヤーを指定する。@e[type=sheep,nbt={Color:0b}]
— すべての白色のヒツジを指定する。@e[type=item,nbt={Item:{id:"minecraft:slime_ball"}}]
— すべてのアイテム化したスライムボールを指定する。@e[nbt={Tags:[a,b]}]
と@e[tag=a,tag=b]
は等価であり、後者の方が単純でCPUへの負荷が小さい。
ターゲットを進捗で絞り込む[Java Edition限定][]
- エンティティの進捗でターゲットを絞り込む。この引数を使用すると、おのずとターゲットがプレイヤーに限られる(その他のエンティティは進捗を持たない)。条件として設定したい進捗は、波括弧内に進捗のIDと、trueまたはfalseで指定した進捗の達成状況との組をすべてまとめて記述する。また進捗の各達成基準(例:「冒険の時間」で「吹きさらしの丘」を訪れたか否かなど)を指定することもできる。但し、一つの基準しかもたない進捗に関しては達成基準を指定しても進捗自体を指定しても結果は変わらない。またこの引数を複数回使用することはできない。
[advancements={<名前空間ID>=<ブール値>}]
— 指定した進捗の達成状態に合致するエンティティにターゲットを絞る。[advancements={<名前空間ID>={<達成基準>=<ブール値>}}]
— 指定した進捗の達成基準の達成状況が合致しているエンティティにターゲットを絞る。
@a[advancements={story/smelt_iron=true}]
— Include only players who have completed the advancement 実績minecraft:story/smelt_iron(金属を手に入れる)を達成しているプレイヤー全てを指定する。@a[advancements={story/form_obsidian=false}]
— 実績minecraft:story/form_obsidian(アイス・バケツ・チャレンジ)を達成していないプレイヤーを全て指定する。@a[advancements={story/follow_ender_eye=true}]
(実績「アイ・スパイ」を達成したすべてのプレイヤー)は@a[advancements={story/follow_ender_eye={in_stronghold=true}}]
(実績「アイ・スパイ」の達成条件である要塞への到達を達成したすべてのプレイヤー)と等意である。@a[advancements={adventure/kill_all_mobs={witch=true}}]
— 実績minecraft:adventure/kill_all_mobs「モンスター狩りの達人」の達成基準の一つ、ウィッチの討伐を達成しているプレイヤーを全て指定する。
ターゲットをプレディケートで絞り込む[Java Edition限定][]
- プレディケートでターゲットを絞り込む。指定する値は名前空間内に表現されている有効な値でなければならない。複数の引数を指定できるが、各プレディケートは少なくとも該当するエンティティが1体いなくてはならない。
[predicate=<resource location>]
— 指定したプレディケートに該当するエンティティにターゲットを絞る。[predicate=!<resource location>]
— 指定したプレディケートに該当しないエンティティをターゲットから除外する。
ターゲットをアイテムで絞り込む[Bedrock Edition限定][]
- エンティティが指定したアイテムを持っているかでターゲットを絞り込む。指定する値は角括弧または波括弧で挟まなければならない。この引数を複数使用することはできない代わりに、角括弧の中に複数のアイテムを指定できる。
[hasitem={<引数>=<値>,<引数2>=<値2>,...}]
— 指定した条件1、2…にあうアイテムを持つエンティティにターゲットを絞る。[hasitem=[{<引数A>=<値A>,...},{<引数B>=<値B>,...}]]
— 条件に合うアイテムA、B…を持つエンティティにターゲットを絞る。- 引数として使用可能な値は以下の通り
item
- 値としてアイテムIDを指定する。
- 現在コンクリートパウダーで動作しない。
data
- アイテムに対するデータを指定しなければならない。32ビットの整数である必要があり、指定したアイテムIDに対して無効なIDはデフォルトで0になる。指定しない場合はデフォルトで0である。
- デフォルトが0であるので、例えば
{item=potion}
なら水入り瓶が、{item=potion,data=1}
ならありふれたポーションが指定される。 - 現在、ブロック状態がそのままアイテムのデータに対応しているもの(土、石、羊毛など)に関しては動作せず、またインベントリ内でのこれらのアイテムのデータ値は常に0として見なされているので、荒れた土や緑の羊毛といったデータ値で識別されているブロックのアイテム単独でエンティティを絞り込むことができない。
- ポーションや効果付きの矢に関しては、補助のデータ値はそれぞれ対応する効果を表現できるものの、無効な値を指定するとゲームがクラッシュする。
quantity
- エンティティがそのアイテムを持って居る数を整数による範囲で指定する。
!
を用いると範囲を反転させることができる。例えば{item=apple,quantity=!5}
では5つのリンゴをもっているエンティティを除外できる。- 指定していない場合はデフォルトで
quantity=1..
(1個以上)を指定したものとして見なされる。quantity=0
の場合は、そのアイテムを持っていないエンティティがターゲットされる。
location
及びslot
- アイテムの状態を確認するスロットを指定する。
location
でスロットの場所、slot
の番号を指定する。下表及び/replaceitem
参照。 location
を指定せずにslot
を指定すると無効になる。slot
は整数による範囲
- アイテムの状態を確認するスロットを指定する。
スロットの場所 有効なスロットの番号範囲 制約 slot.weapon.mainhand
(利き手の武器)0 Mob、防具立て、プレイヤー のみ(including armor stands), and players only (though not all mobs will show or make use of these slots) slot.weapon.offhand
(オフハンドの武器)0 slot.armor.head
(ヘルメット)0 slot.armor.chest
(チェストプレート)0 slot.armor.legs
(レギンス)0 slot.armor.feet
(ブーツ)0 slot.hotbar
(ホットバー)0-8 プレイヤーのみ slot.inventory
(インベントリ)0-そのエンティティのインベントリのスロット数 minecraft:inventory
をもつエンティティのみslot.enderchest
(エンダーチェスト)0–26 プレイヤーのみ slot.saddle
0 手懐けられるウマ、ロバ、ラマのみ slot.armor
0 ウマのみ slot.chest
0–チェストのスロットの数 チェストを付けられるMobのみ slot.equippable
0-装備できるスロットの数 minecraft:equippable
を持つエンティティのみ[要コード検証]
歴史[]
Java Edition | |||||
---|---|---|---|---|---|
1.4.2 | 12w32a | ターゲットセレクターが追加された。 | |||
1.8 | 14w02a | @e ターゲットセレクターの種類が追加された。 | |||
14w03a | to ターゲットセレクターの引数用にdx 、dy 、dz が追加された。 | ||||
1.9 | 16w02a | 引数m で直接表記や略称表記でのゲームモード(a 、adventure など)、及び補集合の指定ができるようになった。 | |||
1.11 | 16w38a | ターゲットセレクターでの省略表記(@e[167,28,454] など)が削除された。
| |||
Invalid @e[Type=creeper] 、@e[asdf=nonexistent] 、@e[malformed] のような無効なターゲットセレクターが無視されるのではなくエラーを返すようになった。 | |||||
1.12 | 17w16b | 新しい[#ターゲットセレクターの種類 | |||
ターゲットセレクターの種類]]@s が追加された。 | |||||
1.13 | 17w45b | ターゲットセレクターの引数にnbt が追加された。 | |||
Bedrock Edition | |||||
? | ターゲットセレクターが追加された。 | ||||
1.17.10 | beta 1.17.10.22 | @initiator が追加された。 | |||
1.18.20 | beta 1.18.20.21 | 引数hasitem が追加された。 |
問題点[]
「ターゲットセレクター」に関する問題点は、バグトラッカーにて管理されている。問題点の報告はそちらで行ってほしい。
関連項目[]
デモ版 | |||||||
---|---|---|---|---|---|---|---|
開発 |
| ||||||
技術的情報 |
| ||||||
マルチプレイ | |||||||
ゲームのカスタマイズ |