Template:Data pack format

Jump to navigation Jump to search
Data pack formats
Value Releases [hide]Significant/Breaking Changes
From To
4

1.13

1.14.4 Added the initial pack format version of 4.
5

1.15

1.16.1 Added predicates.
6

1.16.2

1.16.5 Added experimental support for custom world generation.
7

1.17

1.17.1 The /replaceitem command was replaced with /item. The set_damage loot function now require a valid [String] type field.
8

1.18

1.18.1 Loot table functions set_contents and set_loot_table now require a [String] type field. Removed length limits for scoreboards, score holders and team names.
9

1.18.2

The /locate command now takes a configured structure as its first parameter rather than a structure type, so many grouped structures now require a structure type tag. E.g. /locate village is now /locate #village.
10

1.19

1.19.3 Data packs can now have a [NBT Compound / JSON Object] filter section in pack.mcmeta. Merged /locatebiome with /locate, changing its syntax.
12

1.19.4

Added damage types. Removed all boolean flags in damage predicates, instead damage type tags can now be tested for. Biome field [String] precipitation changed to [Boolean] has_precipitation.
15

1.20

1.20.1 Changed sign NBT. E.g. Text1 is now front_text.messages[0]. All fields in placed_block, item_used_on_block, and allay_drop_item_on_block advancement triggers have been collapsed to a single location field. Renamed the alternative predicate to any_of.
18

1.20.2

Added function macros. Effects now use namespaced IDs rather than numeric values in NBT. E.g. 1 is now minecraft:speed.
26

1.20.3

1.20.4 Text components are parsed more strictly. Renamed grass block and item to short_grass. Added scoreboard display names and number formats.
41

1.20.5

1.20.6 Renamed the sweeping enchantment to sweeping_edge. Changed the behavior of the item_used_on_block advancement trigger. Replaced some behavior of amplifiers above 127 with attributes. Unstructured NBT data attached item stacks has been replaced with structured components. Removed durability, potions, nbt, and enchantments fields in item predicates. Recipe output can now specify components. Int and float providers used in worldgen definitions are no longer wrapped in an extra value field next to type. Added new item sub-predicates and loot functions.
48

1.21

1.21.1 Added data driven enchantments. Added data driven paintings. Renamed the enchantment field to enchantments in the item sub predicate. Renamed legacy folders like loot_tables and tags/items to loot_table and tags/item. Removed the [NBT List / JSON Array] power fireball tag and replaced it with [Float] acceleration_power. Attributes now have a single resource location id field instead of a name and uuid.
57

1.21.2

1.21.3 Removed attribute ID prefixes such as generic.. Changed formats of data components, loot tables and predicates. Added new data components, loot tables and item tags. Added key input predicate. Added crafting_transmute recipe type. Renamed enchantment effect damage_item to change_item_damage.
61

1.21.4

Renamed tnt minecart TNTFuse to fuse. Renamed fields of furnace block entities. Added required field duration to trail particle. Changed format of the custom_model_data component and loot function.
71

1.21.5

Text components are now saved as objects in NBT rather than strings containing JSON and many commands such as /tellraw now take SNBT rather than JSON. The Game Tests system is now accessible through data packs and for mods. Added many new components. Added entity variant components. Commands that place blocks, such as /setblock, now have a strict argument. Pig, frog, chicken and cow variants are now data-driven. The [NBT List / JSON Array] ArmorItems, [NBT List / JSON Array] HandItems, [NBT Compound / JSON Object] body_armor_item, [NBT Compound / JSON Object] SaddleItem, and [Boolean] Saddle NBT tags were removed and merged into the [NBT Compound / JSON Object] equipment field. Item components that had only two fields (with one of them being the [Boolean] show_in_tooltip) now have the other field inlined to top-level. Removed hide_tooltip and hide_additional_tooltip components and [Boolean] show_in_tooltip field from all components in favor of the new tooltip_display component. Many changes have been made to entities and block entities' NBT data.
Data pack formats
Value Versions Releases [hide]Significant/Breaking Changes
From To From To
4

17w48a

19w46b

1.13

1.14.4 Added the initial pack format version of 4.
5

1.15 Pre-release 1

1.16 Pre-release 3

1.15

1.16.1 Added predicates.
6

1.16.2 Release Candidate 1

20w45a

1.16.2

1.16.5 Added experimental support for custom world generation.
7

20w46a

1.17.1

1.17

1.17.1 The /replaceitem command was replaced with /item. Rolls, set_damage, and possibly other parameters in loot tables now require a valid type field when using min-max for numbers. score conditions' entity parameter was replaced with target.
8

21w37a

22w07a

1.18

1.18.1 Loot tables now require a type field. Removed length limits for scoreboards, score holders and team names. The lava_pool_stone_replaceables block tag was renamed to lava_pool_stone_cannot_replace.
9

1.18.2 Pre-release 1

1.18.2

1.18.2

The /locate command now takes a configured structure as its first parameter rather than a structure type, so many grouped structures now require you to locate a structure type tag. E.g. /locate village is now /locate #village.
10

22w11a

1.19.3

1.19

1.19.3 Data pack can have a filter section in pack.mcmeta now. Renamed the feature field in location predicates to structure. In 22w19a, /locatebiome was merged with /locate and the syntax for /locate was changed, but the pack format was not updated.
11

23w03a

23w05a only_allows_snow_and_gold_rabbits biome tag was renamed to spawns_gold_rabbits. Out-of-bound arguments in translate formats are no longer silently ignored.
12

23w06a

1.19.4

1.19.4

is_projectile, is_explosion, bypasses_armor, bypasses_invulnerability, bypasses_magic, is_fire, is_magic and is_lightning fields were removed from damage type predicates in favour of a tags field which is a list of damage type tags which the damage type belongs to.
13

23w12a

23w14a NBT paths for lines of text, GlowingText, and Color on the front of signs are now at front_text.messages[<index>], front_text.has_glowing_text, and front_text.color, respectively. The relevant tags for the backs of signs are in back_text.
14

23w16a

23w17a item_display items have been rotated 180 degrees around Y axis to better match transformation applied when rendering items on armor stand head and in item frames.
15

23w18a

1.20.1

1.20

1.20.1 All fields in placed_block, item_used_on_block, and allay_drop_item_on_block advancement triggers have been collapsed to a single location field. alternative predicate and loot table conditions were renamed to any_of.
16

23w31a

entity_roar and entity_shake game events have been removed and replaced with the entity_action game event. Renamed belowName value in display slot argument in scoreboard command to below_name. Added macro functions. pack.mcmeta now includes an optional supported_formats field and optional overlays section to allow creation of packs that are compatible with multiple versions of the game.
17

23w32a

23w35a Changed mob effect storage on items, entities and block entities. Effects now use resource locations in NBT instead of numeric ids and many tag names relating to effects have been renamed to use snake_case.
18

1.20.2 Pre-release 1

1.20.2

1.20.2

Removed /execute if function and /return run functionality (with promise to reintroduce after 1.20.2). Numerical data types are written in macros without their suffixes. Very large and very small float and double values are no longer written in standard scientific notation; they are written as their decimal expansion up to 15 decimal places, so some small values are rounded to zero.
19

23w40a

null and [] are no longer valid JSON chat component representations, and errors in fields color, clickEvent, hoverEvent, and are no longer silently ignored.
20

23w41a

/function no longer always has a result. maxCommandChainLength gamerule now counts function invocations and different /execute stages as different "commands". Commands run using the command line interface of a server are now subject to the aforementioned gamerule.
21

23w42a

Added white_smoke particle definition. Renamed field [Short] Fuse to [Short] fuse on TNT entity.
22

23w43a

23w43b Renamed field [NBT Compound / JSON Object] Trident to [NBT Compound / JSON Object] item on trident entity.
23

23w44a

/return run now propagates fails, and fails if the returned command has no valid result. When a function tag is executed as part of /return run, /execute if function, or /execute unless function the first /return in all functions now returns.
24

23w45a

Added breezes and trial spawners.
25

23w46a

Add display names and number formatting features for scoreboards.
26

1.20.3 Pre-Release 1

1.20.4

1.20.3

1.20.4 Renamed grass block and item to short_grass.
27

23w51a

23w51b Added armadillos, wolf armor, and new attributes.
28

24w03a

24w03b Renamed the sweeping enchantment to sweeping_edge. Added advancement triggers default_block_use and any_block_use.
29

24w04a

Added /transfer.
30

24w05a

24w05b Restricted effect amplifiers between 0 and 127. Effects in NBT no longer store the default values for amplifier, duration, ambient, and show_particles. Added fields body_armor_item and body_armor_drop_chance to entities that have ArmorItems. Horse, llamas and wolfs use this new field. Replaced horse.armor slot with armor.body.
31

24w06a

Effect amplifiers are restricted between 0 and 255 again. Amplifiers over 127 for mining fatiue, levitation, and jump boost have been replaced by new attributes. Changed NBT format of block positions from a compound with X, Y, and Z to an array of 3 integers.
32

24w07a

The max_depth argument in /place jigsaw is now capped at 20 instead of 7.
33

24w09a

Unstructured NBT data attached item stacks has been replaced with structured components.
34

24w10a

Recipe output can now specify components. Wolf variants and banner patterns are now data-driven.
35

24w11a

Removed durability, potions, custom_data, and enchantments fields in item predicates and added item sub predicates.
36

24w12a

Added the crafter_recipe_crafted and fall_after_explosion advancement triggers. Added storage loot number provider. Added mode field to many loot functions. Added many new item stack components.
37

24w13a

Int and float providers used in worldgen definitions are no longer wrapped in an extra value field next to type.
38

24w14a

Updated a few fields and components.
39

1.20.5 Pre-Release 1

Added new item sub-predicates and loot functions.
40

1.20.5 Pre-Release 2

Changed the set_fireworks loot function.
41

1.20.5 Pre-Release 3

1.20.6

1.20.5

1.20.6 Renamed the entity type tag #punchable_projectiles to #redirectable_projectile.
42

24w18a

Added data driven enchantments. Added data driven paintings. Renamed the enchantment field to enchantments in the item sub predicate.
43

24w19a

24w19b Renamed legacy tag folders like tags/items to tags/item, with the exception of tags/functions. Removed the [NBT List / JSON Array] power fireball tag and replaced it with [Float] acceleration_power.
44

24w20a

Enchantment fields weight and max_level now have upper bounds.
45

24w21a

24w21b Added data driven jukebox songs. Renamed legacy folders like loot_tables to loot_table or tags/functions to tags/function. Attributes now have a single resource location [String] id field instead of a [String] name and [Int Array] uuid.
46

1.21 Pre-Release 1

Added lookup level-based value. Added liquid_settings to structures and single pool elements.
47

1.21 Pre-Release 2

Added placement modifier fixed_placement.
48

1.21 Pre-Release 3

1.21.1

1.21

1.21.1 Renamed replace_disc entity effect type to replace_disk.
49

24w33a

Removed attribute ID prefixes such as generic.. Made goat horn instruments data-driven. Added new data components.
50

24w34a

Changed format of food data component. Added new data components.
51

24w35a

Changed format of trial chamber loot tables. Added new sheep loot tables and predicates.
52

24w36a

Adds equippable, item_model, glider and tooltip_style data components and the player sub-predicate input.
53

24w37a

Added loot tables for chicken egg, armadillo scute and additional villager gifts. Added item tags controlling allays, pandas and brewing stands. Added death_protection data component. Changed loot tables, data components and predicates. Changed killed_by_crossbow advancement trigger to killed_by_arrow.
54

24w38a

Added #bundles and #shulker_boxes item tags. Added crafting_transmute recipe type.
55

24w39a

Removed the bundle feature flag. Split boat and chest_boat entity types into their wood variants. Containers' Lock field, and the lock item component are both now an item predicate.
56

24w40a

Added particles block_crumble and trail. Leash knots, lighting bolts and fishing bobbers cannot be ridden anymore. Added /rotate command. Renamed enchantment effect damage_item to change_item_damage, now also supports negative amounts.
57

1.21.2 Pre-Release 1

1.21.3

1.21.2

1.21.3 Added disablePlayerMovementCheck game rule. Added field [String] camera_overlay to equippable component. Standardized format of colors in particles.
58

24w44a

Renamed tnt minecart data field [Int] TNTFuse to [Int] fuse. Added required field duration to trail particle.
59

24w45a

Changed format of custom_model_data component and set_ loot function.
60

24w46a

1.21.4 Pre-Release 1 Removed creaking_transient entity type. Removed trim_templates item tag.
61

1.21.4 Pre-Release 2

1.21.4

1.21.4

Renamed furnace timing related NBT fields and added lit_total_time.
62

25w02a

Text components are now saved as objects in NBT rather than strings containing JSON and many commands such as /tellraw now take SNBT rather than JSON. [NBT Compound / JSON Object] clickEvent and [NBT Compound / JSON Object] hoverEvent fields in text components were renamed and restructured. Commands that place blocks, such as /setblock, now have a strict argument which prevents block updates and have new behaviour for replacing block entities. Pig variants are now data-driven. Added the weapon and potion_duration_scale components. The tool component has a new [Boolean] can_destroy_blocks_in_creative field. The crafting_transmute recipe type now supports specifying a count and a components patch to apply to the result.
63

25w03a

The Game Tests system is now accessible through data packs and for mods. Added the /test]] command. Entity variants are now set and queried with components. Added saddle equipment slot, driven by the equippable component. The show_text hover event action's text field was renamed to value. The [NBT List / JSON Array] ArmorItems, [NBT List / JSON Array] HandItems, [NBT Compound / JSON Object] body_armor_item, [NBT Compound / JSON Object] SaddleItem, and [Boolean] Saddle NBT tags were removed and merged into the [NBT Compound / JSON Object] equipment field. The [Float] FallDistance NBT tag was renamed to [Double] fall_distance.
64

25w04a

Added blocks_attacks, break_sound, provides_anner_patterns, provides_trim_material and tooltip_display components. Removed hide_tooltip and hide_additional_tooltip components and [Boolean] show_in_tooltip field from all components in favor of the tooltip_display component. SNBT tags now accept heterogenous lists, i.e. ones where elements are not of the same type. Item components that had only two fields (with one of them being the [Boolean] show_in_tooltip) now have the other field inlined to top-level. Renamed the [Boolean] can_disable_blocking field in the weapon component to [Float] disable_blocking_for_seconds. Some existing components are now also transferred from spawning item to spawned entity. Trim pattern and trim material items are no longer specified in the trim registries, but instead in the recipes and items respectively. Cat and frog variants are data-driven. Added uniform way to define variant selection rules. For more information about technical additions and changes, see Java Edition 25w04a.
65

25w05a

Added [String] bypassed_by field to blocks_attacks component. Added [Float] horizontal_blocking_angle field to objects within [NBT List / JSON Array] damage_reductions field in blocks_attacks component. Cow variants are data-driven.
66

25w06a

Chicken variants are data-driven.
67

25w07a

Many changes have been made to entities and block entities' NBT data. For more information about these changes, see Java Edition 25w07a.
68

25w08a

Added data driven sound variants for Wolves. Biome effects has a new field dry_foliage_color that defines the color used for tinting blocks using dry foliage tinting
69

25w09a

25w09b Many changes have been made to entities and block entities' NBT data, along with SNBT data. For more information about these changes, see Java Edition 25w09a.
70

25w10a

1.21.5 Pre-Release 1 Added new optional fields to predicates, and changed SNBT format along with other changes. For more information about these changes, see Java Edition 25w10a.
71

1.21.5 Pre-release 2

1.21.5

1.21.5

Pack format bump missed in pre1. No changes.