マルチプレイなら『シン・VPS』がおすすめ!

【コマンド】自分以外のプレイヤーを対象にする方法2つ【マイクラ】

【コマンド】自分以外のプレイヤーを対象にする方法2つ【マイクラ】

この記事では、Minecraft Java Edition(バージョン1.18.1)の情報をもとに執筆しています。
そのほかのバージョンや機種などでの動作は保証できません。

自分以外のプレイヤーだけをコマンドの対象にしたいマインクラフター
「自分以外のプレイヤーを対象にするにはどうすればいいの? 自分以外をキルしようとしているんだけど、それ以外にも何か役立つ時ってある?」

こんな疑問を解決します!

本記事の内容
  • 自分以外のプレイヤーを対象にする方法2つ
  • 自分以外のプレイヤーを指定して行うコマンドの代表例

こんにちは! マインクラフターのなつめ(@natsume_717b)です。

なつめ

マイクラ歴は5年程で、最近は脱出マップを配布・制作しています!
→配布マップ・ダウンロードページ

この記事では、自分以外のプレイヤーを対象にする方法について解説しています。

自分以外のプレイヤーをコマンドの対象にする方法は幾つか挙げられますが、この記事ではメジャーな方法ともう一つ便利な方法を紹介します。

どちらの方法にも良い点・悪い点があるので、使い分けることが大事です。
記事の後半では、自分以外を対象としてコマンドを実行するものに何があるのかなどをお話していますので、ぜひ最後までよろしくお願いします。

それでは、さっそく見ていきましょう!



自分以外のプレイヤーを対象にする方法2つ

自分以外のプレイヤーだけを対象としたい場合、幾つか方法がありますが今回は2つの方法を紹介します。

1つ目はプレイヤーの名前(ID)で自分以外のプレイヤーを指定する方法
もう1つはタグによる差別化を図る方法です。

どちらにもメリット・デメリットがありますので、状況や自分の扱いやすさで使い分けましょう。

1:プレイヤーIDで選別する

プレイヤーIDを使いつつ自分以外のプレイヤーを選択するには、nameという項目をターゲットセレクターに用いる必要があります。

実際にやってみると以下のようになります。

@a[name=!A123]

name=の後ろがプレイヤーIDを入力する場所です。
今回はA123というIDを持っているプレイヤー以外を対象にするため、IDを入力する前に「!」を入れています。
「!」があることで、指定したもの以外を対象にすることができるようになります。

もし「!」がなかった場合は、A123という名前(プレイヤーID)を持つプレイヤーだけを対象とするようになります。

ということで上記のターゲットセレクターを使った場合は、A123というプレイヤーIDを持っているプレイヤー以外のプレイヤーを対象にすることができます。

ただし、name=を入力する際にプレイヤーIDが候補として表示されることはありません。
なので、スペルミスをしても気づけないことが時折あります。
この点だけがややネックですね。

シングルプレイの場合で自分以外を対象とする

シングルプレイの場合は、type=を使うことで簡単に自分以外を対象にすることができます。
簡単に説明すると、プレイヤー以外を対象としてコマンドを実行すれば、おのずと自分以外が対象となります。

そこで使用するターゲットセレクターはこちら。

@e[type=!minecraft:player]

プレイヤー以外のエンティティが対象となるので、ゾンビなどのmobはもちろんのこと防具立てなどがすべてコマンドの対象になります。

自分以外のプレイヤーを対象にするとは少し異なりますが、シングルプレイでコマンドを使う場合には充分活躍するテクニックなので、紹介しました。

2:タグを使って差別化を図る

もう一つの方法としては、タグを使う方法です。
この方法はタグを持っているかどうかで判別する方法で、要するに自分だけに適当なタグを持たせ、それを持っていないすべてのプレイヤーを対象にすれば、自分以外を指定することができます。

タグを追加するコマンドはこちら。

/tag 対象 add タグの名前

対象の部分には自分だけにタグが付与されるように、自分のIDを入力しましょう。
先ほどのname=の時とは違い、プレイヤーIDが表示されるのでそれを選べばOKです。

そして、タグの名前部分には分かりやすくアルファベットや数字で名前を付けておきましょう。
今回はRiceというタグを付けたとして、例に出していきます。

タグを付与することができたら、あとは各コマンドでタグを持っているかどうかの指示をターゲットセレクターで行います。

@a[tag=!Rice]

上記のターゲットセレクターを使用した場合は、Riceというタグを持っていないプレイヤーを対象にするようになっています。
「!」はname=の時に説明したものと同じで、選択したもの以外を対象にしてくれるので、ここで覚えておきましょう。

このtagを使う方法のメリットとしては、都合のいいようにコマンドの影響を受けるかどうかのプレイヤーを選別できる点です。

例えば、ミニゲームを制作して遊んでいるとします。
この時、運営に携わっているプレイヤーにだけコマンドの影響を受けさせたくないという場合には、その運営側のプレイヤーにタグを付与すればいいわけです。

そうすると、自分以外にもそのプレイヤーも除外してコマンドを実行することができます。

タグに関してはまだまだ出来ることがあるので、以下の記事を参考にしてもらえると幸いです。
タグを削除する方法なども記載しています。

【実例付き】タグは対象の判別に役立ちます!【Java版・コマンド】

自分以外のプレイヤーを指定して行うコマンドの代表例

自分以外を対象として実行するコマンドとしては、killコマンドが挙がりやすいかと思います。
先述した「自分以外のプレイヤーを対象にする方法」のターゲットセレクターを@aから@eに変更するだけで、自分以外のエンティティを全てキルすることができるので、邪魔な動物などをキルすることができます。

それ以外にもeffectコマンドやgiveコマンドあたりも、自分以外のプレイヤーを対象にして実行することのあるコマンドとして挙げられます。

effectコマンドで自分以外を対象に発光をするようにすれば、PVPなどで敵の位置を知ることができるようになります。
giveコマンドの場合、自分は持っているけど、他のプレイヤー全員にアイテムを与えたいなんてときに使えますね。

そのほかのコマンドもターゲットセレクターを用いる限りは、自分以外を対象とすることができるので、色々試してみるのがおすすめです。
コマンドは間違ってなんぼなところがあるので、色々試してみると良いですよ。

というわけで、自分以外を対象としてコマンドを実行するものの代表例としてはkillコマンドやeffectコマンド、giveコマンドなどがあるということでした。

まとめ

今回のまとめです。

使ったコマンドはこちら。

今回使ったコマンド
  • 入力したプレイヤーID以外のプレイヤーを全員対象にするターゲットセレクター
@a[name=!プレイヤーID]
  • 入力したタグを持っていないプレイヤーを全員対象にするターゲットセレクター
    (自分だけがそのタグを持っていれば、実質自分以外のプレイヤーだけを対象にしていることになる)
@a[tag=!タグの名前]
ポイント
  • 基本的にはプレイヤーIDで判別できますが、タグなどを使って他のプレイヤーと差別化を図ってもOKです。
  • 自分以外のプレイヤーだけを対象に実行するコマンドとしては、killコマンドやeffectコマンドなどが挙げられます。

この記事は以上になります。

  • 【まとめ】functionコマンドの基本から応用【マイクラ】
  • 【まとめ】カスタムストラクチャーの実装・カスタム方法【マイクラ】