CurseForge · Minecraft mod
Variants-CIT
Alternative CIT format for large collections of variants with repeating patterns.
Quick answer
Which Variants-CIT release should I use?
Variants-CIT 5.5.0+26.1.2 targets 26.1, 26.1.1, 26.1.2 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. All 1 required mods have matching files.
Where it goes
Is Variants-CIT required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does Variants-CIT 5.5.0+26.1.2 need?
5.5.0+26.1.2. Change the file and its required mods may change too.
Install Fabric API first. We found matching files for this game-version and loader setup.
We only count dependency files that match this setup. A file for another loader does not fill the gap.
Before you install it
Add Variants-CIT without breaking your instance.
Built for Variants-CIT 5.5.0+26.1.2. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use 5.5.0+26.1.2. It targets 26.1, 26.1.1, 26.1.2 with Fabric; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
Install Fabric API first. We found matching files for this game-version and loader setup.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside 5.5.0+26.1.2. It opens that exact file at the source.
About this project
What does Variants-CIT add?
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)
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 simple module that would change the texture of enchanted books :
{
"type": "stored_enchantment", // The behaviour of the module
"items": "minecraft:enchanted_book", // The affected item type(s)
"modelPrefix": "item/book_cit/", // The folder containing the possible models/textures.
"modelParent": "item/generated", // Automatically generate models from texture (if models are absent)
"parameters": { // Extra options specific to the module type
"levelSeparator": "_lvl_" // Include the enchantment level in the variant ID
}
}
Here, a book with the enchantment minecraft:unbreaking at level 2 will have the variant ID minecraft:unbreaking_lvl_2, and thus use the texture stored at /assets/minecraft/texture/item/book_cit/unbreaking_lvl_2.png. This single module will work for every possible enchantment, vanilla or modded, so long as a corresponding texture exists.
The module type above has a purpose-made logic for enchanted books. If no module type exists for a specific component, you can still use more generic modules to get a variant from any component:
{
"type": "component_data",
"items": "minecraft:suspicious_stew",
"modelPrefix": "item/suspicious_stew_cit/",
"parameters": {
"componentType": "suspicious_stew_effects", // The component containing the variant ID
"nbtPath": "[0].id" // The location of the variant ID in the component.
}
}
At a higher level, you can create variants by combining multiple pieces of data from multiple components:
{
"type": "component_format",
"items": "minecraft:diamond_sword",
"modelPrefix": "item/trimmed_diamond_sword/",
"parameters":{
"format": "${pattern}_${material}", // How to combine various pieces of data into a variant ID
"variables": { // Where to find those pieces of data.
"pattern": {
"componentType": "trim",
"nbtPath": ".pattern"
},
"material": {
"componentType": "trim",
"nbtPath": ".material",
"transform": "discard_namespace"
}
}
}
}
Project description from CurseForge.
Pick your setup
Variants-CIT by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
26.2
1 loader build26.1.2
1 loader build26.1.1
1 loader build26.1-rc-3
1 loader build26.1-rc-2
1 loader build26.1-rc-1
1 loader build26.1
1 loader build1.21.11
1 loader build1.21.10
1 loader build1.21.9
1 loader build1.21.8
1 loader build1.21.7
1 loader buildShowing the newest 12 of 19 game versions. Older files are in the list below.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
Variants-CIT versions and loaders
5.6.0+26.1.2
variants-cit-5.6.0+26.1.2.jar
28 Aug 2026
5.6.0+1.21.11
variants-cit-5.6.0+1.21.11.jar
28 Aug 2026
5.6.0+1.21.8
variants-cit-5.6.0+1.21.8.jar
28 Aug 2026
5.6.0+1.21.5
variants-cit-5.6.0+1.21.5.jar
28 Aug 2026
5.6.0+1.21.4
variants-cit-5.6.0+1.21.4.jar
28 Aug 2026
5.5.0+26.1.2
variants-cit-5.5.0+26.1.2.jar
29 Jun 2026
5.5.0+1.21.9
variants-cit-5.5.0+1.21.9.jar
29 Jun 2026
5.5.0+1.21.6
variants-cit-5.5.0+1.21.6.jar
29 Jun 2026
5.5.0+1.21.5
variants-cit-5.5.0+1.21.5.jar
29 Jun 2026
5.5.0+1.21.4
variants-cit-5.5.0+1.21.4.jar
29 Jun 2026
2.18.0+1.21.1
variants-cit-2.18.0+1.21.1.jar
29 Jun 2026
5.4.2+26.1.2
variants-cit-5.4.2+26.1.2.jar
22 Jun 2026
Looking for an older file? The official CurseForge project page is in Resources.