Compatibility
Minecraft: Java Edition
Platforms
Supported environments
90% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
⚠️ Important ⚠️: Variants-CIT (v2) is a continuation of Enchants-CIT (v1), but overhauled into a multi-purpose CIT library. This new version does not have an embedded resource pack.
Ready-to-use forks of resource packs for this mod:
- Even Better Enchants (original pack) (Updated for 1.21)
- Xali's Enchanted Books (original pack)
- Xali's Potions (original pack)
- Axolotl Bucket Variants (original pack)
Variants-CIT
A CIT logic for MC 1.21, optimized around items with standardized variants.
This mod is not a plug-and-play replacement for Optifine/CIT-resewn; it uses its own resource format. Changes to older packs are required for them to work.
The mod contains built-in logic for handling Axolotl Buckets, Enchantments, Music Discs, Goat Horns, and Potions.
There are also more generic modules that can identify a variant from the custom_data
or custom_name
component of an item. Other mods can easily create custom logic for their own items.
If Mojang ever makes these items data-driven, you can expect Banner Patterns, Trim Templates, and Pottery Sherds to become supported in the future.
Difference with Optifine/CIT-Resewn
The base concept for this mod was born out of a need for optimization, at a time when CIT-resewn was still an up-to-date option. This comes at the cost of some flexibility; while being multi-purpose, it may not be as all-purpose as optifine.
This mod excels in scenarios where a single item type has a large amount of variants, which can all be derived from a single piece of data. Instead of defining a condition for every single CIT, you define a single rule that governs all CITs in a collection (so-called modules).
Resource Pack Format
This is an overview, see the wiki for a complete guide.
The format revolves around item variants (reduced to namespaced identifiers) being automatically associated to item models (or textures) with matching names, stored in a directory of your choosing.
Resource packs must start by providing a module configuration, that defines what item is affected, how to figure out its variant, and where their models are located.
For example, here's a module that would reproduce the behaviour of the previous version of the mod, Enchants-CIT :
/assets/minecraft/variant-cits/item/enchanted_book.json
{
"type": "stored_enchantment",
"items": ["enchanted_book"],
"modelPrefix": "item/enchanted_book/",
"modelParent": "item/generated",
"special": {
"multi": "enchants-cit:item/multi_enchanted_book"
}
}
Here, the enchantment minecraft:unbreaking
will be associated with the texture stored at /assets/minecraft/textures/item/enchanted_book/unbreaking.png
Some module types may define additional models to use in special cases, or take addional parameters.