EMI JEI Grid Fix
作者:rebot | 分类:模组
Minecraft 版本: 1.21.1
平台: neoforge
标签: utility
Some mods ship a JEI plugin but no EMI plugin, and EMI shows those recipes anyway by reading the
JEI plugin through its built-in compatibility layer. That mostly works — except for recipes whose
slots are placed by a scrolling grid widget instead of by fixed coordinates.
Those slots all end up drawn in the top-left corner of the recipe, stacked on each other and on top
of the recipe's inputs. If you have ever opened a strainer recipe in EMI and seen the entire drop
table piled onto the input item, this is that bug.
This mod fixes it. Nothing else changes: no new UI, no config, no recipes added or hidden.
Before / after
BenBenLaw's Strainers puts its drop table in a 5×3 scrolling grid. Without this mod every one of
those outputs renders at the same spot over the input slots; with it, they lay out in the grid the
recipe asked for.
Why it happens
EMI's JEI-compat layer implements JEI's "add a slot and let a widget position it later" method as:
public IRecipeSlotBuilder addSlotToWidget(RecipeIngredientRole role, ISlottedWidgetFactory<?> widgetFactory) {
return addSlot(role, 0, 0);
}
The widget is ignored, so every slot lands at (0, 0). This mod intercepts that call, asks the grid
where it was placed and how wide it is, and puts each slot in the next grid cell — the same position
JEI's own grid widget would have used.
Any JEI plugin using a scroll grid benefits, not just Strainers.
Requirements
- Minecraft 1.21.1, NeoForge
- EMI and JEI both installed (the code path this patches only exists when EMI is reading JEI
plugins) - Client side only — it does nothing on a server, and is not needed on one
Known limitation
EMI recipe panels do not scroll, so a recipe with more outputs than its grid was sized for keeps
flowing downward past the bottom of the panel instead of scrolling. Strainer recipes fit comfortably.
请登录后举报
暂无评论,抢个沙发吧~