- Added modules:
component_dataandcomponent_format. Those work with any component, in a way similar tocustom_data. - Fixed
custom_dataetc. adding a type suffix to some numeric data. - Modules may now specify
itemsas a single value instead of an array.
- Added modules:
trim,trim_patternandtrim_material.
custom_dataand other nbt modules now accept numeric data as variants.
- The module
stored_enchantmentnow has built-in support for enchantment levels.
- Fixed rendering of held trident.
Xali's enchanted books was updated to work with that version.
Since v3.0:
- Added module types from v2.6
- Added numeric properties
custom_data,bucket_entity_data,entity_dataandblock_entity_data, as a replacement for thebucket_entity_agepredicate. - Added a mechanism to automatically populate
minecraft:dispatch_range's entries. - Added a mechanism to make modded item assets compatible with vanilla.
Since v2.5:
- Added module types:
bucket_entity_data,entity_dataandblock_entity_data. Those work identically tocustom_data, but for other components. - Added the model override predicate
bucket_entity_age.
Porting to MC 1.21.4. Some Java API breaking changes, but no datapack breaking changes other than the removal of model override predicates. Most old packs should work out of the box.
- Modules now use
items/instead ofmodels/as primary assets. - Modules may now automatically generate basic
itemsassets based on existing and mod-generated models. Enabled by default for backward compatibility, can be disabled by settingitemsFromModelsto false in the module. - Item assets are searched for at the root of
items/, but corresponding models and textures are now searched for inmodels/item/andtextures/item/. For backward compatibility, any leading "item/" will automatically be stripped off model prefixes, fallback models, and special models. - Added the numeric property
variants-cit:stored_enchantment_level, usable in item assets as a replacement for the oldlevelmodel override predicate
Java API:
- Removed all deprecated methods.
- Replaced all
ModelIdentifiers with plainIdentifiers.
- Ported to MC 1.21.2, marked previous branch as incompatible.
- Added the
painting_variantmodule. - Added the
requiredEnchantmentsparameter to theenchantmentmodule. This makes it possible to have CITs based on multiple enchantments, using multiple modules. (See wiki.) - Modules should now be stored in the folder
variants-cit(mod's id) instead ofvariant-cits(misspelled). Modules in the old directory will still work, but support will be dropped in a distant future.
- Modules may now automatically generate models based on provided textures.
- Optimized some modules, considerably reducing how often they recompute an item's model.
- Fixed Trident and Spyglass (in stack form) not being affected by CITs.


