emi_shadow_patch-forge-1.20.1-1.0.0
Curse Maven Snippet
What's new
1.0.0
Initial release, for Forge 1.20.1.
Added
- Improves the frame rate when EMI and Shadow Drop are used together. Shadows over EMI's item list no longer pause the frame to inspect the screen image, no longer re-resolve every item and tag lookup from scratch on every pass, and no longer cost a separate draw call each. The worst of it was stutter while scrolling, and opening an EMI screen.
- Item shadows keep their existing appearance, placement and configuration, including the cropping of slot, hover and hotbar shadows.
- Restores EMI's batched item renderer in the case where EMI switches it off by mistake. EMI disables
batching when it decides the installed Sodium-family renderer is too old, and Embeddium is caught
by that check even though it ships the API EMI is looking for — it also declares a stub
rubidiummod id, which is what makes EMI run the check in the first place. Batching is what keeps EMI's item list to a handful of draw calls instead of one per item. The log reports what EMI decided and why, and the option can be turned off if item icons ever render wrong. - Items that share an id but differ in NBT no longer cost extra. EMI re-checks whether each visible item can use its batched renderer on every frame, and that check rebuilt the item twice and resolved its model twice each time — which is dearest for exactly the items whose icon depends on NBT. The answer cannot change for a given list entry, so it is now remembered.
- Works alongside GUI animation mods instead of fighting them. Mods like SmoothGui deliberately turn EMI's batched renderer off, because items baked once cannot animate; forcing it back on made some icons stop bouncing. That choice is now respected by default, with an option to override it if you would rather have the faster item list.
- GUI animations and the faster item list can now both be had, just not at the same instant. EMI draws its item list from geometry it built once, and the screen's position at that moment is part of it — so when an animation mod slides a screen, those icons would sit still while everything else moves, which is why such mods turn the fast path off. This patch instead rebuilds the list only while an animation is actually moving, so the icons animate, and goes back to building it once and reusing it as soon as the animation settles. Optionally, the old behaviour — respecting the animation mod and staying slow — is one setting away.
- Item icons over an animating screen move in the same direction as everything else. Rebuilding the list while a screen slides put the offset into the icon geometry, and EMI draws that geometry through a matrix that flips it vertically — so those icons, and only those, would have travelled the opposite way. The offset is now pre-flipped to cancel that out.
- An optional on-screen counter overlay, so the effect can be measured without a profiler.
- The log now reports whether EMI's batched item renderer is active, and the overlay reports what share of the item list it covers. EMI only batches items that are not enchanted, not damaged, and whose model is a plain one, so a large modpack list is often partly outside it — and that determines whether the remaining cost is paid only while the list changes, or on every frame. If EMI reports its batcher as off, the log says what caused it.
- Config options that each restore the previous behaviour individually, so the patch can be narrowed down from in-game if something looks wrong.
Notes
- Client side only. Nothing is required on a server.
- Shadow Drop and EMI are both optional dependencies: with either one missing, the mod loads and does nothing.
- The item is still drawn a second time to produce each shadow. That is what the effect is, and it
is the main cost this release does not remove. The overlay's
shadows drawn/sfigure shows how much work that is on your machine.
This mod has no additional files

