Data pack

The data pack system provides a way for players to further customize their Minecraft experience. Data packs can be used to override or add new advancements, functions, loot tables, predicates, structures, recipes and tags without any code modification.

Usage
Data packs can be placed in the  folder of a world. Each data pack is either a sub-folder or a  file within the   folder. After it is in the folder, a data pack is enabled for that world when the world is reloaded or loaded.

Data packs load their data based on the load order. This order can be seen and altered by using the command and is stored in the  file.

Folder structure
More than one directory for different namespaces may exist under the directory.

A data pack is identified by Minecraft based on the presence of the  file in the root directory of the data pack, which contains data in JSON format.


 * The root object.
 * Holds the data pack information.
 * A JSON text that appears when hovering over the data pack's name in the list given by the  command.
 * : Pack version. If this number does not match the current required number, the data pack displays an error and required additional confirmation to load the pack. Requires 5 for Java Edition 1.15.

used by the "vanilla" data pack in 1.14.4, as found in the client and official server jars

This folder contains all the data under one or multiple namespaces. It can contain,  ,  ,  ,  ,   and/or   folders.

Each advancement, function, loot table, predicate, structure, recipe and tag file can be placed directly in their respective folder but sub-folders are also allowed.

Template
Folder structure of Vanilla Data Pack: