Variants-CIT
Important Note: Variants-CIT (version 2) is an evolution of the Enchants-CIT (version 1) project, completely redesigned into a multifunctional CIT library. Unlike the previous version, this mod does not contain a built-in resource pack.
Ready-to-use adaptations of resource packs for this mod:
- Even Better Enchants (original pack)
- Xali's Enchanted Books (original pack)
- Xali's Potions (original pack)
- Axolotl Bucket Variants (original pack)
What is Variants-CIT?
This is specialized CIT logic for Minecraft 1.21, optimized for working with items that have standardized variants.
Important to understand: this mod is not a direct replacement for Optifine/CIT-resewn and uses its own resource format. Adaptation of older packs is required for them to work.
On low-end computers, using this mod instead of the Optifine format may improve performance in situations where a single item has many different variants.
Features and Compatibility
Although the mod is not a universal solution like Optifine, it offers a modular architecture that is easy to expand. Built-in modules support:
- Axolotl Buckets
- Enchanted Books
- Music Discs
- Goat Horns
- Potions
Other mods can also add their own modules for their items. If Mojang standardizes components of other items in the future, support for banner patterns, trim templates, and pottery sherds is expected.
For datapack creators, a universal module is available that can extract variant identifiers from the custom_data component of an item.
Resource Pack Format
A resource pack that wants to modify an item must start with a configuration file declaring:
- Which item to modify
- Where resources are located
- Which logic to use
The target item type is automatically determined from the file name: /assets/<namespace>/variants-cit/item/<name>.json
The mod will look for item models in the chosen directory and automatically associate them with variants having the corresponding namespace and name.
Configuration Example
File: /assets/minecraft/variant-cits/item/enchanted_book.json
{
"type": "stored_enchantments",
"modelPrefix": "item/enchanted_book/",
"special": {
"multi": "enchants-cit:item/multi_enchanted_book"
}
}
In this example, the enchantment minecraft:unbreaking will be associated with the model minecraft:item/enchanted_book/unbreaking, located at /assets/minecraft/models/item/enchanted_book/unbreaking.json
Some module types may define additional models for special cases or accept additional parameters.