diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-08-27 13:23:37 +0900 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-08-27 13:23:37 +0900 |
| commit | 03b0adcf960c5e462fddc8e045b146a8c727670c (patch) | |
| tree | dcd998806437b6fea4e6ce0d34f5ddf97404d674 /runtime | |
| parent | 1ba613d9c97e722e76f459162de2e1a1c9e875bb (diff) | |
| download | RoughlyEnoughItems-03b0adcf960c5e462fddc8e045b146a8c727670c.tar.gz RoughlyEnoughItems-03b0adcf960c5e462fddc8e045b146a8c727670c.tar.bz2 RoughlyEnoughItems-03b0adcf960c5e462fddc8e045b146a8c727670c.zip | |
Refactors to overlays and reiruntime
Diffstat (limited to 'runtime')
16 files changed, 70 insertions, 162 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java index 7a537fcec..3c1cbcb01 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java @@ -33,6 +33,7 @@ import me.shedaniel.rei.api.client.registry.display.DisplayCategory; import me.shedaniel.rei.api.client.view.ViewSearchBuilder; import me.shedaniel.rei.api.common.category.CategoryIdentifier; import me.shedaniel.rei.api.common.entry.EntryStack; +import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.client.gui.screen.CompositeDisplayViewingScreen; import me.shedaniel.rei.impl.client.gui.screen.DefaultDisplayViewingScreen; import me.shedaniel.rei.impl.display.DisplaySpec; @@ -96,7 +97,7 @@ public class ClientHelperImpl extends ClientNetworkHelperImpl implements ClientM } } if (Minecraft.getInstance().screen instanceof DisplayScreen displayScreen) { - REIRuntimeImpl.getInstance().storeDisplayScreen(displayScreen); + DisplayScreenStack.storeDisplayScreen(displayScreen); } Minecraft.getInstance().setScreen(screen); return true; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/REIRuntimeImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/REIRuntimeImpl.java index 51132dc36..0c4007509 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/REIRuntimeImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/REIRuntimeImpl.java @@ -23,8 +23,6 @@ package me.shedaniel.rei.impl.client; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.systems.RenderSystem; import dev.architectury.event.EventResult; @@ -33,24 +31,18 @@ import dev.architectury.event.events.client.ClientTickEvent; import dev.architectury.platform.Platform; 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.gui.config.DisplayPanelLocation; import me.shedaniel.rei.api.client.gui.config.SearchFieldLocation; -import me.shedaniel.rei.api.client.gui.screen.DisplayScreen; -import me.shedaniel.rei.api.client.gui.widgets.Tooltip; import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; import me.shedaniel.rei.api.client.search.SearchProvider; import me.shedaniel.rei.api.common.registry.ReloadStage; +import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.client.gui.InternalTextures; import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; -import me.shedaniel.rei.impl.client.gui.TooltipQueue; -import me.shedaniel.rei.impl.client.gui.hints.HintProvider; import me.shedaniel.rei.impl.client.gui.widget.CachedEntryListRender; -import me.shedaniel.rei.impl.client.gui.widget.search.OverlaySearchField; import me.shedaniel.rei.impl.client.provider.OverlayTicker; -import me.shedaniel.rei.impl.common.Internals; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; @@ -61,9 +53,6 @@ import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import java.lang.reflect.InvocationTargetException; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.List; import java.util.Optional; import static me.shedaniel.rei.impl.client.gui.widget.entrylist.EntryListWidget.entrySize; @@ -71,8 +60,6 @@ import static me.shedaniel.rei.impl.client.gui.widget.entrylist.EntryListWidget. @ApiStatus.Internal @Environment(EnvType.CLIENT) public class REIRuntimeImpl implements REIRuntime { - private final LinkedHashSet<DisplayScreen> lastDisplayScreen = Sets.newLinkedHashSetWithExpectedSize(10); - private final List<HintProvider> hintProviders = Internals.resolveServices(HintProvider.class); private ScreenOverlayImpl overlay; private AbstractContainerScreen<?> previousContainerScreen = null; private Screen previousScreen = null; @@ -86,57 +73,6 @@ public class REIRuntimeImpl implements REIRuntime { return (REIRuntimeImpl) REIRuntime.getInstance(); } - public List<HintProvider> getHintProviders() { - return Collections.unmodifiableList(hintProviders); - } - - @Override - public void queueTooltip(@Nullable Tooltip tooltip) { - if (overlay != null && tooltip != null) { - TooltipQueue.addTooltip(tooltip); - } - } - - @Override - public void clearTooltips() { - if (overlay != null) { - TooltipQueue.clearTooltips(); - } - } - - @Nullable - public static OverlaySearchField getSearchField() { - return (OverlaySearchField) getInstance().getSearchTextField(); - } - - public void storeDisplayScreen(DisplayScreen screen) { - while (lastDisplayScreen.size() >= 10) - lastDisplayScreen.remove(Iterables.get(lastDisplayScreen, 0)); - lastDisplayScreen.add(screen); - } - - public boolean hasLastDisplayScreen() { - return !lastDisplayScreen.isEmpty(); - } - - public Screen getLastDisplayScreen() { - DisplayScreen screen = Iterables.getLast(lastDisplayScreen); - lastDisplayScreen.remove(screen); - screen.recalculateCategoryPage(); - return (Screen) screen; - } - - @Override - public boolean isOverlayVisible() { - return ConfigObject.getInstance().isOverlayVisible(); - } - - @Override - public void toggleOverlayVisible() { - ConfigObject.getInstance().setOverlayVisible(!ConfigObject.getInstance().isOverlayVisible()); - ConfigManager.getInstance().saveConfig(); - } - @Override public Optional<ScreenOverlay> getOverlay(boolean reset, boolean init) { if ((overlay == null && init) || reset) { @@ -180,16 +116,6 @@ public class REIRuntimeImpl implements REIRuntime { } @Override - public boolean isDarkThemeEnabled() { - return ConfigObject.getInstance().isUsingDarkTheme(); - } - - @Override - public ResourceLocation getDefaultDisplayTexture() { - return getDefaultDisplayTexture(isDarkThemeEnabled()); - } - - @Override public ResourceLocation getDefaultDisplayTexture(boolean darkTheme) { return darkTheme ? InternalTextures.DISPLAY_TEXTURE_DARK : InternalTextures.DISPLAY_TEXTURE; } @@ -242,9 +168,14 @@ public class REIRuntimeImpl implements REIRuntime { @Override public void startReload() { + startReload(null); + } + + @Override + public void startReload(ReloadStage stage) { SearchProvider.getInstance().clearCache(); getOverlay().ifPresent(ScreenOverlay::queueReloadOverlay); - lastDisplayScreen.clear(); + DisplayScreenStack.clear(); if (!RenderSystem.isOnRenderThread()) { RenderSystem.recordRenderCall(CachedEntryListRender::refresh); } else { @@ -253,11 +184,6 @@ public class REIRuntimeImpl implements REIRuntime { } @Override - public void startReload(ReloadStage stage) { - startReload(); - } - - @Override public void endReload(ReloadStage stage) { SearchProvider.getInstance().clearCache(); getOverlay().ifPresent(ScreenOverlay::queueReloadOverlay); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/DisplayScreenStack.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/DisplayScreenStack.java new file mode 100644 index 000000000..4b12aa5d6 --- /dev/null +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/DisplayScreenStack.java @@ -0,0 +1,33 @@ +package me.shedaniel.rei.impl.client.gui; + +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; +import me.shedaniel.rei.api.client.gui.screen.DisplayScreen; +import net.minecraft.client.gui.screens.Screen; + +import java.util.LinkedHashSet; + +public class DisplayScreenStack { + private static final LinkedHashSet<DisplayScreen> LAST_DISPLAY_SCREENS = Sets.newLinkedHashSetWithExpectedSize(10); + + public static void storeDisplayScreen(DisplayScreen screen) { + while (LAST_DISPLAY_SCREENS.size() >= 10) + LAST_DISPLAY_SCREENS.remove(Iterables.get(LAST_DISPLAY_SCREENS, 0)); + LAST_DISPLAY_SCREENS.add(screen); + } + + public static boolean hasLastDisplayScreen() { + return !LAST_DISPLAY_SCREENS.isEmpty(); + } + + public static Screen getLastDisplayScreen() { + DisplayScreen screen = Iterables.getLast(LAST_DISPLAY_SCREENS); + LAST_DISPLAY_SCREENS.remove(screen); + screen.recalculateCategoryPage(); + return (Screen) screen; + } + + public static void clear() { + LAST_DISPLAY_SCREENS.clear(); + } +} diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/TooltipQueue.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/TooltipQueue.java deleted file mode 100644 index 204798203..000000000 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/TooltipQueue.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly Enough Items. - * Copyright (c) 2018, 2019, 2020, 2021, 2022 shedaniel - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.shedaniel.rei.impl.client.gui; - -import com.google.common.collect.Lists; -import me.shedaniel.rei.api.client.gui.widgets.Tooltip; -import org.jetbrains.annotations.Nullable; - -import java.util.List; -import java.util.Objects; - -public class TooltipQueue { - private static final List<Tooltip> TOOLTIPS = Lists.newArrayList(); - - public static void addTooltip(@Nullable Tooltip tooltip) { - if (tooltip != null) - TOOLTIPS.add(tooltip); - } - - public static void clearTooltips() { - TOOLTIPS.clear(); - } - - @Nullable - public static Tooltip get() { - return TOOLTIPS.stream().filter(Objects::nonNull) - .reduce((tooltip, tooltip2) -> tooltip2) - .orElse(null); - } -} diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/menu/Menu.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/menu/Menu.java index aa66c25ad..010294296 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/menu/Menu.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/menu/Menu.java @@ -30,7 +30,7 @@ import me.shedaniel.clothconfig2.api.ScissorsHandler; import me.shedaniel.clothconfig2.api.scroll.ScrollingContainer; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.api.client.REIRuntime; +import me.shedaniel.rei.api.client.config.ConfigObject; import me.shedaniel.rei.api.client.gui.widgets.WidgetWithBounds; import me.shedaniel.rei.impl.client.gui.menu.entries.SubMenuEntry; import me.shedaniel.rei.impl.client.gui.widget.LateRenderable; @@ -134,7 +134,7 @@ public class Menu extends WidgetWithBounds implements LateRenderable { public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { Rectangle bounds = getBounds(); Rectangle innerBounds = getInnerBounds(); - fill(matrices, bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), containsMouse(mouseX, mouseY) ? (REIRuntime.getInstance().isDarkThemeEnabled() ? -17587 : -1) : -6250336); + fill(matrices, bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY(), containsMouse(mouseX, mouseY) ? (ConfigObject.getInstance().isUsingDarkTheme() ? -17587 : -1) : -6250336); fill(matrices, innerBounds.x, innerBounds.y, innerBounds.getMaxX(), innerBounds.getMaxY(), -16777216); boolean contains = innerBounds.contains(mouseX, mouseY); MenuEntry focused = getFocused() instanceof MenuEntry menuEntry ? menuEntry : null; @@ -159,7 +159,7 @@ public class Menu extends WidgetWithBounds implements LateRenderable { } ScissorsHandler.INSTANCE.removeLastScissor(); setFocused(focused); - scrolling.renderScrollBar(0, 1, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8f : 1f); + scrolling.renderScrollBar(0, 1, ConfigObject.getInstance().isUsingDarkTheme() ? 0.8f : 1f); scrolling.updatePosition(delta); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/AbstractScreenOverlay.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/AbstractScreenOverlay.java index 392b4cfee..aebecbc4f 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/AbstractScreenOverlay.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/overlay/AbstractScreenOverlay.java @@ -36,6 +36,7 @@ import me.shedaniel.rei.api.client.gui.drag.DraggingContext; import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentProvider; import me.shedaniel.rei.api.client.gui.drag.component.DraggableComponentVisitor; import me.shedaniel.rei.api.client.gui.widgets.Tooltip; +import me.shedaniel.rei.api.client.gui.widgets.TooltipQueue; import me.shedaniel.rei.api.client.gui.widgets.Widget; import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.client.registry.screen.ClickArea; @@ -43,7 +44,6 @@ import me.shedaniel.rei.api.client.registry.screen.OverlayDecider; import me.shedaniel.rei.api.client.registry.screen.ScreenRegistry; import me.shedaniel.rei.api.client.view.ViewSearchBuilder; import me.shedaniel.rei.api.common.entry.EntryStack; -import me.shedaniel.rei.impl.client.gui.TooltipQueue; import me.shedaniel.rei.impl.client.gui.dragging.CurrentDraggingStack; import me.shedaniel.rei.impl.client.gui.menu.MenuAccess; import me.shedaniel.rei.impl.client.gui.menu.MenuAccessImpl; @@ -162,12 +162,12 @@ public abstract class AbstractScreenOverlay extends ScreenOverlay { matrices.popPose(); } - Tooltip tooltip = TooltipQueue.get(); + Tooltip tooltip = TooltipQueue.getInstance().get(); if (tooltip != null) { renderTooltip(matrices, tooltip); } - REIRuntime.getInstance().clearTooltips(); + TooltipQueue.getInstance().clear(); if (REIRuntime.getInstance().isOverlayVisible()) { menuAccess.afterRender(); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java index 949e69dc5..4f77e677a 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java @@ -45,7 +45,7 @@ import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.ImmutableTextComponent; import me.shedaniel.rei.impl.client.ClientHelperImpl; -import me.shedaniel.rei.impl.client.REIRuntimeImpl; +import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.client.gui.InternalTextures; import me.shedaniel.rei.impl.client.gui.widget.AutoCraftingButtonWidget; import me.shedaniel.rei.impl.client.gui.widget.TabWidget; @@ -273,8 +273,8 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen init(); return true; } else if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesMouse(button)) { - if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { - minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + if (DisplayScreenStack.hasLastDisplayScreen()) { + minecraft.setScreen(DisplayScreenStack.getLastDisplayScreen()); } else { minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); } @@ -390,7 +390,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen Optional.ofNullable(displayRenderers.get(i).getTooltip(TooltipContext.of(new Point(mouseX, mouseY)))).ifPresent(Tooltip::queue); } } - scrolling.renderScrollBar(0, scrollBarAlpha, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8f : 1f); + scrolling.renderScrollBar(0, scrollBarAlpha, ConfigObject.getInstance().isUsingDarkTheme() ? 0.8f : 1f); ScissorsHandler.INSTANCE.removeLastScissor(); matrices.popPose(); } @@ -451,8 +451,8 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen return true; } if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { - if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { - minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + if (DisplayScreenStack.hasLastDisplayScreen()) { + minecraft.setScreen(DisplayScreenStack.getLastDisplayScreen()); } else { minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java index f6c590eeb..f11a66827 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java @@ -53,7 +53,7 @@ import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.CollectionUtils; import me.shedaniel.rei.api.common.util.ImmutableTextComponent; import me.shedaniel.rei.impl.client.ClientHelperImpl; -import me.shedaniel.rei.impl.client.REIRuntimeImpl; +import me.shedaniel.rei.impl.client.gui.DisplayScreenStack; import me.shedaniel.rei.impl.client.gui.InternalTextures; import me.shedaniel.rei.impl.client.gui.RecipeDisplayExporter; import me.shedaniel.rei.impl.client.gui.toast.ExportRecipeIdentifierToast; @@ -128,8 +128,8 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { return true; } if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesKey(keyCode, scanCode)) { - if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { - minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + if (DisplayScreenStack.hasLastDisplayScreen()) { + minecraft.setScreen(DisplayScreenStack.getLastDisplayScreen()); } else { minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); } @@ -368,7 +368,7 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { } private final ValueAnimator<Color> darkStripesColor = ValueAnimator.ofColor() - .withConvention(() -> Color.ofTransparent(REIRuntime.getInstance().isDarkThemeEnabled() ? 0xFF404040 : 0xFF9E9E9E), ValueAnimator.typicalTransitionTime()); + .withConvention(() -> Color.ofTransparent(ConfigObject.getInstance().isUsingDarkTheme() ? 0xFF404040 : 0xFF9E9E9E), ValueAnimator.typicalTransitionTime()); @Override public void render(PoseStack matrices, int mouseX, int mouseY, float delta) { @@ -531,8 +531,8 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { recipeBack.onClick(); return recipeBack.isEnabled(); } else if (ConfigObject.getInstance().getPreviousScreenKeybind().matchesMouse(button)) { - if (REIRuntimeImpl.getInstance().hasLastDisplayScreen()) { - minecraft.setScreen(REIRuntimeImpl.getInstance().getLastDisplayScreen()); + if (DisplayScreenStack.hasLastDisplayScreen()) { + minecraft.setScreen(DisplayScreenStack.getLastDisplayScreen()); } else { minecraft.setScreen(REIRuntime.getInstance().getPreviousScreen()); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ConfigButtonWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ConfigButtonWidget.java index 354090d01..d468a6128 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ConfigButtonWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ConfigButtonWidget.java @@ -38,7 +38,6 @@ import me.shedaniel.rei.api.client.gui.widgets.Button; import me.shedaniel.rei.api.client.gui.widgets.Widget; import me.shedaniel.rei.api.client.gui.widgets.Widgets; import me.shedaniel.rei.impl.client.ClientHelperImpl; -import me.shedaniel.rei.impl.client.REIRuntimeImpl; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; import me.shedaniel.rei.impl.client.gui.InternalTextures; import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; @@ -175,7 +174,7 @@ public class ConfigButtonWidget { private static Rectangle getConfigButtonBounds() { if (ConfigObject.getInstance().isLowerConfigButton()) { - Rectangle area = REIRuntimeImpl.getSearchField().getBounds().clone(); + Rectangle area = REIRuntime.getInstance().getSearchTextField().asWidget().getBounds().clone(); area.setLocation(area.x + area.width + (ConfigObject.getInstance().isCraftableFilterEnabled() ? 26 : 4), area.y - 1); area.setSize(20, 20); return area; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CraftableFilterButtonWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CraftableFilterButtonWidget.java index 7d88521d4..7994ba44b 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CraftableFilterButtonWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CraftableFilterButtonWidget.java @@ -35,7 +35,6 @@ import me.shedaniel.rei.api.client.overlay.ScreenOverlay; import me.shedaniel.rei.api.client.search.method.InputMethod; import me.shedaniel.rei.api.client.search.method.InputMethodRegistry; import me.shedaniel.rei.api.common.util.CollectionUtils; -import me.shedaniel.rei.impl.client.REIRuntimeImpl; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; import me.shedaniel.rei.impl.client.gui.menu.MenuAccess; @@ -158,7 +157,7 @@ public class CraftableFilterButtonWidget { } private static Rectangle getCraftableFilterBounds() { - Rectangle area = REIRuntimeImpl.getSearchField().getBounds().clone(); + Rectangle area = REIRuntime.getInstance().getSearchTextField().asWidget().getBounds().clone(); area.setLocation(area.x + area.width + 4, area.y - 1); area.setSize(20, 20); return area; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java index 671f854ad..ab41eb765 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java @@ -31,6 +31,7 @@ import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.ClientHelper; import me.shedaniel.rei.api.client.REIRuntime; +import me.shedaniel.rei.api.client.config.ConfigObject; import me.shedaniel.rei.api.client.gui.Renderer; import me.shedaniel.rei.api.client.gui.drag.DraggableStack; import me.shedaniel.rei.api.client.gui.drag.DraggableStackProviderWidget; @@ -65,7 +66,7 @@ public class TabWidget extends WidgetWithBounds implements DraggableStackProvide @Nullable private Predicate<TabWidget> onClick; private final NumberAnimator<Float> darkBackgroundAlpha = ValueAnimator.ofFloat() - .withConvention(() -> REIRuntime.getInstance().isDarkThemeEnabled() ? 1.0F : 0.0F, ValueAnimator.typicalTransitionTime()) + .withConvention(() -> ConfigObject.getInstance().isUsingDarkTheme() ? 1.0F : 0.0F, ValueAnimator.typicalTransitionTime()) .asFloat(); private TabWidget(int id, Rectangle bounds, int u, int v, @Nullable Predicate<TabWidget> onClick) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java index 14a1f5d3b..a2187dd42 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java @@ -61,7 +61,7 @@ public class EntryListSearchManager { public static final EntryListSearchManager INSTANCE = new EntryListSearchManager(); - private SearchManager searchManager = new AsyncSearchManager(EntryRegistry.getInstance()::getPreFilteredList, () -> { + private final SearchManager searchManager = new AsyncSearchManager(EntryRegistry.getInstance()::getPreFilteredList, () -> { boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled(); LongSet workingItems = checkCraftable ? new LongOpenHashSet() : null; if (checkCraftable) { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java index 2781431c1..e3009d27b 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListWidget.java @@ -47,7 +47,6 @@ import me.shedaniel.rei.api.common.entry.EntryStack; import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import me.shedaniel.rei.api.common.util.EntryStacks; import me.shedaniel.rei.impl.client.ClientHelperImpl; -import me.shedaniel.rei.impl.client.REIRuntimeImpl; import me.shedaniel.rei.impl.client.config.ConfigManagerInternal; import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl; import me.shedaniel.rei.impl.client.gui.widget.favorites.FavoritesListWidget; @@ -363,6 +362,6 @@ public abstract class EntryListWidget extends WidgetWithBounds implements Overla @Override public void queueReloadSearch() { - updateSearch(REIRuntimeImpl.getSearchField().getText(), true); + updateSearch(REIRuntime.getInstance().getSearchTextField().getText(), true); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java index 5fd238d70..7de0b2e9c 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/ScrolledEntryListWidget.java @@ -32,6 +32,7 @@ import me.shedaniel.clothconfig2.api.ScissorsHandler; import me.shedaniel.clothconfig2.api.scroll.ScrollingContainer; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.client.REIRuntime; +import me.shedaniel.rei.api.client.config.ConfigObject; import me.shedaniel.rei.api.client.gui.widgets.BatchedSlots; import me.shedaniel.rei.api.client.gui.widgets.Slot; import me.shedaniel.rei.api.client.gui.widgets.Widgets; @@ -119,7 +120,7 @@ public class ScrolledEntryListWidget extends CollapsingEntryListWidget { scrolling.updatePosition(delta); ScissorsHandler.INSTANCE.removeLastScissor(); if (scrolling.getMaxScroll() > 0) { - scrolling.renderScrollBar(0, 1, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8f : 1f); + scrolling.renderScrollBar(0, 1, ConfigObject.getInstance().isUsingDarkTheme() ? 0.8f : 1f); } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java index 8d4fdd4f1..18969948b 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/EntryStacksRegionWidget.java @@ -132,7 +132,7 @@ public class EntryStacksRegionWidget<T extends RegionEntry<T>> extends WidgetWit slots.render(poses, mouseX, mouseY, delta); updatePosition(delta); - scrolling.renderScrollBar(0, 1, REIRuntime.getInstance().isDarkThemeEnabled() ? 0.8f : 1f); + scrolling.renderS |
