Tag

Tags in data packs allow players to group items, blocks or functions together using JSON files.

Usage
To utilize block, item, or function tags the JSON files must be placed inside the,   or   respectively.

Block tags can be called when testing for block arguments in commands with, which will succeed if the block matches any of the blocks specified in the tag. Item tags can be called when testing for item arguments in commands with  or in recipes and advancements using , which will succeed if the item matches any of the items specified in the tag. Function tags can be called in the command with , which will run all the functions specified in the tag in order of appearance.

The game itself also uses tags. Vanilla block tags are used for various block properties. Vanilla item tags are used for various item properties, vanilla advancement files and vanilla recipe files. There are no vanilla function tags, since there are no vanilla functions. But functions tagged in the  tag will run every tick at the end of the tick.

JSON format

 * The root tag.
 * : Whether or not this tag should completely replace tags from different lower priority data packs with the same namespace and name. When  the tag will append instead. Defaults to
 * : A list of items, blocks or functions. Will accept other tags of the same type, but recursion is not possible.
 * : An item, block or function.
 * : An item, block or function tag. Tags must be of the same type.