みなさんこんにちは!ちゃんこです。
コマンドブロックでコマンドを入力したら、「セレクター合う対象がありません」と出るのはなぜ?
コマンドは、手動で打つことがとても多いため、どうしても間違ってしまうことはあります。
ですが、コマンドは複雑なので、チャット画面で打つときと、コマンドブロックで打つ時とでは、コードを一部変えなければならないものがあります。
私が過去に、コマンドブロックでコマンド設定をしていた際に、何度見直しても誤字脱字はなく、コードの順番などはどう見ても間違っていないのになぜか「セレクターに合う対象がありません」。
では、今回は、そうなる原因を詳しく解説していこうと思います。
では、どうぞ。
そもそも、「セレクター」って何?
皆さんの中には、そもそも「セレクター」の意味がわからない方がいるのかもしれないので、ここで解説しておきます。
セレクターとは、@s(コマンドを実行する自身)、@p(コマンドを実行するものから一番近いプレイヤー)などの、コマンドを実行する対象のことです。
なので、「セレクターに合う対象はありません」とは、
「セレクター(指示した対象)」に合う「対象(指示した対象にぴったりな対象)」がありません
わかりやすく書くと、こういうことになります。
では、これはどういうことなのでしょうか。それを、ここから詳しく解説していきます。
コマンドがうまく実行できない原因は・・・?(結論)
「give(エンティティにアイテムを与える)」「tp(エンティティをテレポートさせる)」などの、エンティティにコマンドブロックでコマンドをを実行する場合、大切なのはその実行する対象の表記です。
もし、自分で上のコマンドなどを書き、自分で実行する場合は、普通「@s」を使います。
でも、コマンドブロックに「@s」を使うと、コマンドブロック自身にコマンドを実行することになるから、それが実行できずに「セレクターに合う対象がありません」と出るんだね!
その通りです。では、解決するためにはどうしたら良いのでしょうか。
簡単な解決方法
セレクターに、「@s」をコマンドブロックで使う場合、そこを「@p」に変えるのがおすすめです。@sは、自分自身に使うもので、それをコマンドブロックに使う場合は、大体自分でコマンドブロックのスイッチを入れます。
そうなると、周りに誰もピッタリくっついていない場合自分にコマンドが実行されることになります。(@pは、コマンドブロックから最寄りのプレイヤーのこと)
なので、@sは、@pに変えてコードを作りましょう。
終わりに
みなさん、どうでしたか?
もし、コマンドブロックで「セレクターに合う対象がありません」と出た時は、
@sを@pに変える!
これを忘れないでください。
これでも解決しない場合、そもそもセレクターの表記がない場合があります。
では、今回も見ていただき、ありがとうございました。
ばいばい(><)
コメント