Data pack

From Minecraft Wiki
Jump to: navigation, search
Java Edition.png

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, structures, recipes and tags without any code modification.

Usage[edit]

Data packs can be placed in the .minecraft/saves/(world)/datapacks folder of a world. Each data pack is either a sub-folder or a .zip file within the datapacks folder. After it is in the folder, a data pack will be enabled for that world.

Data packs will load their data based on the load order. This order can be seen and altered by using the /datapack command.

Contents[edit]

Folder structure[edit]

  • (data pack name)
    • pack.mcmeta
    • data
      • (namespace)
        • advancements
          • (advancement).json
        • functions
          • (function).mcfunction
        • loot_tables
          • (loot_table).json
        • recipes
          • (recipe).json
        • structures
          • (structure).nbt
        • tags
          • blocks
            • (tag).json
          • items
            • (tag).json
          • fluids
            • (tag).json
          • functions
            • (tag).json

pack.mcmeta[edit]

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



    •  pack: Holds the data pack information.

      •  pack_format: Pack version. Can be any number.

      •  description: A description. This string must exist but can be empty. This description will show when hovering over the data pack in the data pack list.

data[edit]

This folder contains all the data under one or multiple "namespaces". It can contain advancements, functions, loot_tables, structures, recipes and/or tags folders. A namespace is used to identify the data and like all file and folder names inside the data folder it should only contain lowercase alphanumerical characters, -, _, and .. It is advised to use a unique namespace to prevent clashes between multiple datapacks. The minecraft namespace should only be used when overwriting default data.

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

History[edit]

Java Edition
1.13 17w43a Added data packs.
17w46a Added /datapack, a command to control loaded data packs.
17w48a Data packs can now load custom recipes.
17w49a Tags can now be created with data packs.
17w49b Tags can now be created for functions.
Functions tagged in minecraft:tick now run every tick at the beginning of the tick.
18w01a Added set_name function to loot tables.
Functions tagged in minecraft:load will now run once after a (re)load.
Crash reports now list what data packs are enabled.

See also[edit]

Promotional Content