内容をスキップ

TAGコマンドの使い方 – エンティティ/プレイヤーをタグで分類【Minecraft】

UPDATE :
Tag機能の使い方

コマンドでプレイヤーやMobを指定する時、例えば「name=名前」「score_スコア名=○」などの条件を決めて指定しますね。でも、いちいちMobの名前やスコア名を入力するのって面倒で、メンテナンスも大変…

そこで、tagコマンドを使いましょう。エンティティに「タグ」を付けて分類できるんです。 タグ付きでMobを召喚したり、複数タグの判定も可能。コマンドの仕掛け作りが劇的に楽になります!

「Tag」とは?

新機能「Tag」の概要

tagは完全にスコアボードの代わりではなく、スコアボードと比べて様々なメリット・デメリットがあります

  • – 事前にスコアボードを作成したりする必要がない
  • – 追加、削除するだけ
  • – 判定できるのは「タグを持っているか/いないか」だけ
  • – Scoreboardの「stat」のように自動で付与されたりする機能はない
  • – Scoreboardの「dummy」のように、「タグ」は数値のデータを持つことができない
  • – 「○秒経ったら○○する」はスコアボードを使わないと無理

新機能「Tag」でエンティティやプレイヤーにタグを追加する方法

tagの追加

/tag @e[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 @e[type=Witch,tag=Zako,tag=Dekabana] run teleport @s~ ~-300 ~

プレイヤー/エンティティに付いているタグを確認/削除するコマンド

エンティティの持っているタグを確認するには

プレイヤー/エンティティの持っているタグは、そのままでは見ることができませんが、コマンドを使えば対象のプレイヤー/エンティティのtag一覧をチャットログに表示させることができます。以下の構文でコマンドを実行しましょう。

プレイヤー/エンティティの持っているタグを確認するコマンド
/tag <ターゲット(@eなど)> list

また、タグは削除することもできます。

プレイヤー/エンティティの持っているタグを削除するコマンド
/tag <ターゲット> remove タグ名

この時、データタグを条件に削除できるので、例えば「着地したら削除」ならセレクタに[nbt={OnGround:true}]と付けます。コマンドの仕掛けに上手に組み込んで、より高度な仕掛けを作ってみましょう!

ポスト
マイクラ思考編集部
YouTubeでマインクラフトの役立つ動画を投稿しています。クロスマルチプレイ対応のマイクラサーバー「くろまる」も運営中!

13件のコメント

  1. SCPを再現しようと頑張ってる人
    2016年3月31日
    タグをつけたプレイヤーがハートが1になった時にキルしたいのですがどのようにすればいいのでしょうか
  2. tamami
    2024年3月12日
    解決しました。失礼
  3. 2016年4月1日
    まずはHPをカウントするためのスコアボードを作成します。 /scoreboard objectives add HP health これでプレイヤーのHPが「HP」というスコアボードに自動で代入されるようになりました。 次に以下のコマンドを常時実行します。 /kill @a[tag=タグ名,score_HP=2] ▲♥1つはHP"2"なので、スコア「HP」が2以下でさらにタグを持っている人をキルします。
  4. 小方こはく
    2016年6月22日
    指定したCustomName以外のエンティティをターゲットにすることはできるのでしょうか。 具体的には、{CustomName:p1}を付けた(p1のところはそれぞれp1〜p9)合計9体のアーマースタンドがあってp1にpAというタグを付け、p1以外のアーマースタンドからpAをremoveしたいのです。 そこでpAをremoveする対象を@e[name=!p1]としているのですがCustomNameで付けた名前は引数nameに引っかかるのでしょうか。
  5. 2016年6月26日
    はい、!を付ければ否定の指定が可能です。 {CustomName:"test"}ってエンティティがいたとして、 /kill @e[name=!test] とすればtest以外のエンティティをキルできます。
  6. SHIKURORO
    2016年6月29日
    ご回答ありがとうございました。
  7. hiro
    2016年11月4日
    アイテムにもTAGはつけられるのですか?(エンダーパールにつけたい
  8. 2016年11月4日
    残念ながら、アイテムとして手に持った状態ではタグは付けられません。落ちているアイテムはエンティティなので付けられますが、拾うと消えます... 落ちているエンダーパールにタグを付ける場合は /scoreboard players tag @e[type=Item] add tagName {Item:{id:"minecraft:ender_pearl"}} で付けられます。
  9. kaikai
    2017年6月1日
    自分にはTAGを付けられますか?
  10. 疲れたでんでん
    2017年6月11日
    /scoreboard players tag @p add {}
  11. バタフライ
    2017年7月10日
    すいません。質問なのですが、tagにbossと付けているのですが、試しで/killのコマンドをtag指定しても機能しないのです@@; 環境はversion1.12 ボスに設定している物はこういう感じになっています。 /summon zombie -98 35 -190 {CustomName:"ソウルハント",CustomNameVisible:1,Tags:["boss"],ArmorItems:[{},{},{},{id:"minecraft:stained_glass",Damage:14,Count:1b}],HandItems:[{id:"minecraft:stone_sword",Count:1b,tag:{HideFlags:1,AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:5,Operation:0,UUIDLeast:831139,UUIDMost:516829,Slot:"mainhand"},{AttributeName:"generic.movementSpeed",Name:"generic.movementSpeed",Amount:0.02,Operation:0,UUIDLeast:659859,UUIDMost:171926,Slot:"mainhand"},{AttributeName:"generic.attackDamage",Name:"generic.attackDamage",Amount:12,Operation:0,UUIDLeast:538483,UUIDMost:231999,Slot:"mainhand"},{AttributeName:"generic.attackSpeed",Name:"generic.attackSpeed",Amount:0.05,Operation:0,UUIDLeast:359298,UUIDMost:260009,Slot:"mainhand"}],Unbreakable:1,display:{Name:"ソウルディール",Lore:["魂を吸い尽くして、満たされて作られた剣"]},ench:[{id:34,lvl:1}]}},{id:"minecraft:flint",Count:1b,tag:{HideFlags:1,display:{Name:"ディグの魂",Lore:["冒険者:ディグの魂"]},ench:[{id:34,lvl:1}]}}],ArmorDropChances:[0.085F,0.085F,0.085F,0.0F],HandDropChances:[0.055F,0.7F],Attributes:[{Name:generic.maxHealth,Base:80},{Name:generic.movementSpeed,Base:0.25},{Name:generic.attackDamage,Base:6},{Name:generic.followRange,Base:10},{Name:generic.knockbackResistance,Base:0.25},{Name:generic.armor,Base:3}],Health:160.0f} そして、tag指定の/killcommandはこういう感じにしています。 /kill @e[tag=boss]  これでなぜかできないのですが…誰か原因分かりませんか??
  12. zZjurijuirZz
    2018年1月5日
    アイテムにタグつけられた気が
  13. tamami
    2024年3月10日
    感圧板の上に名前のついた名札を置くと、近くのプレイヤーにその名札の名前と同じタグが付くコマンドが作りたいです。/tag @p add の後ろにどう書けばいいのかわかりません。教えてもらえれば幸いです

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です