The Gamepedia and Fandom account systems have now been merged. If your username is incorrect, you have accounts on both platforms that weren't merged, or you have trouble signing in, please submit a support ticket.

Data Pack

From Minecraft Wiki
Jump to: navigation, search
Information icon.svg
This feature is exclusive to Java Edition.

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, dimensions, functions, loot tables, predicates, recipes, structures, tags, world generation settings, and biomes[upcoming: JE 1.16.2] 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 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 /datapack command and is stored in the level.dat file.

You can also select data packs at world creation screen by clicking the Data Packs button and dragging-and-dropping your data pack folders/zip-files there. This is similar to the Resource Pack selection screen, and allows you to enable data packs before the world is generated, and easily customize the load order too.

Contents[edit]

Folder structure[edit]

  • (data pack name)
    • pack.mcmeta
    • pack.png‌[upcoming: JE 1.16.2]
    • data
      • (namespace)
        • advancements
          • (advancement).json
        • functions
          • (function).mcfunction
        • loot_tables
          • (loot_table).json
        • predicates
          • (predicate).json
        • recipes
          • (recipe).json
        • structures
          • (structure).nbt
        • tags
          • blocks
            • (tag).json
          • entity_types
            • (tag).json
          • fluids
            • (tag).json
          • functions
            • (tag).json
          • items
            • (tag).json
        • dimension_type
          • (dimension type).json
        • dimension
          • (dimension).json
        • worldgen‌[upcoming: JE 1.16.2]
          • biome
            • (biome).json
          • configured_carver
            • (carver).json
          • configured_feature
            • (feature).json
          • configured_structure_feature
            • (structure_feature).json
          • configured_surface_builder
            • (surface_builder).json
          • noise_settings
            • (noise_settings).json
          • processor_list
            • (block_processor).json
          • template_pool
            • (jigsaw_pool).json

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

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.

  • The root object.
    •  pack: Holds the data pack information.
      •  description: A JSON text that appears when hovering over the data pack's name in the list given by the /datapack list command, or when viewing the pack in the Create World screen.
      •  pack_format: Pack version. If this number does not match the current required number, the data pack displays a warning and requires additional confirmation to load the pack. The current pack version is 5.

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

{
    "pack": {
        "pack_format": 5,
        "description": "The default data for Minecraft"
    }
}

data[edit]

This folder contains all the data under one or multiple namespaces. It can contain advancements, dimension, dimension_type, functions, loot_tables, predicates, recipes, structures, tags and/or worldgen, folders. The worldgen folder can contain biome, configured_carver, configured_feature, configured_structure_feature, configured_surface_builder, noise_settings, processor_list and template_pool folders‌[upcoming: JE 1.16.2].

The dimension, dimension_type and worldgen folders are currently experimental features. They can only exist under the minecraft namespace and have their own locations for namespaces.

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[edit]

The folder structure of the vanilla data pack:

History[edit]

Java Edition
1.1317w43aAdded data packs.
17w46aAdded /datapack, a command to control loaded data packs.
17w48aData packs can now load custom recipes.
17w49aTags can now be created with data packs.
17w49bTags can now be created for functions.
Functions tagged in tick now run every tick at the beginning of the tick.
18w01aAdded set_name function to loot tables.
Functions tagged in load now run once after a (re)load.
Crash reports now list what data packs are enabled.
1.1418w43aTags can now be created for entity types.
1.1519w38aAdded predicates folder where predicates can be defined.
1.1620w22aSlightly changed data pack loading to prevent custom data packs from crashing.
If data pack reload fails, changes are not applied and the game continues using previous data.
Changes to data pack list are stored only after successful reload.
If existing data packs prevent the world from loading, the game gives an option to load the world in safe mode, which loads only vanilla data pack.
Added --safeMode option for servers to load only with vanilla data pack.
Game now detects any critical data pack issues, such as required tags being missing, and prevent the world from being loaded.
Pre-release 1Data packs can now be loaded before the world is created.
Data packs can now add and change dimensions and dimension types.
Upcoming Java Edition
1.16.220w27aData packs can now have a pack.png in the root folder, and display it in the data pack menu.
20w28aCustom worlds now support custom biomes and can now be used in custom dimension generators.
Datapacks can now customize world generation in the worldgen folder

Issues[edit]

Issues relating to "Data Pack" are maintained on the bug tracker. Report issues there.

See also[edit]