介绍
EMI Shadow Patch
Running EMI and Shadow Drop together is slow. This fixes most of it.
The problem
Shadow Drop draws a second, shadow-coloured copy of every item in a GUI. That is cheap while EMI’s
batched item renderer is doing the drawing — but the moment items are drawn one at a time, it becomes
the most expensive thing on screen. And EMI rebuilds its item list every time you scroll, so a large
list pays that cost over and over.
The result is a frame rate that collapses when you open EMI, and stutters while you scroll.
What this mod does
- No more stutter while scrolling an EMI list. The list no longer pauses to inspect the screen
image to work out what is a slot, and it no longer redoes the same per-item lookups from scratch on
every pass. - Restores EMI’s fast batched item rendering when EMI has switched it off by mistake. Some
Sodium-family setups make EMI decide it cannot use its fast path, without checking properly. When
that happens this mod puts it back, which is worth more than everything else here combined. - Items that share an ID but differ in NBT stop costing extra. Enchanted books, potions,
custom-model items and the like are the worst case for EMI, because working out how to draw each
one is expensive and it was being redone every frame. - Shadows draw together instead of one at a time. Shadow Drop’s shadow copies used to cost a
separate draw call for every item on screen. - Works alongside GUI animation mods rather than fighting them. Mods that slide or bounce a
screen, like SmoothGui, deliberately switch EMI’s fast path off, because items built once cannot
move. This mod rebuilds the list only while the animation is actually moving, so the animation plays
and the fast path comes back the moment it settles. - Nothing is forced. Every part of this is configurable, and each option can restore the original
behaviour on its own.
Your shadows, their appearance, their placement and their settings are all unchanged.
Requirements
| Minecraft | 1.20.1 |
| Forge | 47.2.30 or newer |
| EMI | required for any of this to apply |
| Shadow Drop | required for any of this to apply |
Client side only. Nothing is needed on a server.
Both EMI and Shadow Drop are declared as optional dependencies. If either is missing, or if a future
version of one of them changes something this patch relies on, the mod logs one line and does nothing
at all — it will not refuse to load and it will not crash.
Compatibility
- Embeddium / Rubidium — works, and this mod corrects a false verdict they can cause that makes
EMI switch its fast item rendering off. - SmoothGui — supported directly. Animations and the fast item list both work.
- ImmediatelyFast — no special handling needed.
- Shaders (Oculus / Iris) — untested by the author; the fast item path is the part most likely to
interact with a shader pack, and it can be turned off in the config if anything looks wrong.
Configuration
config/emi_shadow_patch-client.toml — the file is reloaded while the game is running, so options
can be changed and tried without restarting.
| Option | Default | Effect |
|---|---|---|
slotDetection |
SLOT_LIST |
How to tell whether an item is in a real slot. PIXEL_PROBE restores the original, slower method. |
memoizeItemTagMatching |
true |
Remember the transparent/translucent item and tag lookups instead of redoing them per item. |
accumulateShadowDraws |
true |
Let a whole list’s shadows draw in one go instead of one draw call per item. |
forceEmiBatchedRenderer |
true |
Put EMI’s fast batched item rendering back when EMI disabled it by mistake. |
reBatchDuringGuiAnimations |
true |
Rebuild the list while a GUI animation is moving so the animation plays, then go back to the fast path. Set to false to let the animation mod switch the fast path off instead. |
memoizeEmiBatchability |
true |
Remember EMI’s per-item “can this be batched?” answer, which is expensive to work out. |
debugCounters |
false |
Draws a small on-screen counter overlay. |
Checking that it is working
Open logs/latest.log and look for lines starting with [EMI Shadow Patch]. The first time you open
a screen you should see:
[EMI Shadow Patch] All Shadow Drop hooks resolved; patch is active.
[EMI Shadow Patch] EMI batched renderer: ENABLED (config use-batched-renderer=true).
If you see DISABLED, or a line saying some hooks did not resolve, the log explains which part did
not apply and why. Nothing is broken when that happens — the affected part simply stays off.
Known limitations
- The item is still drawn twice to make each shadow. That is what the effect is, and it is the one
cost this mod cannot remove. Everything else around it has been made cheaper. - The fast item path can be turned off entirely by the config if you would rather compare against the
unpatched behaviour.
Credits
Not affiliated with EMI or Shadow Drop. Neither is bundled or modified on disk; this is a separate
client-side patch that works with them at run time. All credit for those mods goes to their authors.
Licence
All Rights Reserved. You may use the mod and include it in a modpack that downloads it from this
page. You may not redistribute it, rehost it, or reuse its source.
常见问题
EMI Shadow Patch 支持哪些 Minecraft 版本?
EMI Shadow Patch 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
EMI Shadow Patch 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
DxEVIL 的其他作品
查看全部 →puffish apothic attributes fix
修复 Apothic Attributes 界面中 Pufferfish 的动态属性,并为 Pufferfish 的技能属性修正显示对应的技能图标。
Q Shop
适用于 Forge 1.20.1、NeoForge 1.21.1 和 NeoForge 26.1.2 的灵活服务器商店,支持买卖、以物易物和命令交易、自定义货币、交易限制、游戏内编辑,以及面向构建者的 KubeJS API。
Advanced Mob Leveling
非官方的 Auto Leveling 续作,支持基于公式的属性、通过 KubeJS 控制等级、兼容 LootJS,并改进了配置格式。
Q Backpack
一款独立的 Curios 背包模组,提供四个升级等级、集成式物品栏界面、自动拾取,以及受 Quark 启发的整理功能。
评论
登录后评论和评分