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
items
assets based on existing and mod-generated models. Enabled by default for backward compatibility, can be disabled by settingitemsFromModels
to 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 oldlevel
model override predicate
Java API:
- Removed all deprecated methods.
- Replaced all
ModelIdentifier
s with plainIdentifier
s.
- Added the
painting_variant
module. - Added the
requiredEnchantments
parameter to theenchantment
module. 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.
- It's now possible for multiple modules to coexist on the same item.
- Added the module
enchantment
for tools and armours. (Single enchantment) custom_data
may now search nested pathes. The parameternbtKey
is being renamed tonbtPath
.custom_name
will now always convert all names into valid identifiers. The case sensitivity option was removed.- The module
stored_enchantments
(plural) is being renamed tostored_enchantment
(singular).
custom_data
module now has acaseSensitive
option.
Changes to the Java API (non-breaking):
- Parameterized modules no longer need to register a constructor. They may be built directly from their codec instead.
- Special modules no longer need to register a constructor. They may be registered the same way as Simple modules.
- Special modules are no longer required to implement their variant logic separately from the special logic.
- The old ways of registering special and parameterized modules has been marked as deprecated.
⚠️ This release contains breaking changes. ⚠️
- Overhauled the mod to serve as a multi-purpose CIT library. Renammed mod to "Variants-CIT".
- Removed the embedded resource pack. See the main page for a list of compatible packs.
- CIT logic is now modular, and can be extended by other mods.
- Added CIT modules for the Axolotl Bucket, Goat Horn, Music Discs, Potions, and items with custom_data.
- CIT modules must now be enabled and configured by resource packs, which require additional files.