Cerulean Fork
🟡 Updated this year⚠️ Install Order · 2 steps
Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.
🖼️ Gallery (1 images)
🔍 Analysis
- 👍 0.1% endorsement rate
- 🏆 #356 of 893 fabric mods in this game by downloads
📋 About This Mod
!(https://cdn.modrinth.com/data/cached_images/b6fc06857b49a6fbf35a7fa9d94515695517ffdc.png) This is fork of (https://modrinth.com/mod/cerulean-advancements) which is actually a fork of (https://modrinth.com/mod/icterine). Original maintainer didn't update it for a year, so i updated to modern versions as a fork of Cerulean under same name.
Cerulean is a mod that optimizes Minecraft's advancement checking system, specifically the laggy InventoryChangeTrigger, which can cause heavy lag in modpacks with lots of modded advancements. (https://modrinth.com/mod/cerulean-advancements) is fork of (https://modrinth.com/mod/icterine), updated to 1. 21. 1 by (https://modrinth.com/user/Txni) with additional features.
Aside from being updated to 1. 21. 1, Cerulean adds an option to only process advancements every few ticks, which is the strategy used by mods like Achievements Optimizer (which does not work with the original Icterine). This option is handled in a way that ensures the first time an item is picked up per player, it is always processed for achievements--preventing cases where advancements would stall until you moved items around.
## Summary from original mod:
Optimizes triggering advancements for obtaining items; Might break parity with vanilla, but doesn't affect vanilla advancements and shouldn't affect the vast majority of mods/datapacks; Even if it does affect something, advancement still should be obtainable by just dropping and picking up one of required items; Currently, there are no known incompatibilities or issues; Every injection into vanilla code can be disabled in config file. All changes are server-side.
Live test performed on dedicated server with 3 active players online, running custom Forge modpack with over 200 mods and (https://modrinth.com/datapack/blazeandcaves-advancements-pack), which adds over 950 advancements. Stats collected using Spark for one hour.
With Icterine, InventoryChangeTrigger executes almost 2. 5 times faster (as of version 1. 1. 0), spending about 7. 5% of the tick time instead of 20%.
Stats comparison for Icterine 1. 0. 0 (~2 times faster):
!(https://cdn.modrinth.com/data/Zz1rwLuI/images/797fa412fd19741a2cefc33f960dfc44636248cc.png) ## How vanilla InventoryChangeTrigger works
1. When the game detects that stack in player inventory has changed, it calls InventoryChangeTrigger for it. This includes picking up items, dropping items, dropping whole stacks, moving items in your inventory. 1. Also, when you open a container (chest, furnace, etc.), game thinks that all the slots in your inventory changed, and calls trigger for all of them, including empty slots. 2. InventoryChangeTrigger counts empty, non-empty and completely filled slots in your inventory. This information (https://minecraft.wiki/w/Advancement/JSON_format#minecraft:inventory_changed), but is not used in vanilla. 3. InventoryChangeTrigger goes over registered advancement criteria. 4. If criterion has slot count requirements and they don't match values from step 2, or if criterion doesn't have item requirements, criterion is skipped. 5. If criterion has only one item requirement, changed stack is checked against this requirement. 6. If criterion has multiple items requirements (e.g., "Cover me with debris" requires having full netherite armor set), every item stack in the inventory is checked against every requirement (but fulfilled requirements get removed and are no longer checked). 7. Item matching, especially against tag, is very heavy. But the game first checks if the player's item type matches the one from the requirement, and only then checks other parameters like count, enchants and other NBT data.
## How Icterine's optimizations work
1. In step 1, do not call InventoryChangeTrigger when you drop stacks or move them out of your inventory (e.g. to chest). This is controlled by the `ignore_triggers_for_emptied_stacks` parameter in config file. 2. Similarly, do not call InventoryChangeTrigger if stack change was caused by decreasing stack but not emptying it (e.g. player dropped single item from the full stack). Controlled by `ignore_triggers_for_decreased_stacks`. 3. And also do not call InventoryChangeTrigger if stack size increased, but hasn't passed threshold for any advancement. For example, dirt stack size increased from 52 to 53, but there's no advancement for getting 53 dirt in your modpack. Controlled by `optimize_triggers_for_increased_stacks`. 4. Modify how game checks for changed items when player opens container screen, so it doesn't treat all the stack as changed the second you open anything. Controlled by `initialize_inventory_last_slots`. 5. In step 6, firstly check if changed slot matches any requirement, and only then check other stack in the inventory. Controlled by `optimize_multiple_predicate_trigger`. 6. In
📊 Mod Details
- Game
- Minecraft Mods
- Author
- noramibu
- Version
- 1.0.1
- Downloads
- 7,976
- Endorsements
- 10
- Category
- fabric
- Created
- 4/20/2026
- Updated
- 6/17/2026
- Game Versions
- 26.2
- Tags
- management, optimization
🔧 How to Install Minecraft Mods Mods
Download from Modrinth. Use Prism Launcher or drop into your mods folder.
📖 Full step-by-step install guide for Minecraft Mods →
Visit the official mod page for specific installation instructions for this mod.
🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.
❓ Frequently Asked Questions
Which Minecraft Mods versions does Cerulean Fork support?
The author lists 26.2. Other versions may work but are untested by the author.
What is the latest version of Cerulean Fork?
Version 1.0.1, published 2026-06-17 with 7,976 downloads recorded at the source.
Keep browsing — more Minecraft Mods mods await
