
CIT for NBT
An NBT based CIT alternative for Optifine 1.12.2.
About this Mod
CIT for NBT
A mod that adds Optifine's CIT feature as a standalone feature for 1.12.2.
Usage
This mod currently only looks in the .minecraft/resources folder for your files.
It treats this resource folder as the "assets" folder. In other words,
a path assets/<namespace>/textures would be placed in resources/<namespace>/textures
instead. This allows compat with mods like contenttweaker, which
follows this folder style instead.
To conditionally texture an item, a .properties file must exist. This file can
exist anywhere in the resources folder, and can apply to a list of items. This currently
requires two fields. items, the target item. And texture or model, which can be any texture
or valid item. All other fields are currently optional.
Example:
items=minecraft:stick
nbt.display.Name=contains:Glow
texture=cit:items/stick_glow
Note: texture does NOT need to be in the same namespace as the item.
Behavior
- The NBT condition
existsmust be eithertrueorfalse - Relative paths do not work like Optifine's do (yet)
- Aside from the one exception above, the file format is stable. Unless
a serious bug occurs, you can use the same.propertiesfile in any version.
Current Features
- NBT conditions
- Matches:
nbt.tag.path=matches:ExactNBTMatch - Contains/IContains:
nbt.tag.path=contains:TextToContain - Exists:
nbt.tag.path=exists:true - Range:
nbt.tag.path=range:1-5 9 17 - Regex/IRegex:
nbt.display.Name=iregex:Something fishe?y is(n't)? brewing\\.+ - Raw:
nbt.ench=raw:[{lvl:1s,id:2s}]
- Matches:
- Item Stack conditions
- Stack Size:
stackSize=1orstackSize=range:1-17 32
- Stack Size:
- Basic model support (not fully tested)
- mcmeta animation support
- Hot reload
- Multi item support
items=minecraft:paper minecraft:stick
Possible future features
- Regular Resourcepack Support
- More Optifine conditions
- Set primary assets folder
Breaking Changes
0.2 -> 0.3+
Free-floating .properties files will require an additional suffix related to their role.
For example: item.properties -> item.cit.properties, animation_item.properties ->animation_item.anim.properties. Files that follow Optifine's folder organization
will not require additional suffix. While I may add support for default being cit,
this should not be counted upon.
Available Versions
How to Install CIT for NBT on Your Server
Order Server
Order a Minecraft Java server with at least 3 GB RAM (4 GB recommended).
Set forge Loader
In the panel under "Egg", select the forge loader and matching Minecraft version (1.12.2).
Install Mod
Open the mod browser in the dashboard and search for "CIT for NBT". Click "Install" – done! Alternatively, upload the .jar via SFTP to the /mods folder.
Compatibility
Mod Loaders
Minecraft Versions
1.12.2
Server-side
✗ UnsupportedRecommended RAM
4 GB(min. 3 GB)Frequently Asked Questions
CIT for NBT server crashes on startup – what to do?
Most common cause: wrong forge version or insufficient RAM. Check the server log (latest.log) for "OutOfMemoryError" or "Mixin" errors. With Mado Hosting: ensure at least 3 GB RAM is allocated and the loader matches the mod version (1.12.2). You can switch loaders with one click in the panel.
Is CIT for NBT compatible with forge?
CIT for NBT officially supports forge for Minecraft 1.12.2. The Mado dashboard automatically detects incompatible loader combinations.
Server lagging with CIT for NBT – how to optimize performance?
Recommended RAM: 4 GB (per 8 players). Use /spark profiler to check if CIT for NBT consumes the most tick time. Common fixes: reduce server view-distance to 8-10, install "performant" or "starlight" as supplementary mods on Forge. With Mado Hosting, your server runs on NVMe SSDs with dedicated CPU cores for minimal latency.
Similar Mods
Rent Modded Server
Install CIT for NBT with just one click on your server.