Back to mods
Variants-CIT project artwork

CurseForge · Minecraft mod

Variants-CIT

Alternative CIT format for large collections of variants with repeating patterns.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Variants-CIT release should I use?

Updated 3 days ago
Latest stable file 5.5.0+26.1.2
Game version 26.1, 26.1.1, 26.1.2
Loader Fabric

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.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

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.

All 1 required mods have matching files

Install Fabric API first. We found matching files for this game-version and loader setup.

Fabric API Needed by Variants-CIT 5.5.0+26.1.2
required
Matching file found Matched file: [26.2] Fabric API 0.158.0+26.2

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.

  1. 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.

  2. 02

    Bring the mods it needs

    Install Fabric API first. We found matching files for this game-version and loader setup.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 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:

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.

19 available setups

Showing 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

100 of 100 releases match

Looking for an older file? The official CurseForge project page is in Resources.