Community listing page, reviews may not be monitored by the author.
JEI/EMI Optimizations
No reviews yet
Join your modpack's worlds way faster, JEI and EMI loads its slow plugins and search index after you join with the exact same recipes.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
⚡ JEI/EMI Optimizations
  
Join your modpack's worlds way faster. JEI works right away, its slow plugins finish loading in the background, and you end up with the exact same recipes. Works with EMI too, next to JEI or on its own.
🚀 What it does
✅ You get into the world way sooner, JEI's slow plugins add their recipes after you join instead of freezing the game.
✅ JEI works right away, its search index builds in the background.
✅ Looking up recipes (R and U) doesnt hang the game anymore in big packs (1.20.1 and 1.21.1).
✅ Once its done loading you have the exact same recipes as without the mod (checked on five packs).
✅ Works with EMI too, next to JEI or on its own.
✅ Client side only and nothing to set up.
| 🗡️ Roguelike Dungeons 3 | 🌑 Soulrend | 🔫 BattleArmory TACZ + EMI |
|---|---|---|
| 41.8 s → 12.9 s | 104 s → 8 s | 24.4 s → 3.1 s |
| main menu to playing | freeze after joining | joining to EMI working |
⚙️ How it works
JEI/EMI Optimizations splits up JEI's world join startup (JeiStarter.start), which normally runs every plugin and builds the whole search index before you can even play:
- Every plugin's
registerRecipesstep that isn't known to be quick runs after the join on a worker thread, against a snapshot of JEI's ingredient lists. Its recipes get laid out on a thread pool and added to JEI a bit every frame. - The search index (
ElementSearch) gets built after the join too, until its done the item list just searches whatever has been gathered so far. - If a plugin errors in the background it just runs the normal way right there. Every plugin's result also gets fingerprinted and compared with its earlier launches, differences end up in the log.
- JEI's crafting and brewing extension caches get made thread safe, cause laying recipes out on several threads at once would lose some of them otherwise.
- Recipe lookups get faster cause the ingredient ids of big recipe slots, JEI's category order checks and the firework dye list get kept once they're worked out, instead of being recalculated on every single lookup.
🧩 With EMI
EMI and JEI together: EMI reads JEI's recipes through its JEI bridge (JEMI), so EMI gets reloaded once (
EmiReloadManager.reload) when the last background recipes are in. That reload keeps the creative tabs EMI just built instead of building them again. EMI works way sooner too, cause JEI doesnt freeze the game and hold EMI back anymore.EMI on its own (1.20.1 and 1.21.1, also with Too Many Recipe Viewers): theres not that much to win here, EMI already loads in the background by itself. The creative menu keeps the creative tabs EMI already built, instead of the game building them all again the first time you open it.
EMI ends up with the exact same recipes either way, checked one by one against no mod.
📊 Benchmarks
Main menu to playing
| Pack | Without the mod | With JEI/EMI Optimizations |
|---|---|---|
| Roguelike Dungeons 3 (measured by Dreams01) | 41.8 s | 12.9 s |
| Soulrend (Forge 1.20.1, 418 mods) | 3 min 56 s | 2 min 16 s |
| All the Mods 10: To the Sky (NeoForge 1.21.1, 324 mods) | 1 min 27 s | 57 s |
| Westercraft (Fabric 1.20.1, 179 mods) | 25 s | 10 s |
With EMI
| Pack | Without the mod | With JEI/EMI Optimizations | EMI's recipes |
|---|---|---|---|
| BattleArmory TACZ (Forge 1.20.1, EMI + JEI), joining to EMI working | 24.4 s | 3.1 s | 8,233, the same |
| Create+ (NeoForge 1.21.1, EMI on its own), first creative menu open | 0.27 s | 0.12 s | 25,672, the same |
| MCF (Fabric 1.20.1, EMI on its own), first creative menu open | 0.11 s | 0.11 s | 16,014, the same |
In BattleArmory TACZ EMI has all 8,233 recipes 31.6 s after joining. In MCF ModernFix already keeps the creative tabs, so theres nothing left to win there.
Every JEI optimizer on one pack
Changed+ (Forge 1.20.1, 205 mods, JEI 15.74), each one on its own, two runs each, the middle value.
| Joining to JEI working | JEI fully loaded | Longest freeze | Recipes | Lookups the same as plain JEI | |
|---|---|---|---|---|---|
| Plain JEI | 20.6 s | 24.9 s | 24.9 s | 59,377 | - |
| ⚡ JEI/EMI Optimizations | 2.6 s | 38.1 s | 4.5 s | 59,377 | 400 of 400 |
| JEI Rewired | 15.3 s | 15.3 s | 9.9 s | 59,377 | 400 of 400 |
| JEAsync | 8.1 s | 8.1 s | 4.1 s | 59,094 | 393 of 400 |
| Just Enough Freezes | 6.8 s | 8.0 s | 8.0 s | 33,991 | 340 of 400 |
| Just Enough Loading | 10.7 s | 11.6 s | 11.6 s | 34,347 | 340 of 400 |
| Just Enough Threads | 26.1 s | 26.1 s | 4.1 s | 31,834 | 340 of 400 |
| TheFastLaunch | 21.5 s | 22.9 s | 22.9 s | 59,377 | 400 of 400 |
| JEIOptimizer | never finished loading (both runs stopped after 25 min) |
JEI is usable way sooner with this mod than with any of them, and its the only fast one that keeps every recipe. The others that lose recipes drop JEI's anvil and grindstone example pages (23,558 anvil ones in plain JEI). The catch: the last background recipes come in later than plain JEI would finish (38.1 s), cause they get added a little bit each frame so the game doesnt hitch. "Lookups" is 400 random items, R and U on each, compared with plain JEI.
Next to the other JEI optimizers, all at once
Joining to JEI working, and how many recipes JEI ends up with.
| Soulrend | All the Mods 10: To the Sky | |
|---|---|---|
| Plain JEI | 93 s, 89,590 recipes | 47 s, 248,369 recipes |
| Just Enough Threads | 44 s, 53,493 recipes | 81 s, 142,066 recipes |
| All of them together* | 44 s, 52,863 recipes | 78 s, 127,818 recipes |
| ⚡ JEI/EMI Optimizations | 5 s, 89,590 recipes | 17 s, 248,370 recipes |
*Just Enough Threads, JEIOptimizer and TheFastLaunch, plus Just Enough Freezes on Soulrend and Just Enough Loading on All the Mods 10. They cut 40-50% of the recipes by default (anvil, grindstone and fuel pages), JEI/EMI Optimizations keeps every one.
Slowest recipe lookup
Pressing R or U on a item in JEI: 8.2 s → 0.19 s in Soulrend, 2.7 s → 0.13 s in All the Mods 10.
🎮 Versions
| Minecraft | Forge | Fabric | NeoForge | EMI without JEI |
|---|---|---|---|---|
| 1.16.5 | ✅ | |||
| 1.18.2 | ✅ | ✅ | ||
| 1.19.2 | ✅ | ✅ | ||
| 1.20.1 | ✅ | ✅ | ✅ Forge, Fabric | |
| 1.21.1 | ✅ | ✅ | ✅ | ✅ Fabric, NeoForge |
| 1.21.10 | ✅ | ✅ | ||
| 1.21.11 | ✅ | ✅ | ||
| 26.1.2 | ✅ | ✅ | ||
| 26.2 | ✅ | ✅ | ||
| 26.3 | ✅ | ✅ |
💡 Good to know
🔎 It finds slow JEI plugins by itself, so no list of mods to keep up to date.
⏳ For a minute or two after you join, looking something up might not show every recipe yet and search results fill in while the search index builds. With EMI and JEI together EMI reloads once when they're all in (1.0.2 and up, 1.0.0 had a bug where EMI never got them).
🖥️ Client side only. It does nothing on a server so its fine to have in a server pack.
🌐 Works in multiplayer too, even leaving and rejoining a server while its still loading (tested with Westercraft's 179 mods on a dedicated server). On that Fabric server plain JEI actually missed most fuel recipes and all tag recipes, cause it starts before the server sends its tags. With this mod they were there like in singleplayer.
🤝 You dont need any other JEI optimizer, but if your pack already has JEIOptimizer, Just Enough Freezes, Just Enough Loading or TheFastLaunch it works alongside them. It steps aside for Just Enough Threads since that one does the same job.
📌 On 1.20.1 it needs JEI 15.56 or newer, on 1.18.2 JEI 10.6 or newer. With an older JEI it just stays off and JEI loads like it would without it.
📌 On 1.16.5 its only the recipes that load in the background (without the thread pool), the search index still loads when you join like normal. On 1.21.10 the search index still builds when you join too.
🧪 Quick test for your pack
Join a world without the mod, then with it and compare Starting JEI took in logs/latest.log. Launch each way twice and compare the second launches, the first launch after changing mods is always slower for everything.
📦 Pack makers: if you wanna check every plugin against JEI's normal loading before a release, put an empty file called
deep-checkinconfig/jeioptimizations/, join a world once and ship theconfig/jeioptimizations/plugins.jsonit writes with your pack.
Not affiliated with JEI, EMI or their authors (mezz and emilyploszaj). Please report problems here and not on their issue trackers.
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources
