見出し画像

【コマンド】セレクター引数とは??構文や使い方までわかりにくく解説【統合版】



そもそもセレクターとかセレクター引数ってなんぞや?

その条件にあったエンティティを指定することができます。
エンティティとは、プレイヤーやmob、アイテムなどブロック以外のものと思っていただければ大丈夫です

セレクター

コマンドブロックの入力欄の下にも書いてあるやつです。おおまかにどんなエンティティを指定するのかを入力します。

@a:死亡しているかどうかを問わないすべてのプレイヤー
@s:自分自身
@e:すべてのエンティティ
@r:ランダムなエンティティ
@initiator:NPCに話しかけたプレイヤーを指定できます。
*:何かしらのスコアを持つエンティティを指定できます。アスタリスクと呼びます

@e[type=player] と@a の違い

@a は死亡しているかどうかを問わないすべてのプレイヤーで @e[type=player] は死亡していない(生存しているプレイヤー)です。これを応用すれば、死亡検知も可能です

セレクター引数

セレクターの詳細を指定します。殆ど頭文字になっているので覚えやすいです。
引数が複数ある場合それを合わせたものが対象になります(説明下手なので具体例→r=3,c=2の場合半径3ブロック以内の最も近い2つのものを指定します)
基本的に=の前に!を置くことでそれ以外という意味になります(実行できない場合もあります例えばc)
大量にあるのでよく使うであろう一部のみ載せておきます。

r:半径を指定します
c:最も近いものを指定します。遠いものから指定する場合は数値に- をつけます
m:ゲームモードを指定します。
cはクリエイティブ、sはサバイバル、aはアドベンチャー 
rm:rの逆です。
rは!で指定できないのでこれで指定します。
その半径内にいないものを指定します 
scores:スコアを指定します。構文は後述します
 type:そのままエンティティの種類を指定します。
クリーパーならtype=creeper name:名前で指定します

引数で絶対座標や相対座標(正確には相対座標で範囲を指定する場合)も指定することができます

構文の例

半径5ブロック以内にいないクリーパー以外を指定する場合(ややこしい)
@e[type=!creeper,rm=5]

Aというスコアが30以上のプレイヤーを指定する場合
@a[scores={A=30..}]←数字の前か後に..と入力することで以上、以下という意味

ランダムなrandomという名前のエンティティを指定する場合
@r[name=random]

最後に

初めての記事でしたが楽しかったです。ほぼコピペしただけですが、、、


この記事が気に入ったらサポートをしてみませんか?