From d19c44de5ba70ee93ecbe14dc20ac3b57ba6d6b1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Sun, 17 Mar 2019 18:32:42 +0800 Subject: v2.4.2.67 --- src/main/java/me/shedaniel/rei/client/ScreenHelper.java | 6 +++--- src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java | 9 +++++++-- src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java | 2 +- src/main/java/me/shedaniel/rei/utils/ClothRegistry.java | 2 +- 4 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/me/shedaniel/rei/client/ScreenHelper.java b/src/main/java/me/shedaniel/rei/client/ScreenHelper.java index 057f3a4e4..fa426e300 100644 --- a/src/main/java/me/shedaniel/rei/client/ScreenHelper.java +++ b/src/main/java/me/shedaniel/rei/client/ScreenHelper.java @@ -31,16 +31,16 @@ public class ScreenHelper implements ClientModInitializer { overlayVisible = !overlayVisible; } - public static ContainerScreenOverlay getLastOverlay(boolean reset) { + public static ContainerScreenOverlay getLastOverlay(boolean reset, boolean setPage) { if (overlay == null || reset) { overlay = new ContainerScreenOverlay(); - overlay.onInitialized(); + overlay.onInitialized(setPage); } return overlay; } public static ContainerScreenOverlay getLastOverlay() { - return getLastOverlay(false); + return getLastOverlay(false, false); } public static void disableRecipeBook(ContainerScreen lastContainerScreen, List listeners, List buttonWidgets) { diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index b79dbf4c6..b752ae04d 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -46,6 +46,10 @@ public class ContainerScreenOverlay extends ScreenComponent { private int lastLeft; public void onInitialized() { + onInitialized(false); + } + + public void onInitialized(boolean setPage) { //Update Variables this.widgets.clear(); this.window = MinecraftClient.getInstance().window; @@ -72,7 +76,8 @@ public class ContainerScreenOverlay extends ScreenComponent { itemListOverlay.updateList(getItemListArea(), page, searchTerm); } }); - page = MathHelper.clamp(page, 0, getTotalPage()); + if (setPage) + page = MathHelper.clamp(page, 0, getTotalPage()); widgets.add(new ButtonWidget(RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel ? window.getScaledWidth() - 30 : 10, 10, 20, 20, "") { @Override public void onPressed() { @@ -288,7 +293,7 @@ public class ContainerScreenOverlay extends ScreenComponent { public void drawOverlay(int mouseX, int mouseY, float partialTicks) { List currentStacks = ClientHelper.getInventoryItemsTypes(); if (getLeft() != lastLeft) - onInitialized(); + onInitialized(true); else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && (!hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks) || (currentStacks.size() != ScreenHelper.inventoryStacks.size()))) { ScreenHelper.inventoryStacks = ClientHelper.getInventoryItemsTypes(); itemListOverlay.updateList(getItemListArea(), page, searchTerm); diff --git a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java index cbfafb1af..31ba6793d 100644 --- a/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java +++ b/src/main/java/me/shedaniel/rei/gui/RecipeViewingScreen.java @@ -242,7 +242,7 @@ public class RecipeViewingScreen extends Screen { recipeChoosePageWidget = null; listeners.addAll(tabs); - listeners.add(ScreenHelper.getLastOverlay(true)); + listeners.add(ScreenHelper.getLastOverlay(true, false)); listeners.addAll(widgets); } diff --git a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java index d30154409..247b33139 100644 --- a/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java +++ b/src/main/java/me/shedaniel/rei/utils/ClothRegistry.java @@ -29,7 +29,7 @@ public class ClothRegistry { return; } ScreenHelper.setLastContainerScreen((ContainerScreen) post.getScreen()); - post.getInputListeners().add(ScreenHelper.getLastOverlay(true)); + post.getInputListeners().add(ScreenHelper.getLastOverlay(true, false)); } }, EventPriority.LOWEST); ClothHooks.CLIENT_POST_DRAW_SCREEN.registerListener(post -> { -- cgit