【マイクラ統合版】ターゲットセレクターの使い方
こんにちは!1mpulser(インパルサー)です!
今回は、コマンドを作成するにあたって重要な
「ターゲットセレクター」と、
「ターゲットセレクター引数」について説明させていただきます!
※この記事はMinecraft統合版に基づく内容です。
ターゲットセレクターとは?
コマンドを作る上で、ずーっと使用するものです。
人やエンティティを区別できるんです。これ。
ランダムなプレイヤーを選択したい、あるモブだけを選択したい、
アイテムを持っているプレイヤーだけを選択したい。
このような事ができちゃうんです!
ちょっとずつでいいから、使ってみましょうね!!
ターゲットセレクター
ターゲットセレクターはコマンドを作る上で
必ず覚えてほしいものの一つです!
@s
→実行したプレイヤー自身を指します。
@p
→実行座標から一番近いプレイヤーを指します。
@a
→ワールドに存在する全てのプレイヤーを指します。
@e
→ワールドに存在する全てのエンティティを指します。
@r
→自分を含む全てのプレイヤーからランダムで1人を指します。
@initiator
→NPC(コマンドでしか召喚できないエンティティ)
に話しかけたプレイヤーを指します。
エンティティの種類で指定 「type=」
「type=」は、エンティティの種類で分けることができます!
例えば、
#ゾンビを全員倒す(killする)コマンド
kill @e[type=zombie]
#落ちているアイテムを自分のところにtpさせるコマンド
tp @e[type=item] ~~~
#プレイヤー以外を全員tpするコマンド
tp @e[type=!player] ~~~
このように、ゾンビやスケルトンなどの全てのモブ、
プレイヤーや落ちているアイテムまでも選択できちゃいます!
また、「type=!item」 のように、type=の後に半角の「!」を
つけると、「アイテム以外の」という意味になります。
type= の後に何が続くかは、予測変換で見る事ができます!
ぜひ一度ご覧になってください!!
名前で指定 「name=」
「name=」は名前ごとに分けることができます!
これは、プレイヤーの名前や
アイテムの名前(金床で変更後の名前でも可)も指定できます!
例えば、
#steveという名札をつけたモブをtpさせるコマンド
tp @e[name=steve] ~~~
#「毒リンゴ」という名前のアイテムを消す(killする)コマンド
kill @e[type=item,name=毒リンゴ]
#steveという名札をつけたモブ以外をtpさせるコマンド
tp @e[name=!steve] ~~~
#「伝説の剣 Lv99」というアイテムを消すコマンド
kill @e[type=item,name=“伝説の剣 Lv99”]
このように使用できます!
特に、アイテムの名前を指定できるのは、
脱出ゲームやギミックにおいても重要なコマンドでしょう!!
また、この引数も、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=」を使っていると、「あれ、、、?なんか反応しないぞ?
ちゃんと検知できるはずなのに、、、」となる時はこの仕様が邪魔してます!
ちゃんと足まで検知してあげれる範囲にしてあげましょう!
「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={}」
これはねー。コマンド界隈を震え上がらせた神引数やね。
最強です!
持っているアイテム、個数、データ値(耐久値)、
アイテムの場所を指定できるんすわ。ガチ神です!ありがとうmojang!
#ダイヤモンドを持っている人を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
1万閲覧ありがとうございます!
←前の記事
これが一番最初の記事です。前の記事はありません。
次の記事→
いいなと思ったら応援しよう!
