【マイクラ統合版】ターゲットセレクターの使い方

こんにちは!1mpulser(インパルサー)です!

今回は、コマンドを作成するにあたって重要な
「ターゲットセレクター」と、
「ターゲットセレクター引数」について説明させていただきます!

※この記事はMinecraft統合版に基づく内容です。



ターゲットセレクターとは?



コマンドを作る上で、ずーっと使用するものです。
人やエンティティを区別できるんです。これ。

ランダムなプレイヤーを選択したい、あるモブだけを選択したい、
アイテムを持っているプレイヤーだけを選択したい。
このような事ができちゃうんです!
ちょっとずつでいいから、使ってみましょうね!!

ターゲットセレクター



ターゲットセレクターはコマンドを作る上で
必ず覚えてほしいものの一つです!

@s
→自分自身を指します。
@p
→実行座標から一番近いプレイヤーを指します
@a
→ワールドに存在する全てのプレイヤーを指します。
@e
→ワールドに存在する全てのエンティティを指します。
@r
自分を含む全てのプレイヤーからランダムで1人を指します。
@initiator
NPC(コマンドでしか召喚できないエンティティ)
話しかけたプレイヤーを指します。

エンティティの種類で指定 「type=」



「type=」は、エンティティの種類で分けることができます!
例えば、

#ゾンビを全員倒す(killする)コマンド
kill @e[type=zombie]

#落ちているアイテムを自分のところにtpさせるコマンド
tp @e[type=item] ~~~

このように、ゾンビやスケルトンなどの全てのモブ、
プレイヤーや落ちているアイテムまでも選択できちゃいます!

また、「type=!item」 のように、type=の後に半角の「!」を
つけると、「アイテム以外の」という意味になります。

type= の後に何が続くかは、予測変換で見る事ができます!
ぜひ一度ご覧になってください!!

名前で指定 「name=」



「name=」は名前ごとに分けることができます!
これは、プレイヤーの名前
アイテムの名前(金床で変更後の名前でも可)も指定できます!
例えば、

#steveという名札をつけたモブをtpさせるコマンド
tp @e[name=steve] ~~~

#「毒リンゴ」という名前のりんごを消す(killする)コマンド
kill @e[name=毒リンゴ]

このように使用できます!
特に、アイテムの名前を指定できるのは、
脱出ゲームやギミックにおいても重要なコマンドでしょう!!

また、この引数も、name=の後に「!」をつけて、
「〇〇という名前以外の」という意味にできます!

範囲を円で指定 「r=」「rm=」



これはまじで使えます。
使い勝手が一番いいです。これしか言うことない。

「r=」は、コマンドを実行した場所から、
指定した円の半径にいるものだけ指定することができます。
また、
「rm=」は、「r=」と反対の意味をしていて、
指定した円の半径にいないものを指定できます。

#半径3ブロック以内にいる人に移動速度上昇IIをつける
effect @a[r=3] speed 1 2 

#半径10ブロック以内にいない人をkillする
kill @a[rm=10]

#半径10ブロック以上、20ブロック以内にいる人をkillする
kill @a[rm=10,r=20]

ここで注意してほしいのは、
指定できるのは、指定した半径の円の範囲に、
「足」が入っているものだけです!
頭だけでは反応しません。

「r=」は知っていても、「rm=」は知らなかった人もいるかもしれません。
頭の片隅にでも置いておこうな!

座標で指定 「x= y= z=」 「dx= dy= dz=」



これは、理解するのにも、実践して使うのにもかなり時間がかかります。
ちょっと読んでみて、分かんなかったらすっ飛ばしていいですからね!

「x= y= z=」と「dx= dy= dz=」は一緒に使うものです!
座標で指定することができて、
「x= y= z=」はそれぞれ、x座標y座標z座標の起点を指します。
「dx= dy= dz=」は終点を指します。

簡単に言えばあれです。fillコマンドの座標指定みたいな感じで、
四角い範囲で指定できるんです。

#座標(0,-60,0)から、座標(3,-57,3)の範囲にいるランダムな人1人をtp
tp @r[x=0,y=-60,z=0,dx=3,dy=3,dz=3] 座標

#座標(0,0,0)の座標にいる人をkillする
kill @e[x=0,y=0,z=0,dx=0,dy=0,dz=0]

これも「r=」と同じで、
「足」が入っているものだけ指定できます。気をつけてね。

tagで管理 「tag=」



tagコマンドで設定したtagを基に指定できます。
tagコマンドの説明はしないぜ!

#tag「nige」がついている人に、「あなたは逃げ側です」とタイトルを出す
title @a[tag=nige] title あなたは逃げ側です

#tag「nige」「dead」がどっちもついている人をtpさせる
tp @a[tag=nige,tag=dead] 座標

#tag「oni」「nige」がどちらもついていない人をスペクテイターにする
gamemode spectator @a[tag=!oni,tag=!nige]

シンプルでわかりやすいですし、
覚えておくべきな引数だと思います!

scoreboardで管理 「scores={}」



「tag=」と同様、scoreboardコマンドもここでは解説しないぜ!

#scoreboard「respawn」が0の人をスペクテイターにする
gamemode spectator @a[scores={respawn=0}]

#scoreboard「respawn」が1以上だったら、アドベンチャーにする
gamemode adventure @a[scores={respawn=1..}]

#scoreboard「respawn」が1以上100以下だったら、アドベンチャーにする
gamemode adventure @a[scores={respawn=1..100}]

#scoreboard「respawn」が0以上100以下ではなかったら、tpする
tp @a[scores={respawn=!0..100}] 座標

「score={}」の唯一違うところは、数値で管理できること。
scoreboardを理解すれば、自然とこれも理解できるはずです!

エンティティの数で指定 「c=」



「c=」。あまり見ることがない人もいるかもしれません。
地味に使えるんすこれ。覚えよう!

「c=」は指定したいエンティティの数を決めれます!
そんなじゃない?って思った人いるかも。でもな、これ
近くのエンティティから数えてくれるんです。

「c=」の後にプラスの値を入れると、
指定した数のエンティティを最も近い順に指定し、
マイナスの値を入れると、
最も遠い順に指定できるんです。

これを使えば、@eの@pバージョンが作れます!
そしてなんと、@rの複数バージョンも作れてしまうのです!
これはえぐいぜ

#最も近くのエンティティ1体をtpさせる
tp @e[c=1] 座標

#最も遠くのエンティティ1体をtpさせる
tp @e[c=-1] 座標

#2人のプレイヤーをランダムでkillする
kill @r[c=2]

もーこれは地味に神なんす。覚えてくれ。頼むぜ。

持ってるアイテムで指定 「hasitem={}」



これはねー。コマンド界隈を震え上がらせた神引数やね。
最強っす。

持っているアイテム、個数、データ値(耐久値)、
アイテムの場所を指定できるんすわ。ガチ神でござんす。

#ダイヤモンドを持っている人をtpする
tp @a[hasitem={item=diamond}] 座標

#ダイヤモンドを右手に持っている人をtpする
tp @a[hasitem={item=diamond,location slot.weapon.mainhand}] 座標

#ダイヤモンドを3個持っている人をtpする
tp @a[hasitem={item=diamond,quantity=3}] 座標

#ダイヤモンド5個以上、エメラルド3個以上持っている人をtpする
tp @a[hasitem={item=diamond,quantity=5..,item=emerald,quantity=3..}] 座標

持っているアイテムは、giveコマンドで出すときのIDと同じ。
何種類でも追加できる。
個数は、「scores={}」と同じで、以上以下未満がつかえる。
ちなみに、個数を0にもできちゃうのがいいとこ。
アイテムの場所だと、「slot.weapon.mainhand」をよく使うね。
右手(利き手)を指定するから、よく使うよ。

ちょっと残念なのが、「金床で変えた名前までは指定できない」
ってところ。
これできるようになったら、コマンド界隈大盛り上がりです。

ゲームモードで指定 「m=」



使うところが限られますが、地味に助かる引数です。
サバイバル・アドベンチャー・クリエイティブ・スペクテイターを指定できます。

#ゲームモードがアドベンチャーの人をtpする
tp @a[m=adventure] 座標

#ゲームモードがスペクテイターの人をtpする
tp @a[m=spectator] 座標

サバイバル・アドベンチャー・クリエイティブは省略して、
s , a , cでも指定できますが、スペクテイターは未対応です!

おわりに


いかがだったでしょうか!ターゲットセレクターと引数、
これ使いこなせたら大分コマンドの幅が広がると思います。

今回説明していない、rx,ry,rxm,rym,l,lmは
ほぼ使わないので紹介しません!

この機会にターゲットセレクター覚えてみてね!
ここまで閲覧ありがとうございました!!!

1mpulser(インパルサー)


←前の記事

これが一番最初の記事です。前の記事はありません。

次の記事→


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