コマンド/entityTag

Last-modified: 2023-11-05 (日) 19:05:30

What is This?

Entityに任意のタグを付与/削除./置き換えを行うコマンド。イメージ的にはEntityごとに付箋をはって目印をつけるような感じ。
セレクターにてTagがある場合のみ選択などを行える。

タグはプレイヤーがリログした場合は、再起動した場合にすべて消えてしまいます。

NameTagとは全くの別物です。あくまでシステム内の値であるため、頭上に表示されたり視覚的にわかるものではありません。

How to Use?

/entityTag add:タグを追加する

構文/entityTag add <タグ名> <対象>
説明指定した<対象>に指定した<タグ>を追加する。
対象は以下の2つの方法で指定可能。
・プレイヤー名(@p[r=10]など)
・@を消したセレクター(e[r=20,type=Zombie]など)

/entityTag remove:タグを削除

構文/entityTag remove <タグ名> <対象>
説明指定した<対象>から指定した<タグ>を削除する。
対象は以下の2つの方法で指定可能。
・プレイヤー名(@p[r=10]など)
・@を消したセレクター(e[r=20,type=Zombie]など)

/entityTag replace:タグを置き換える

構文/entityTag remove <置き換え前のタグ名> <置き換え後のタグ名> <対象>
説明指定した<対象>が<置き換え前のタグ>を保持している場合、<置き換え前のタグ>を削除して<置き換え後のタグ>を追加する。<置き換え前のタグ>を保持していない場合は何もしない。
対象は以下の2つの方法で指定可能。
・プレイヤー名(@p[r=10]など)
・@を消したセレクター(e[r=20,type=Zombie]など)

/entityTag execForPlayer :全プレイヤーに対してタグを持っているプレイヤーにコマンドを実行させる

構文/entityTag execForPlayer <タグ名> <コマンド>
説明全プレイヤーのうち、指定されたタグを持っているプレイヤーがコマンドを実行する。コマンドはそれぞれのプレイヤーが権限関係なく実行する
/entityTag execForPlayer test_tag tpworld 200 100 100 dungeon
全プレイヤーのうち、test_tagというタグを持っているプレイヤーをdungeon:200,100,100にTPさせる

/entityTag removeAllPlayer :全プレイヤーから指定したタグを削除する

構文/entityTag removeAllPlayer <タグ名1> <タグ名2>....
説明全プレイヤーから指定したタグを削除する。複数指定した場合は、それぞれのタグをすべて削除する。
/entityTag removeAllPlayer test_tag
全プレイヤーからtest_tagというタグを削除する

使い方

基本的にセレクターを組み合わせて利用する。

例えばダンジョン内で3地点のボタンを順番に押す場合、以下のようにコマンドを配置する。

1地点目:/entityTag add button1 @p[r=10]
2地点目:/entityTag replace button1 button2 @p[r=10]  -> 1地点目のボタンを教えていない場合はbutton2のタグが付かない
3地点目:/entityTag replace button2 button3 @p[r=10]  -> 1地点目と2地点目のボタンを教えていない場合はbutton3のタグが付かない
ゴール地点:/tp @a[r=10,entityTag=button3] 0 0 0 -> 1~3地点すべてのボタンを押した場合のみ、TPする

またその他にも、そのダンジョン内で有効な職業の実装などにも応用可能

ほかの機能との併用

  • コマンドセレクターで指定したタグを持っている人のみ指定可能。TheLow専用セレクターのentityTag参照。
  • アイテム系のシートのpluginValueで指定したタグを持っている人のみ使用可能なアイテムを作成可能。シート/itemのentityTag参照