Tag

Tags in data packs and behavior packs allow players to group different game elements together.

Java Edition
To utilize block, item, function tags, etc., the JSON files must be placed in a data pack inside a respective folder or its subfolder in the. The folders' names are listed below.

One exception is function tag. Functions are not registry entries, but function tags can be defined at.

Tags are not only used by players. Minecraft itself also uses tags. For example, vanilla block tags are used for various block behaviors, vanilla item tags are used for various item behaviors, vanilla advancement files and vanilla recipe files, and vanilla entity type tags are used for various mob behaviors. See section for their usages.

Resource location
The resource location of a tag is also in the format of, where namespace is the name of the folder that the tags folder is in, and path is the JSON file's path under the respective tag folder.

For example, JSON file data/wiki/tags/blocks/foo/example.json defines a block tag with the resource location of.

To distinguished normal contents from tags, a “#” is usually required before tag's resource location.

JSON format

 * The root object.
 * Optional. Whether or not the contents of this tag should completely replace tag contents from different lower priority data packs with the same resource location. When  the tag's content is appended to the contents of the higher priority data packs, instead. Defaults to.
 * A list of mix and match of object names and tag names. For tags, recursive reference is possible, but a circular reference causes a loading failure.
 * An object's resource location in the form.
 * ID of another tag of the same type in the form.
 * An entry with additional options. (1.16.2+)
 * A string in one of the string formats above.
 * Whether or not loading this tag should fail if this entry is not found, true by default (also for the string entries). A tag that fails to load can still be referenced in any data pack and be (re)defined in other data packs. In other words, only the entries in this JSON file are ignored if this entry cannot be found.

Block tags
Block tags can be called when testing for block arguments in commands with, which succeeds if the block matches any of the blocks specified in the tag.

Item tags
Item tags can be called when testing for item arguments in commands with  or in recipes and advancements using , which succeeds if the item matches any of the items specified in the tag. They can also be searched in the creative inventory by searching.

Entity type tags
Entity type tags can be called in  target selector argument and loot table conditions with , which checks if the entity's type matches any of the entity types specified in the tag.

Function tags
Function tags can be called in the command with , which runs all the functions specified in the tag in the order of their first appearance in a tag. If a function is referenced multiple times in a tag and its sub-tags, it is run once.

Moreover, functions tagged in the  tag run every tick at the start of the tick and functions tagged in   run once at the start of the tick after a server (re)load.

Bedrock Edition
Block tags are defines in the block's behavior as follows: A block may have multiple tags. Custom and vanilla tags are authorized. The tag compound must be empty, otherwise an error will be raised.
 * The root object.
 * is replaced by the name of the tag. Object must be empty.
 * is replaced by the name of the tag. Object must be empty.
 * is replaced by the name of the tag. Object must be empty.

Block tags can be used to run queries in commands and behavior packs. Some tags also give blocks some extra vanilla features.

Issues
Aliasdaten Tag_(Pack_de_données) タグ Marcação Тег แท็ก 标签