From ef449b44e7124a199a460fbaa7fd73045a319b2a Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 4 Nov 2022 22:27:58 +0800 Subject: Fix #1188 --- .../me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'runtime/src/main/java/me/shedaniel') diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java index 472fe2a35..9703ee686 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java @@ -45,10 +45,12 @@ import me.shedaniel.rei.api.client.gui.widgets.Slot; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; import me.shedaniel.rei.api.client.gui.widgets.TooltipContext; import me.shedaniel.rei.api.client.overlay.ScreenOverlay; +import me.shedaniel.rei.api.client.registry.category.CategoryRegistry; import me.shedaniel.rei.api.client.registry.display.DisplayRegistry; import me.shedaniel.rei.api.client.registry.transfer.TransferHandler; import me.shedaniel.rei.api.client.search.method.InputMethod; import me.shedaniel.rei.api.client.view.ViewSearchBuilder; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.plugins.PluginManager; @@ -314,8 +316,12 @@ public class EntryWidget extends Slot implements DraggableStackProviderWidget { try { DisplayRegistry displayRegistry = DisplayRegistry.getInstance(); - for (List displays : displayRegistry.getAll().values()) { - for (Display display : displays) { + CategoryRegistry categoryRegistry = CategoryRegistry.getInstance(); + for (Map.Entry, List> entry : displayRegistry.getAll().entrySet()) { + Optional> configuration; + if ((configuration = categoryRegistry.tryGet(entry.getKey())).isEmpty() + || categoryRegistry.isCategoryInvisible(configuration.get().getCategory())) continue; + for (Display display : entry.getValue()) { if ((!ConfigObject.getInstance().shouldFilterDisplays() || displayRegistry.isDisplayVisible(display)) && ViewsImpl.isRecipesFor(getEntries(), display)) { AutoCraftingEvaluator.AutoCraftingResult result = AutoCraftingEvaluator.evaluateAutoCrafting(false, false, display, null); -- cgit