Faster loading for modpacks with hundreds of mods
Nitro is a loading time optimization mod for NeoForge 1.21.1, built for big modpacks: the ones with 300, 500 or 1000 mods that take five to ten minutes to reach the main menu. On a 1017 mod pack it took launch from 6 minutes 53 seconds to 1 minute 41, cut joining a world from 3:13 to about 2 minutes, and removed the JEI freeze after joining. It runs on dedicated servers too, where it takes the same time off server start.
It changes nothing about how the game looks or plays. Every fix targets time that the mod loader, Java or another mod spends repeating work, and replaces that work with an index, a cache or a single pass.
Measured on a 1017 mod pack
| Launch to main menu | Time |
|---|---|
| Without Nitro (Java 21) | 6:53 |
| Nitro, nothing else changed (Java 21) | 4:33 |
| Nitro with its one JVM argument (Java 21) | 2:14 |
| Nitro on Java 25 | 1:41 |
Same PC, same launcher, same mods. Joining a world went from 3:13 to about 2:00, and JEI no longer locks up the game for minutes after you join.
Getting the full speedup
Most of Nitro works the moment you install it. The largest single wait on a big pack is in Java itself, though, and it happens before any mod is allowed to run, so there are two ways to remove it. Nitro explains both on the main menu the first time, with the steps for your launcher.
- Run the pack on Java 25 (fastest, nothing to paste). Java 25 already has the fix. Nitro finds a Java 25 on your computer if you have one, which most Prism Launcher users do, and gives you its path with a copy button.
- Or keep Java 21 and add one line to your JVM arguments. Nitro shows the exact line with a copy button. Add it once; it stays valid when Nitro updates.
Modpack authors: set either one in your pack's instance settings and your players get the fast launch without doing anything.
Why big modpacks take so long to load
The biggest wait is not the mods. It is Java.
- Java 21's module resolver goes through every mod jar with three nested loops. With a thousand jars that is minutes of silence before a single mod loads. Java 25 fixed it; Nitro's argument patches the same fix into Java 21.
- Mixin and the jar handler ask every mixin config "do you touch this class" on every class load, and search every jar for every missing file. Nitro answers both from an index.
- The resource reload asks every mod jar for files that do not exist, and a few mods force every block model in the game to load on one thread. Nitro answers misses from memory and limits those handlers to their own models.
What gets faster
Game startup: module resolution, Mixin application, jar lookups, resource pack misses, model loading with ModernFix, JAOPCA remaps, MoreCulling shape building, and WaterMedia's video libraries, which now load in the background instead of holding up every other mod.
World join and server start: JEI builds its recipe list and search index off the render thread, so the inventory does not freeze after joining. Folder data packs (KubeJS, datapacks, Moonlight and Sawmill caches) are kept in one snapshot instead of being opened file by file: 29,000 recipe files that took 12 seconds now take a tenth of a second. Mods that scanned the entire item or recipe registry on every world join (Relics, Hexerei, Farmer's Delight, MEGA Cells, Sable) now scan only what they own.
Stability: mob spawns that failed every tick because a mod asked for equipment while the mob was still being built now succeed, which also removes a stack trace per failed spawn from the log.
Safe on any pack
Every fix that touches another mod checks that mod's installed jar first. If the mod is missing, or an update changed the part Nitro patches, that one fix switches itself off and says so in the log instead of crashing. Each fix also has its own switch in config/nitro.properties, and at the end of loading Nitro prints one table: every fix, whether it is running, and where your pack's launch time went, mod by mod.
Compatibility
- NeoForge 1.21.1 only. The jar refuses to load on other versions rather than crash there.
- Works alongside ModernFix, FerriteCore, Sodium, Embeddium, Lithium, C2ME and the usual performance mods. It patches different things, and it stands down for Just Enough Threads and FastSuite where they do the same job.
- Client and server. Neither side needs the other to have it.
- Requires ZambieLib.
- Nitro starts no processes, makes no network connections, and never loads a Java agent unless you add it to the JVM arguments yourself.
Installing
Drop Nitro and ZambieLib into mods/ and launch. That is all most of it needs. For the launch speedup above, follow the notice on the main menu once (Java 25, or the one JVM argument).
Questions
Does Nitro help small modpacks? The more mods, the more it saves. The waits it removes grow with the number of mod jars, so a pack of a few dozen mods has little to remove, and a pack of several hundred has minutes.
Is it a replacement for ModernFix or Sodium? No. Keep them. ModernFix cuts memory use and load time in other places, Sodium is about frame rate. Nitro only shortens loading, and several of its fixes build on ModernFix.
Do I have to add the JVM argument? No. Without it Nitro still speeds up resource loading, world join and JEI. The argument, or Java 25, is what removes the long pause at the very start.
Does Minecraft 1.21.1 run on Java 25? Yes. Launchers ask for Java 21 for this version, so some need a "skip Java compatibility check" box ticked; Nitro's notice tells you where it is in yours.
Does it work on servers? Yes, the launch and world load fixes apply to a dedicated server, and the same argument goes in user_jvm_args.txt.
Fabric, Forge, or other Minecraft versions? Not yet. NeoForge 1.21.1 only.
For pack authors
Nitro was built against a real 1000 mod pack, and the report it prints doubles as a profile of where your pack's time goes. If a fix does not apply on your pack, the log says which mod and version it expected. Send those, with the log, on the Discord.
Want to host your own server? My servers are hosted with BisectHosting. Use my link and promo code ATK to get 25% off your first month.
Join my Discord! https://discord.gg/CzyVaqb


