From e616de42733d168b153ab82cd5b8f1bd852bedf3 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Wed, 18 Jul 2018 20:31:59 +0200 Subject: [PATCH] Make ItemZoom work properly as well on crafting preview window. Fixes #1844 --- CHANGELOG.md | 2 +- .../gui/GuiCraftingPreview.java | 31 ++++++++++++------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acc10a50c..1ce4319a6 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,7 +40,7 @@ NOTE: Worlds that used Refined Storage 1.5.x are fully compatible with Refined S - Fixed bug where External Storage doesn't detect new inventory when rotating (raoulvdberge) - Fixed JEI recipe transferring in Pattern Grid allowing non-processing recipes in processing mode and vice-versa (raoulvdberge) - Fixed using Interfaces for minimum stock levels failing when requester is also an Interface (raoulvdberge) -- Fixed ItemZoom incompatibility in Grid (raoulvdberge) +- Fixed ItemZoom incompatibility in Grid and crafting preview window (raoulvdberge) - Fixed shift clicking upgrades into Interface making upgrades go to import slots (raoulvdberge) - Prevent accidental Grid scrollbar click after clicking JEI recipe transfer button (raoulvdberge) - Added a missing config option for Crafter Manager energy usage (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java index 48055f205..3fa64c7af 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiCraftingPreview.java @@ -56,6 +56,9 @@ public class GuiCraftingPreview extends GuiBase { private GuiButton startButton; private GuiButton cancelButton; + private ItemStack hoveringStack; + private FluidStack hoveringFluid; + private IElementDrawers drawers = new CraftingPreviewElementDrawers(); public GuiCraftingPreview(GuiScreen parent, List stacks, int hash, int quantity) { @@ -176,8 +179,8 @@ public class GuiCraftingPreview extends GuiBase { RenderHelper.enableGUIStandardItemLighting(); GlStateManager.enableDepth(); - ItemStack hoveringStack = null; - FluidStack hoveringFluid = null; + this.hoveringStack = null; + this.hoveringFluid = null; for (int i = 0; i < 8; ++i) { if (slot < stacks.size()) { @@ -186,9 +189,10 @@ public class GuiCraftingPreview extends GuiBase { stack.draw(x, y + 5, drawers); if (inBounds(x + 5, y + 7, 16, 16, mouseX, mouseY)) { - hoveringStack = stack.getId().equals(CraftingPreviewElementItemStack.ID) ? (ItemStack) stack.getElement() : null; - if (hoveringStack == null) { - hoveringFluid = stack.getId().equals(CraftingPreviewElementFluidStack.ID) ? (FluidStack) stack.getElement() : null; + this.hoveringStack = stack.getId().equals(CraftingPreviewElementItemStack.ID) ? (ItemStack) stack.getElement() : null; + + if (this.hoveringStack == null) { + this.hoveringFluid = stack.getId().equals(CraftingPreviewElementFluidStack.ID) ? (FluidStack) stack.getElement() : null; } } } @@ -203,18 +207,23 @@ public class GuiCraftingPreview extends GuiBase { slot++; } - if (hoveringStack != null) { - drawTooltip(hoveringStack, mouseX, mouseY, hoveringStack.getTooltip(Minecraft.getMinecraft().player, Minecraft.getMinecraft().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL)); - } else if (hoveringFluid != null) { - drawTooltip(mouseX, mouseY, hoveringFluid.getLocalizedName()); - } - if (!startButton.enabled && inBounds(85, 144, 50, 20, mouseX, mouseY)) { drawTooltip(mouseX, mouseY, t("gui.refinedstorage:crafting_preview.force_start")); } } } + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + super.drawScreen(mouseX, mouseY, partialTicks); + + if (hoveringStack != null) { + drawTooltip(hoveringStack, mouseX, mouseY, hoveringStack.getTooltip(Minecraft.getMinecraft().player, Minecraft.getMinecraft().gameSettings.advancedItemTooltips ? ITooltipFlag.TooltipFlags.ADVANCED : ITooltipFlag.TooltipFlags.NORMAL)); + } else if (hoveringFluid != null) { + drawTooltip(mouseX, mouseY, hoveringFluid.getLocalizedName()); + } + } + @Override protected void keyTyped(char character, int keyCode) throws IOException { if (keyCode == Keyboard.KEY_RETURN && startButton.enabled) {