diff options
Diffstat (limited to 'src/main/java/me')
16 files changed, 38 insertions, 26 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java index c5d12328b..7b49e7e37 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java @@ -291,7 +291,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer { continue; ActionResult result = decider.shouldScreenBeOverlayed(screen); if (result != ActionResult.PASS) - return result == ActionResult.FAIL || ScreenHelper.getLastHandledScreen() == null; + return result == ActionResult.FAIL || REIHelper.getInstance().getPreviousHandledScreen() == null; } } catch (ConcurrentModificationException ignored) { } diff --git a/src/main/java/me/shedaniel/rei/api/REIHelper.java b/src/main/java/me/shedaniel/rei/api/REIHelper.java index 8a6c0461c..bfb9eac9f 100644 --- a/src/main/java/me/shedaniel/rei/api/REIHelper.java +++ b/src/main/java/me/shedaniel/rei/api/REIHelper.java @@ -26,6 +26,7 @@ package me.shedaniel.rei.api; import me.shedaniel.rei.api.widgets.Tooltip; import me.shedaniel.rei.gui.widget.TextFieldWidget; import me.shedaniel.rei.impl.ScreenHelper; +import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.item.ItemStack; import org.jetbrains.annotations.Nullable; @@ -40,6 +41,8 @@ public interface REIHelper { return ScreenHelper.getInstance(); } + HandledScreen<?> getPreviousHandledScreen(); + boolean isDarkThemeEnabled(); TextFieldWidget getSearchTextField(); diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index b96243123..e54801ff7 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -193,7 +193,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { ClientHelper.getInstance().setCheating(!ClientHelper.getInstance().isCheating()); return; } - ConfigManager.getInstance().openConfigScreen(ScreenHelper.getLastHandledScreen()); + ConfigManager.getInstance().openConfigScreen(REIHelper.getInstance().getPreviousHandledScreen()); }) .onRender(button -> { if (ClientHelper.getInstance().isCheating() && RoughlyEnoughItemsCore.hasOperatorPermission()) { @@ -306,7 +306,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen; return new Rectangle(widget.bounds.x, 3, widget.bounds.width, 18); } - return new Rectangle(ScreenHelper.getLastHandledScreen().x, 3, ScreenHelper.getLastHandledScreen().backgroundWidth, 18); + return new Rectangle(REIHelper.getInstance().getPreviousHandledScreen().x, 3, REIHelper.getInstance().getPreviousHandledScreen().backgroundWidth, 18); } return null; } @@ -375,7 +375,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen; return new Rectangle(widget.bounds.x, window.getScaledHeight() - 22, widget.bounds.width - widthRemoved, 18); } - return new Rectangle(ScreenHelper.getLastHandledScreen().x, window.getScaledHeight() - 22, ScreenHelper.getLastHandledScreen().backgroundWidth - widthRemoved, 18); + return new Rectangle(REIHelper.getInstance().getPreviousHandledScreen().x, window.getScaledHeight() - 22, REIHelper.getInstance().getPreviousHandledScreen().backgroundWidth - widthRemoved, 18); } private Rectangle getCraftableToggleArea() { diff --git a/src/main/java/me/shedaniel/rei/gui/subsets/SubsetsMenu.java b/src/main/java/me/shedaniel/rei/gui/subsets/SubsetsMenu.java index ff203ed5c..a2cd6db2f 100644 --- a/src/main/java/me/shedaniel/rei/gui/subsets/SubsetsMenu.java +++ b/src/main/java/me/shedaniel/rei/gui/subsets/SubsetsMenu.java @@ -45,7 +45,6 @@ import net.minecraft.client.resource.language.I18n; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemStack; -import net.minecraft.util.Identifier; import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.registry.Registry; import org.jetbrains.annotations.ApiStatus; diff --git a/src/main/java/me/shedaniel/rei/gui/subsets/entries/EntryStackMenuEntry.java b/src/main/java/me/shedaniel/rei/gui/subsets/entries/EntryStackMenuEntry.java index 42b51a8e7..10565e859 100644 --- a/src/main/java/me/shedaniel/rei/gui/subsets/entries/EntryStackMenuEntry.java +++ b/src/main/java/me/shedaniel/rei/gui/subsets/entries/EntryStackMenuEntry.java @@ -30,7 +30,6 @@ import me.shedaniel.rei.api.*; import me.shedaniel.rei.gui.ContainerScreenOverlay; import me.shedaniel.rei.gui.subsets.SubsetsMenu; import me.shedaniel.rei.gui.subsets.SubsetsMenuEntry; -import me.shedaniel.rei.gui.widget.Widget; import me.shedaniel.rei.impl.EntryRegistryImpl; import me.shedaniel.rei.impl.ScreenHelper; import me.shedaniel.rei.utils.CollectionUtils; diff --git a/src/main/java/me/shedaniel/rei/gui/subsets/entries/SubMenuEntry.java b/src/main/java/me/shedaniel/rei/gui/subsets/entries/SubMenuEntry.java index 9cdcfed5f..ec88a5817 100644 --- a/src/main/java/me/shedaniel/rei/gui/subsets/entries/SubMenuEntry.java +++ b/src/main/java/me/shedaniel/rei/gui/subsets/entries/SubMenuEntry.java @@ -35,7 +35,6 @@ import me.shedaniel.rei.gui.subsets.SubsetsMenuEntry; import me.shedaniel.rei.gui.widget.TabWidget; import me.shedaniel.rei.impl.EntryRegistryImpl; import me.shedaniel.rei.impl.ScreenHelper; -import me.shedaniel.rei.utils.CollectionUtils; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.Element; import net.minecraft.client.sound.PositionedSoundInstance; diff --git a/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java index d30d94c83..ffc9c969e 100644 --- a/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java +++ b/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java @@ -62,7 +62,7 @@ public class FavoritesListWidget extends WidgetWithBounds { public int getMaxScrollHeight() { return MathHelper.ceil((favorites.size() + blockedCount) / (innerBounds.width / (float) entrySize())) * entrySize(); } - + @Override public int getScrollBarX() { if (!ConfigObject.getInstance().isLeftHandSidePanel()) diff --git a/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java b/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java index a098eb5c0..ce523c33f 100644 --- a/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java @@ -146,7 +146,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { @Override public void sendDeletePacket() { - if (ScreenHelper.getLastHandledScreen() instanceof CreativeInventoryScreen) { + if (REIHelper.getInstance().getPreviousHandledScreen() instanceof CreativeInventoryScreen) { MinecraftClient.getInstance().player.inventory.setCursorStack(ItemStack.EMPTY); return; } @@ -257,7 +257,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer { screen = new VillagerRecipeViewingScreen(map, category); } else if (ConfigObject.getInstance().getRecipeScreenType() == RecipeScreenType.UNSET) { @Nullable Identifier finalCategory = category; - screen = new PreRecipeViewingScreen(ScreenHelper.getLastHandledScreen(), RecipeScreenType.UNSET, true, original -> { + screen = new PreRecipeViewingScreen(REIHelper.getInstance().getPreviousHandledScreen(), RecipeScreenType.UNSET, true, original -> { ConfigObject.getInstance().setRecipeScreenType(original ? RecipeScreenType.ORIGINAL : RecipeScreenType.VILLAGER); ConfigManager.getInstance().saveConfig(); openRecipeViewingScreen(map, finalCategory, ingredientNotice, resultNotice); diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java index c9f9c78e0..b281b3104 100644 --- a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java +++ b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java @@ -115,7 +115,7 @@ public class ConfigManagerImpl implements ConfigManager { Collections.singletonList(new RecipeScreenTypeEntry(220, i13n, getUnsafely(field, config, RecipeScreenType.UNSET), getUnsafely(field, defaults), type -> setUnsafely(field, config, type))) , (field) -> field.getType() == RecipeScreenType.class, ConfigObjectImpl.UseSpecialRecipeTypeScreen.class); guiRegistry.registerAnnotationProvider((i13n, field, config, defaults, guiProvider) -> - ScreenHelper.getLastHandledScreen() == null || MinecraftClient.getInstance().getNetworkHandler() == null || MinecraftClient.getInstance().getNetworkHandler().getRecipeManager() == null ? + REIHelper.getInstance().getPreviousHandledScreen() == null || MinecraftClient.getInstance().getNetworkHandler() == null || MinecraftClient.getInstance().getNetworkHandler().getRecipeManager() == null ? Collections.singletonList(new NoFilteringEntry(getUnsafely(field, config, new ArrayList<>()), getUnsafely(field, defaults), list -> setUnsafely(field, config, list))) : Collections.singletonList(new FilteringEntry(getUnsafely(field, config, new ArrayList<>()), getUnsafely(field, defaults), list -> setUnsafely(field, config, list))) diff --git a/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java b/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java index eb662fe3c..28048335d 100644 --- a/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java +++ b/src/main/java/me/shedaniel/rei/impl/InternalWidgets.java @@ -54,7 +54,7 @@ public final class InternalWidgets { private InternalWidgets() {} public static Widget createAutoCraftingButtonWidget(Rectangle displayBounds, me.shedaniel.math.Rectangle rectangle, String text, Supplier<RecipeDisplay> displaySupplier, List<Widget> setupDisplay, RecipeCategory<?> category) { - HandledScreen<?> handledScreen = ScreenHelper.getLastHandledScreen(); + HandledScreen<?> handledScreen = REIHelper.getInstance().getPreviousHandledScreen(); boolean[] visible = {false}; List<String>[] errorTooltip = new List[]{null}; Button autoCraftingButton = Widgets.createButton(rectangle, text) @@ -215,7 +215,7 @@ public final class InternalWidgets { public List<? extends Element> children() { return widgets; } - + @Override public boolean mouseScrolled(double mouseX, double mouseY, double amount) { for (Widget widget : this.widgets) { @@ -243,7 +243,7 @@ public final class InternalWidgets { public List<? extends Element> children() { return Collections.singletonList(this.widget); } - + @Override public boolean mouseScrolled(double mouseX, double mouseY, double amount) { return this.widget.mouseScrolled(mouseX, mouseY, amount); @@ -277,7 +277,7 @@ public final class InternalWidgets { public List<? extends Element> children() { return Collections.singletonList(this.widget); } - + @Override public boolean mouseScrolled(double mouseX, double mouseY, double amount) { return this.widget.mouseScrolled(mouseX, mouseY, amount); @@ -318,7 +318,7 @@ public final class InternalWidgets { public List<? extends Element> children() { return Collections.singletonList(this.widget); } - + @Override public boolean mouseScrolled(double mouseX, double mouseY, double amount) { return this.widget.mouseScrolled(mouseX, mouseY, amount); diff --git a/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java b/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java index 5cdb2a87f..0b21f6175 100644 --- a/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java +++ b/src/main/java/me/shedaniel/rei/impl/ScreenHelper.java @@ -149,10 +149,20 @@ public class ScreenHelper implements ClientModInitializer, REIHelper { return getLastOverlay(false, false); } + /** + * @see REIHelper#getPreviousHandledScreen() + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static HandledScreen<?> getLastHandledScreen() { return lastHandledScreen; } + @Override + public HandledScreen<?> getPreviousHandledScreen() { + return lastHandledScreen; + } + public static void setLastHandledScreen(HandledScreen<?> lastScreenWithHandler) { ScreenHelper.lastHandledScreen = lastScreenWithHandler; } diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java index 40b1d7b84..024eea242 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultPotionEffectExclusionZones.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Ordering; import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.impl.ScreenHelper; +import me.shedaniel.rei.api.REIHelper; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen; import net.minecraft.client.gui.screen.ingame.HandledScreen; @@ -40,12 +40,12 @@ import java.util.function.Supplier; public class DefaultPotionEffectExclusionZones implements Supplier<List<Rectangle>> { @Override public List<Rectangle> get() { - if (!(ScreenHelper.getLastHandledScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreen) ScreenHelper.getLastHandledScreen()).drawStatusEffects) + if (!(REIHelper.getInstance().getPreviousHandledScreen() instanceof AbstractInventoryScreen) || !((AbstractInventoryScreen<?>) REIHelper.getInstance().getPreviousHandledScreen()).drawStatusEffects) return Collections.emptyList(); Collection<StatusEffectInstance> activePotionEffects = MinecraftClient.getInstance().player.getStatusEffects(); if (activePotionEffects.isEmpty()) return Collections.emptyList(); - HandledScreen<?> handledScreen = ScreenHelper.getLastHandledScreen(); + HandledScreen<?> handledScreen = REIHelper.getInstance().getPreviousHandledScreen(); List<Rectangle> list = new ArrayList<>(); int x = handledScreen.x - 124; int y = handledScreen.y; diff --git a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java index 408a26c69..98565e321 100644 --- a/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java +++ b/src/main/java/me/shedaniel/rei/plugin/DefaultRecipeBookExclusionZones.java @@ -25,7 +25,7 @@ package me.shedaniel.rei.plugin; import com.google.common.collect.Lists; import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.impl.ScreenHelper; +import me.shedaniel.rei.api.REIHelper; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider; @@ -40,11 +40,11 @@ public class DefaultRecipeBookExclusionZones implements Supplier<List<Rectangle> @Override public List<Rectangle> get() { - if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(ScreenHelper.getLastHandledScreen().getScreenHandler() instanceof AbstractRecipeScreenHandler)) + if (!MinecraftClient.getInstance().player.getRecipeBook().isGuiOpen() || !(MinecraftClient.getInstance().currentScreen instanceof RecipeBookProvider) || !(REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler() instanceof AbstractRecipeScreenHandler)) return Collections.emptyList(); - HandledScreen<?> handledScreen = ScreenHelper.getLastHandledScreen(); + HandledScreen<?> handledScreen = REIHelper.getInstance().getPreviousHandledScreen(); List<Rectangle> l = Lists.newArrayList(new Rectangle(handledScreen.x - 4 - 145, handledScreen.y, 4 + 145 + 30, handledScreen.backgroundHeight)); - int size = ClientRecipeBook.getGroups((AbstractRecipeScreenHandler<?>) ScreenHelper.getLastHandledScreen().getScreenHandler()).size(); + int size = ClientRecipeBook.getGroups((AbstractRecipeScreenHandler<?>) REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler()).size(); if (size > 0) l.add(new Rectangle(handledScreen.x - 4 - 145 - 30, handledScreen.y, 30, size * 27)); return l; diff --git a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java index e905d5534..bb9b54122 100644 --- a/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java @@ -32,6 +32,7 @@ import net.minecraft.recipe.CampfireCookingRecipe; import net.minecraft.recipe.Ingredient; import net.minecraft.util.Identifier; import net.minecraft.util.collection.DefaultedList; + import java.util.ArrayList; import java.util.Collections; import java.util.List; diff --git a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java index 7ba6b3999..11682747c 100644 --- a/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java +++ b/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java @@ -29,11 +29,11 @@ import it.unimi.dsi.fastutil.ints.IntList; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.EntryStack; +import me.shedaniel.rei.api.REIHelper; import me.shedaniel.rei.api.TransferRecipeCategory; import me.shedaniel.rei.api.widgets.Slot; import me.shedaniel.rei.api.widgets.Widgets; import me.shedaniel.rei.gui.widget.Widget; -import me.shedaniel.rei.impl.ScreenHelper; import me.shedaniel.rei.plugin.DefaultPlugin; import me.shedaniel.rei.server.ContainerInfo; import me.shedaniel.rei.server.ContainerInfoHandler; @@ -95,12 +95,12 @@ public class DefaultCraftingCategory implements TransferRecipeCategory<DefaultCr @Override public void renderRedSlots(List<Widget> widgets, Rectangle bounds, DefaultCraftingDisplay display, IntList redSlots) { - ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), ScreenHelper.getLastHandledScreen().getScreenHandler().getClass()); + ContainerInfo<ScreenHandler> info = (ContainerInfo<ScreenHandler>) ContainerInfoHandler.getContainerInfo(getIdentifier(), REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler().getClass()); if (info == null) return; RenderSystem.translatef(0, 0, 400); Point startPoint = new Point(bounds.getCenterX() - 58, bounds.getCenterY() - 27); - int width = info.getCraftingWidth(ScreenHelper.getLastHandledScreen().getScreenHandler()); + int width = info.getCraftingWidth(REIHelper.getInstance().getPreviousHandledScreen().getScreenHandler()); for (Integer slot : redSlots) { int i = slot; int x = i % width; diff --git a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java index 91df5433e..bbc8a31c0 100644 --- a/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java +++ b/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java @@ -32,6 +32,7 @@ import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.StonecuttingRecipe; import net.minecraft.util.Identifier; import net.minecraft.util.collection.DefaultedList; + import java.util.ArrayList; import java.util.Collections; import java.util.List; |
