ユキミ大福のマイクラBE生活

Minecraft統合版で遊んだりゲーム作ったりするブログ

コマンド構文解説-ちょっと難しいけどとっても便利!/tag-

  投稿日:2021/04/03

最終更新日:2021/05/09

 

どうも、ユキミ大福です。

今回はMinecraft統合版のコマンドの内の1つである『 /tag 』について解説をしていきます。

ここで解説するコマンド等は、解説する注意事項等をよく読み、個人でより詳しく調べた上で、個人の責任において使用して下さい。コマンド等の使用によって如何なる損害が発生しても、筆者であり当ブログの管理者でもあるわたくしユキミ大福は一切の責任を負いかねますので、ご了承下さい。

  

今回のコマンドは?

今回ご紹介するコマンドは『 /tag (タグ)』です。このコマンドは個人的に、Minecraft統合版でのゲーム開発においては三種の神器ならぬ、三種の神コマンドだと思っています(残り2つは /scoreboard (スコアボード) /execute (エグゼキュート) )。

/tag 無しにわたくしが作ったゲームは成り立ちません。それぐらい滅茶苦茶応用性と可能性が広いコマンドなのです。/scoreboard とは役割が被る部分もありますが、それぞれ得意とする分野が異なります。1つ1つ丁寧に解説していきますので、良ければお付き合いください。

 

/tag のコマンド構文

 

/tag <セレクター> <モード> <タグ名>

 

  • <セレクター>:必須
    ターゲットセレクター。ゲーマータグを直接入力可。

  • <モード>:必須
    タグ操作の内容を決定する。以下の3種類が存在する。

    add
     対象のエンティティに指定したタグを付与する。

    remove
     対象のエンティティから指定したタグを削除する。

    list
     対象のエンティティに付与されているタグを表示する。

  • <タグ名>:listの場合は省略する。list以外の場合は必須
    対象のエンティティに付与・削除するタグの名前を指定する。日本語も「 " (ダブルクォーテーション)」で囲えば使用可能。

 

/tag の失敗条件

  • 構文が適切でない(スペルミス等)。
  • addの場合、対象のエンティティが指定したタグを既に持っている場合。
  • removelistの場合、対象のエンティティが指定したタグを持っていない場合。

 

/tag の成功条件

  • 上記の失敗条件を満たしていない場合。
  • listの場合、セレクターに合う対象さえいれば、その対象がタグを1つも持っていなくとも成功扱いになる。

 

/tag の実行例

例1)

コマンド:/tag @p add UserLM

実行結果:基準座標から1番近いプレイヤーに「UserLM」という名前のタグを付与する。

 

例2)

コマンド:/tag @a remove VictimLM

実行結果:全てのプレイヤーから「UserLM」という名前のタグを削除する。

 

例3)

コマンド:/tag @a list

実行結果:全てのプレイヤーに付与されている全てのタグを表示する。

 

/tag の詳細解説

/tag の概要

/tag は指定したエンティティに対して指定したタグを付与・削除するコマンドです。/tag で設定したタグは、ターゲットセレクターの引数として使用することができるため、大きな可能性を秘めたコマンドとなっています。

 

記述法)

tag=(タグ名)

tag=!(タグ名)

 

「=」ではそのタグを持ったエンティティを、「=!」ではそのタグを持っていないエンティティを対象にできます。

タグ名を入力しなかった場合、「=」では何かしらのタグを1つでも持っているエンティティを、「=!」ではタグを1つも持っていないエンティティを対象にできます。

 

/tag の実行結果等々

コマンドの実行結果は「コマンドの成功・失敗・エラー」のいずれかになります。

  • add (アド)
    ◇成功:
     ・「タグ '(タグ名)' を (対象名) に 追加しました」
    ◇失敗:
     ・「ターゲットに既に指定のタグがあるか、タグが多すぎます」
     ・「セレクターに合う対象がありません」

  • remove (リムーブ)
    ◇成功:
     ・「(対象名) からタグ '(タグ名)' を削除しました」
    ◇失敗:
     ・「ターゲットにはこのタグがありません」
     
    ・「セレクターに合う対象がありません」

  • list (リスト)
    ◇成功:
     ・(対象が1つだけの場合)「(対象名) には (タグ数) 個のタグがあります: (タグ名), (タグ名), (タグ名)…
     ・(対象が複数の場合)「(対象数) 個のエンティティには合計で (タグ種類数) 個のタグがあります: (タグ名), (タグ名), (タグ名)…
     ・(対象が1つだけの場合)「(対象名) にはタグがありません」
     ・(対象が複数の場合)「(対象数) 個のエンティティにはタグがありません」
  • ◇失敗:
     セレクターに合う対象がありません」

 

コマンドブロックが保持・出力する結果は「コマンドの実行に成功したか(True or False)」「コマンドが何人に対して成功したか(int)」の2点です。コマンドが成功した人数については、RSコンパレーターを用いてRS動力の形で取り出せます。

 

/tag の強み・使い道

ゲーム制作においては繰り返しになりますが、超重要な役割を果たします。ゲームプレイヤーの管理、プレイヤーの識別、コマンド制御のアイテムの管理など、非常に様々な部分で使用しています。このコマンドは本当に無限の可能性を秘めています。

この/tagで設定したタグをターゲットセレクターの引数にできるのを、ゲーム制作に活用しているというわけです。

 

/tag の弱み・弱点

/scoreboardではオブジェクティブごと削除すれば、オフラインのプレイヤーのスコアもリセットできましたが、/tagではオフラインのプレイヤーのタグに干渉することができません。要は、オフラインのプレイヤーのタグはリセット不可能です。この点だけは注意しましょう。

 

今回のまとめ

  • 『 /tag 』はエンティティにタグを付与するコマンド!

 

関連記事

  • コマンド構文解説-霧を操る…?/fog-
  • コマンド構文解説-エンティティにライド・オン!/ride-

  • コマンド構文解説-モブがアクションを起こす!?/event, /mobevent-
  • コマンド構文解説-あのモブのあのモーションを!?/playanimation-
  • コマンド構文解説-何が起こるんだ!?PART1!/connect ( /wsserver ), /help ( /? ), /kick
  • コマンド構文解説-何が起こるんだ!?PART2!/list, /locate, /schedule-
  • コマンド構文解説-コマンドに革命を起こす…!?/function, /reload-

 

当記事及び当ブログへのご意見・ご質問はいつでも受け付けております。

お気軽にコメント欄までどうぞ!

↓良ければポチッとお願いします。