aboutsummaryrefslogtreecommitdiff
path: root/runtime-frontend
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-11-07 21:56:56 +0800
committershedaniel <daniel@shedaniel.me>2022-11-07 22:02:12 +0800
commit17c5d7f51fed9a59034b6bfaa8937f01c7254854 (patch)
tree63f5d1676a4fbcb4dc1859ffabd32ab3312c8866 /runtime-frontend
parent85a0ae5badcdb94e8ea092f3feecfa631df47f3c (diff)
parent4cfd0bcabaab7482c3053c8b51869f5228ba586b (diff)
downloadRoughlyEnoughItems-modularity.tar.gz
RoughlyEnoughItems-modularity.tar.bz2
RoughlyEnoughItems-modularity.zip
Merge commit '4cfd0bcabaab7482c3053c8b51869f5228ba586b' into modularitymodularity
Diffstat (limited to 'runtime-frontend')
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/DisplayedEntryWidget.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/DisplayedEntryWidget.java b/runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/DisplayedEntryWidget.java
index 4d6c063b2..149fdd118 100644
--- a/runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/DisplayedEntryWidget.java
+++ b/runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/DisplayedEntryWidget.java
@@ -33,9 +33,11 @@ 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.Widgets;
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.view.Views;
+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.entry.type.VanillaEntryTypes;
@@ -56,6 +58,8 @@ import org.jetbrains.annotations.Nullable;
import java.util.ConcurrentModificationException;
import java.util.List;
+import java.util.Map;
+import java.util.Optional;
import java.util.function.Supplier;
import java.util.function.UnaryOperator;
@@ -187,8 +191,14 @@ public abstract class DisplayedEntryWidget extends GuiComponent implements Unary
try {
DisplayRegistry displayRegistry = DisplayRegistry.getInstance();
- for (List<Display> displays : displayRegistry.getAll().values()) {
- for (Display display : displays) {
+ CategoryRegistry categoryRegistry = CategoryRegistry.getInstance();
+ Map<CategoryIdentifier<?>, Boolean> filteringQuickCraftCategories = ConfigObject.getInstance().getFilteringQuickCraftCategories();
+ for (Map.Entry<CategoryIdentifier<?>, List<Display>> entry : displayRegistry.getAll().entrySet()) {
+ Optional<? extends CategoryRegistry.CategoryConfiguration<?>> configuration;
+ if ((configuration = categoryRegistry.tryGet(entry.getKey())).isEmpty()
+ || categoryRegistry.isCategoryInvisible(configuration.get().getCategory())) continue;
+ if (!filteringQuickCraftCategories.getOrDefault(entry.getKey(), configuration.get().isQuickCraftingEnabledByDefault())) continue;
+ for (Display display : entry.getValue()) {
if ((!ConfigObject.getInstance().shouldFilterDisplays() || displayRegistry.isDisplayVisible(display))
&& Views.getInstance().isRecipesFor(slot.getEntries(), display)) {
AutoCraftingEvaluator.Result result = ClientInternals.getAutoCraftingEvaluator(display).get();