コマンドでプレイヤーやMobを指定する時、例えば「name=名前」「score_スコア名=○」などの条件を決めて指定しますね。でも、いちいちMobの名前やスコア名を入力するのって面倒で、メンテナンスも大変…
そこで、tagコマンドを使いましょう。エンティティに「タグ」を付けて分類できるんです。 タグ付きでMobを召喚したり、複数タグの判定も可能。コマンドの仕掛け作りが劇的に楽になります!
「Tag」とは?
tagは完全にスコアボードの代わりではなく、スコアボードと比べて様々なメリット・デメリットがあります
- – 事前にスコアボードを作成したりする必要がない
- – 追加、削除するだけ
- – 判定できるのは「タグを持っているか/いないか」だけ
- – Scoreboardの「stat」のように自動で付与されたりする機能はない
- – Scoreboardの「dummy」のように、「タグ」は数値のデータを持つことができない
- – 「○秒経ったら○○する」はスコアボードを使わないと無理
新機能「Tag」でエンティティやプレイヤーにタグを追加する方法
tagの追加
- /tag type=Villager,nbt={CustomName:“\”店員さん\””}] add Shop [
構文
/tag <ターゲット> add <タグ名>
/kill @e[tag=Shop]で、「Shop」タグを持っているエンティティをキルします。先ほどのコマンドで、「店員さん」には「Shop」タグが付いたので、ここで一気に殺せるわけです。
最初からタグを付けてMobを召喚すればとっても楽!
いちいちMobにタグを追加するのは面倒なので、最初からタグを付けて召喚してみましょう。
- 最初から「Shop」タグが付いた「店員さん」を召喚するコマンド
- /summon Villager ~ ~ ~ {Tags:[“Shop”],CustomName:店員さん}
エンティティの新しいデータタグ「Tags」を使います。[“タグ1″,”タグ2”]のように書くことで複数のタグを付けて召喚することも可能です。例えば「Shop」と「Town」ならTags:[“Shop”,”Town”]と書くんです。
複数のタグを持っているプレイヤー/エンティティを指定する方法
Mobやプレイヤーにタグを何個も付けて、例えば「タグAとタグBをどちらも持っていると何か起きる」みたいな仕掛けを作る時はどうすればいいのでしょうか。答えは簡単。以下のように指定するんです。
- 「Zako」と「Dekabana」タグをどちらも持っている魔女を奈落へ落とすコマンド
- /execute as [type=Witch,tag=Zako,tag=Dekabana] run teleport ~ ~-300 ~
プレイヤー/エンティティに付いているタグを確認/削除するコマンド
プレイヤー/エンティティの持っているタグは、そのままでは見ることができませんが、コマンドを使えば対象のプレイヤー/エンティティのtag一覧をチャットログに表示させることができます。以下の構文でコマンドを実行しましょう。
- プレイヤー/エンティティの持っているタグを確認するコマンド
- /tag <ターゲット(@eなど)> list
また、タグは削除することもできます。
- プレイヤー/エンティティの持っているタグを削除するコマンド
- /tag <ターゲット> remove タグ名
この時、データタグを条件に削除できるので、例えば「着地したら削除」ならセレクタに[nbt={OnGround:true}]と付けます。コマンドの仕掛けに上手に組み込んで、より高度な仕掛けを作ってみましょう!
フォローをお願いします 記事がお役にたったら...