Variants-CIT
A streamlined CIT format for items with standardized variants.
This mod isn't as flexible as optifine, but excels in scenarios where one item has many variants based on the same piece of data. It yields better performances when extreme amounts of CITs are available, and uses a resource format that is less redundant, requiring only a short file to configure all possible variants at once.
Ready-to-use forks 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)
Supported Components
The mod can handle Axolotl Buckets, Enchantments, Music Discs, Goat Horns, Painting Variants, and Potions. More may be added as needed, and other mods can easily create add logic to it.
There are also more generic modules that can identify a variant from the custom_data
or custom_name
component of an item.
If Mojang ever makes these items data-driven, you can expect Banner Patterns, Trim Templates, and Pottery Sherds to become supported in the future.
Resource Pack Format
This is an overview, please see the wiki for a complete guide.
The format revolves around item variants being automatically associated to models or textures with matching names. Instead of defining a condition for every CIT, you define a single rule that governs all CITs in a collection, (so-called modules). This modules defines what item is affected, how to figure out its variants, and where their models are located.
For example, here's a simplistic module that would change the texture of enchanted books :
{
"type": "stored_enchantment",
"items": ["enchanted_book"],
"modelPrefix": "item/book_cit/",
"modelParent": "item/generated"
}
Here, a book with the enchantment minecraft:unbreaking
will use the texture stored at /assets/minecraft/texture/item/book_cit/unbreaking.png
. This single module will work for every possible enchantment, vanilla or modded, so long as a texture or model with the corresponding name exists.