aboutsummaryrefslogtreecommitdiff
path: root/runtime-frontend
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-08-28 20:48:46 +0900
committershedaniel <daniel@shedaniel.me>2022-08-28 21:14:21 +0900
commitfb91ed996b01f986492de4007cb86be5e68ad192 (patch)
treeb1176be6374ac6d56094c9bcf2b48226b31e68ec /runtime-frontend
parent94e323f75c17e297c33fba1d3afb5c47ae66a8ad (diff)
downloadRoughlyEnoughItems-fb91ed996b01f986492de4007cb86be5e68ad192.tar.gz
RoughlyEnoughItems-fb91ed996b01f986492de4007cb86be5e68ad192.tar.bz2
RoughlyEnoughItems-fb91ed996b01f986492de4007cb86be5e68ad192.zip
More internal changes
Diffstat (limited to 'runtime-frontend')
-rw-r--r--runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java6
-rw-r--r--runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java2
-rw-r--r--runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RealRegionEntry.java2
-rw-r--r--runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java50
-rw-r--r--runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionListener.java5
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/CollapsedEntriesTooltip.java2
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListStackEntry.java2
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java29
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/scrolled/ScrolledEntryListWidget.java2
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java (renamed from runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidget.java)10
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java (renamed from runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidget.java)20
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/SearchFieldWidgetProvider.java25
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/search/DelegateTextField.java182
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/search/OverlaySearchField.java430
-rw-r--r--runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/search/OverlaySearchFieldSyntaxHighlighter.java87
-rw-r--r--runtime-frontend/overlay-entries/src/main/resources/META-INF/services/me.shedaniel.rei.impl.client.gui.overlay.widgets.OverlayWidgetProvider5
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/MenuAccess.java64
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/MenuEntry.java44
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/AbstractScreenOverlay.java4
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/InternalOverlayBounds.java10
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/ScreenOverlayImpl.java22
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/ScreenOverlayProviderImpl.java11
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/dragging/DraggingContextImpl.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/dragging/DraggingContextImpl.java)2
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/AbstractMenuEntry.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/AbstractMenuEntry.java)6
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/Menu.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/Menu.java)33
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/MenuAccessImpl.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/MenuAccessImpl.java)33
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/entries/EmptyMenuEntry.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/entries/EmptyMenuEntry.java)4
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/entries/SeparatorMenuEntry.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/entries/SeparatorMenuEntry.java)4
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/entries/SubMenuEntry.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/entries/SubMenuEntry.java)23
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/entries/TextMenuEntry.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/entries/TextMenuEntry.java)4
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/entries/ToggleMenuEntry.java (renamed from runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/menu/entries/ToggleMenuEntry.java)6
-rw-r--r--runtime-frontend/overlay/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/menu/provider/OverlayMenuEntryProvider.java18
-rw-r--r--runtime-frontend/overlay/src/main/resources/META-INF/services/me.shedaniel.rei.impl.client.provider.OverlayProvider1
-rw-r--r--runtime-frontend/widgets/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TextFieldWidget.java6
34 files changed, 883 insertions, 271 deletions
diff --git a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java
index 1d492deb2..9f281e022 100644
--- a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java
+++ b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/rows/FavoritesPanelEntriesRow.java
@@ -35,6 +35,7 @@ import me.shedaniel.rei.api.client.gui.drag.DraggableStack;
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.util.ClientEntryStacks;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.util.CollectionUtils;
@@ -52,8 +53,7 @@ import java.util.AbstractList;
import java.util.List;
import java.util.function.Predicate;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
-import static me.shedaniel.rei.impl.client.gui.widget.entrylist.EntryListWidget.notSteppingOnExclusionZones;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
@SuppressWarnings("UnstableApiUsage")
public class FavoritesPanelEntriesRow extends FavoritesPanelRow {
@@ -210,7 +210,7 @@ public class FavoritesPanelEntriesRow extends FavoritesPanelRow {
currentY++;
}
- if (notSteppingOnExclusionZones(xPos, yPos + lastY - panel.getScrolledAmountInt(), entrySize, entrySize)) {
+ if (ScreenOverlay.getInstance().get().isNotInExclusionZones(new Rectangle(xPos, yPos + lastY - panel.getScrolledAmountInt(), entrySize, entrySize))) {
widget.moveTo(animated.test(widget), xPos, yPos);
break;
} else {
diff --git a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java
index 962a32d9d..942e7d8cf 100644
--- a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java
+++ b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java
@@ -56,7 +56,7 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
public class EntryStacksRegionWidget<T extends RegionEntry<T>> extends WidgetWithBounds implements DraggableStackProviderWidget, DraggableStackVisitorWidget {
public final RegionListener<T> listener;
diff --git a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RealRegionEntry.java b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RealRegionEntry.java
index 6ed75075e..062e2bfbc 100644
--- a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RealRegionEntry.java
+++ b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RealRegionEntry.java
@@ -30,7 +30,7 @@ import me.shedaniel.rei.api.client.config.ConfigObject;
import me.shedaniel.rei.api.client.entry.region.RegionEntry;
import me.shedaniel.rei.api.client.gui.widgets.Slot;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
@SuppressWarnings("UnstableApiUsage")
public class RealRegionEntry<T extends RegionEntry<T>> {
diff --git a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java
index edce563aa..2df833fcf 100644
--- a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java
+++ b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java
@@ -33,14 +33,13 @@ import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.widgets.Slot;
import me.shedaniel.rei.api.client.gui.widgets.Widgets;
import me.shedaniel.rei.api.client.overlay.ScreenOverlay;
-import me.shedaniel.rei.api.common.util.CollectionUtils;
import me.shedaniel.rei.impl.client.gui.menu.MenuAccess;
-import me.shedaniel.rei.impl.client.gui.menu.MenuEntry;
import me.shedaniel.rei.impl.client.gui.overlay.AbstractScreenOverlay;
import me.shedaniel.rei.impl.client.gui.overlay.widgets.DisplayedEntryWidget;
-import net.minecraft.client.gui.components.events.GuiEventListener;
-import java.util.*;
+import java.util.Collection;
+import java.util.Optional;
+import java.util.UUID;
import java.util.function.Supplier;
@SuppressWarnings("UnstableApiUsage")
@@ -75,51 +74,10 @@ public class RegionEntryWidget<T extends RegionEntry<T>> extends DisplayedEntryW
MenuAccess access = overlay.menuAccess();
UUID uuid = entry.getEntry().getUuid();
- access.openOrClose(uuid, slot.getBounds(), () ->
- CollectionUtils.map(menuEntries.get().get(), entry -> convertMenu(overlay, entry)));
+ access.openOrClose(uuid, slot.getBounds(), menuEntries.get());
}
}
- private MenuEntry convertMenu(AbstractScreenOverlay overlay, FavoriteMenuEntry entry) {
- return new MenuEntry() {
- @Override
- public List<? extends GuiEventListener> children() {
- return Collections.singletonList(entry);
- }
-
- @Override
- public void render(PoseStack poseStack, int i, int j, float f) {
- entry.render(poseStack, i, j, f);
- }
-
- @Override
- public int getEntryWidth() {
- return entry.getEntryWidth();
- }
-
- @Override
- public int getEntryHeight() {
- return entry.getEntryHeight();
- }
-
- @Override
- public void updateInformation(int xPos, int yPos, boolean selected, boolean containsMouse, boolean rendering, int width) {
- entry.closeMenu = overlay.menuAccess()::close;
- entry.updateInformation(xPos, yPos, selected, containsMouse, rendering, width);
- }
-
- @Override
- public int getZ() {
- return entry.getZ();
- }
-
- @Override
- public void setZ(int z) {
- entry.setZ(z);
- }
- };
- }
-
@Override
public boolean doMouse(Slot slot, double mouseX, double mouseY, int button) {
return entry.getEntry().doAction(button) || super.doMouse(slot, mouseX, mouseY, button);
diff --git a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionListener.java b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionListener.java
index 7ef8917ed..4f77e9782 100644
--- a/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionListener.java
+++ b/runtime-frontend/favorites-entries/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionListener.java
@@ -23,11 +23,12 @@
package me.shedaniel.rei.impl.client.gui.widget.region;
+import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.entry.region.RegionEntry;
import me.shedaniel.rei.api.client.favorites.FavoriteEntry;
import me.shedaniel.rei.api.client.gui.drag.DraggableStack;
import me.shedaniel.rei.api.client.gui.drag.DraggingContext;
-import me.shedaniel.rei.impl.client.gui.widget.entrylist.EntryListWidget;
+import me.shedaniel.rei.api.client.overlay.ScreenOverlay;
import net.minecraft.client.gui.screens.Screen;
import org.jetbrains.annotations.Nullable;
@@ -70,6 +71,6 @@ public interface RegionListener<T extends RegionEntry<T>> {
default void onConsumed(RealRegionEntry<T> entry) {}
default boolean notSteppingOnExclusionZones(int left, int top, int width, int height) {
- return EntryListWidget.notSteppingOnExclusionZones(left, top, width, height);
+ return ScreenOverlay.getInstance().get().isNotInExclusionZones(new Rectangle(left, top, width, height));
}
}
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/CollapsedEntriesTooltip.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/CollapsedEntriesTooltip.java
index 264ac057e..9521c2e5b 100644
--- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/CollapsedEntriesTooltip.java
+++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/CollapsedEntriesTooltip.java
@@ -37,7 +37,7 @@ import net.minecraft.network.chat.TextComponent;
import net.minecraft.util.Mth;
import net.minecraft.world.inventory.tooltip.TooltipComponent;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
public class CollapsedEntriesTooltip implements ClientTooltipComponent, TooltipComponent {
private static final int MAX_WIDTH = 140;
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListStackEntry.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListStackEntry.java
index e1ec62fa4..a093050f5 100644
--- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListStackEntry.java
+++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListStackEntry.java
@@ -49,7 +49,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
@SuppressWarnings("UnstableApiUsage")
public class EntryListStackEntry extends DisplayedEntryWidget {
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java
index 8fd0d1bd7..c9c4b3d85 100644
--- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java
+++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/EntryListWidgetImpl.java
@@ -24,8 +24,6 @@
package me.shedaniel.rei.impl.client.gui.overlay.entries;
import com.mojang.blaze3d.vertex.PoseStack;
-import me.shedaniel.clothconfig2.api.animator.NumberAnimator;
-import me.shedaniel.clothconfig2.api.animator.ValueAnimator;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.ClientHelper;
@@ -54,7 +52,6 @@ import me.shedaniel.rei.impl.client.gui.overlay.widgets.ScaleIndicatorWidget;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.player.LocalPlayer;
-import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.util.Mth;
import net.minecraft.world.InteractionResult;
@@ -64,7 +61,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
@ApiStatus.Internal
public abstract class EntryListWidgetImpl extends WidgetWithBounds implements EntryListWidget, DraggableStackVisitorWidget {
@@ -75,28 +72,8 @@ public abstract class EntryListWidgetImpl extends WidgetWithBounds implements En
private final ScaleIndicatorWidget scaleIndicator = new ScaleIndicatorWidget();
public static boolean notSteppingOnExclusionZones(int left, int top, int width, int height) {
- Minecraft instance = Minecraft.getInstance();
- for (OverlayDecider decider : ScreenRegistry.getInstance().getDeciders(instance.screen)) {
- InteractionResult fit = canItemSlotWidgetFit(left, top, width, height, decider);
- if (fit != InteractionResult.PASS)
- return fit == InteractionResult.SUCCESS;
- }
- return true;
- }
-
- private static InteractionResult canItemSlotWidgetFit(int left, int top, int width, int height, OverlayDecider decider) {
- InteractionResult fit;
- fit = decider.isInZone(left, top);
- if (fit != InteractionResult.PASS)
- return fit;
- fit = decider.isInZone(left + width, top);
- if (fit != InteractionResult.PASS)
- return fit;
- fit = decider.isInZone(left, top + height);
- if (fit != InteractionResult.PASS)
- return fit;
- fit = decider.isInZone(left + width, top + height);
- return fit;
+ ScreenOverlay overlay = ScreenOverlay.getInstance().get();
+ return overlay.isNotInExclusionZones(new Rectangle(left, top, width, height));
}
private boolean containsChecked(Point point, boolean inner) {
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/scrolled/ScrolledEntryListWidget.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/scrolled/ScrolledEntryListWidget.java
index d539c4848..cda032b0d 100644
--- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/scrolled/ScrolledEntryListWidget.java
+++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/entries/scrolled/ScrolledEntryListWidget.java
@@ -48,7 +48,7 @@ import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;
-import static me.shedaniel.rei.impl.client.gui.overlay.InternalOverlayBounds.entrySize;
+import static me.shedaniel.rei.impl.client.util.InternalEntryBounds.entrySize;
public class ScrolledEntryListWidget extends CollapsingEntryListWidget {
private List</*EntryStack<?> | EntryIngredient*/ Object> stacks = new ArrayList<>();
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidget.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java
index faffe97dd..eabe883a5 100644
--- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidget.java
+++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/ConfigButtonWidgetProvider.java
@@ -30,6 +30,7 @@ import me.shedaniel.rei.api.client.ClientHelper;
import me.shedaniel.rei.api.client.REIRuntime;
import me.shedaniel.rei.api.client.config.ConfigManager;
import me.shedaniel.rei.api.client.config.ConfigObject;
+import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.config.AppearanceTheme;
import me.shedaniel.rei.api.client.gui.config.DisplayPanelLocation;
import me.shedaniel.rei.api.client.gui.config.SyntaxHighlightingMode;
@@ -43,8 +44,7 @@ import me.shedaniel.rei.api.common.networking.NetworkingHelper;
import me.shedaniel.rei.impl.client.config.ConfigManagerInternal;
import me.shedaniel.rei.impl.client.gui.InternalTextures;
import me.shedaniel.rei.impl.client.gui.menu.MenuAccess;
-import me.shedaniel.rei.impl.client.gui.menu.MenuEntry;
-import me.shedaniel.rei.impl.client.gui.menu.entries.*;
+import me.shedaniel.rei.impl.client.gui.overlay.menu.entries.*;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.chat.NarratorChatListener;
import net.minecraft.client.gui.screens.Screen;
@@ -56,7 +56,7 @@ import java.util.UUID;
import java.util.function.Consumer;
import java.util.function.UnaryOperator;
-public class ConfigButtonWidget implements OverlayWidgetProvider {
+public class ConfigButtonWidgetProvider implements OverlayWidgetProvider {
private static final UUID CONFIG_MENU_UUID = UUID.fromString("4357bc36-0a4e-47d2-8e07-ddc220df4a0f");
@Override
@@ -81,7 +81,7 @@ public class ConfigButtonWidget implements OverlayWidgetProvider {
button.removeTint();
}
- access.openOrClose(CONFIG_MENU_UUID, button.getBounds(), ConfigButtonWidget::menuEntries);
+ access.openOrClose(CONFIG_MENU_UUID, button.getBounds(), ConfigButtonWidgetProvider::menuEntries);
})
.focusable(false)
.containsMousePredicate((button, point) -> button.getBounds().contains(point) && overlay.isNotInExclusionZones(point.x, point.y));
@@ -94,7 +94,7 @@ public class ConfigButtonWidget implements OverlayWidgetProvider {
return lateRenderable.apply(Widgets.concat(configButton, overlayWidget));
}
- private static Collection<MenuEntry> menuEntries() {
+ private static Collection<FavoriteMenuEntry> menuEntries() {
ConfigManagerInternal manager = ConfigManagerInternal.getInstance();
ConfigObject config = ConfigObject.getInstance();
return List.of(
diff --git a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidget.java b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java
index 63ff5fd0d..f5fbc42a0 100644
--- a/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidget.java
+++ b/runtime-frontend/overlay-entries/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/widgets/CraftableFilterButtonWidgetProvider.java
@@ -28,6 +28,7 @@ import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.REIRuntime;
import me.shedaniel.rei.api.client.config.ConfigManager;
import me.shedaniel.rei.api.client.config.ConfigObject;
+import me.shedaniel.rei.api.client.favorites.FavoriteMenuEntry;
import me.shedaniel.rei.api.client.gui.config.SearchFieldLocation;
import me.shedaniel.rei.api.client.gui.widgets.*;
import me.shedaniel.rei.api.client.overlay.OverlayListWidget;
@@ -37,9 +38,8 @@ import me.shedaniel.rei.api.client.search.method.InputMethodRegistry;
import me.shedaniel.rei.api.common.util.CollectionUtils;
import me.shedaniel.rei.impl.client.config.ConfigManagerInternal;
import me.shedaniel.rei.impl.client.gui.menu.MenuAccess;
-import me.shedaniel.rei.impl.client.gui.menu.MenuEntry;
-import me.shedaniel.rei.impl.client.gui.menu.entries.SubMenuEntry;
-import me.shedaniel.rei.impl.client.gui.menu.entries.ToggleMenuEntry;
+import me.shedaniel.rei.impl.client.gui.overlay.menu.entries.SubMenuEntry;
+import me.shedaniel.rei.impl.client.gui.overlay.menu.entries.ToggleMenuEntry;
import me.shedaniel.rei.impl.client.gui.screen.ConfigReloadingScreen;
import me.shedaniel.rei.impl.common.InternalLogger;
import net.minecraft.client.Minecraft;
@@ -59,7 +59,7 @@ import java.util.concurrent.Executors;
import java.util.function.Consumer;
import java.util.function.UnaryOperator;
-public class CraftableFilterButtonWidget implements OverlayWidgetProvider {
+public class CraftableFilterButtonWidgetProvider implements OverlayWidgetProvider {
public static final UUID FILTER_MENU_UUID = UUID.fromString("2839e998-1679-4f9e-a257-37411d16f1e6");
@Override
@@ -84,7 +84,7 @@ public class CraftableFilterButtonWidget implements OverlayWidgetProvider {
.onRender((matrices, button) -> {
button.setTint(ConfigManager.getInstance().isCraftableOnlyEnabled() ? 0x3800d907 : 0x38ff0000);
- access.openOrClose(FILTER_MENU_UUID, button.getBounds(), CraftableFilterButtonWidget::menuEntries);
+ access.openOrClose(FILTER_MENU_UUID, button.getBounds(), CraftableFilterButtonWidgetProvider::menuEntries);
})
.containsMousePredicate((button,