From 7ba0fc903e5d14928d2b894b00a7b7dfc65eee18 Mon Sep 17 00:00:00 2001 From: querns <33518699+querns@users.noreply.github.com> Date: Thu, 19 Sep 2024 08:53:17 -0500 Subject: Infinite Spraycan Additions (#3226) Co-authored-by: Caedis --- .../common/gui/modularui/uifactory/SelectItemUIFactory.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/main/java/gregtech/common/gui/modularui/uifactory') diff --git a/src/main/java/gregtech/common/gui/modularui/uifactory/SelectItemUIFactory.java b/src/main/java/gregtech/common/gui/modularui/uifactory/SelectItemUIFactory.java index 0163c6fb7b..535263dd00 100644 --- a/src/main/java/gregtech/common/gui/modularui/uifactory/SelectItemUIFactory.java +++ b/src/main/java/gregtech/common/gui/modularui/uifactory/SelectItemUIFactory.java @@ -18,6 +18,7 @@ import com.gtnewhorizons.modularui.api.drawable.ItemDrawable; import com.gtnewhorizons.modularui.api.drawable.Text; import com.gtnewhorizons.modularui.api.screen.ModularWindow; import com.gtnewhorizons.modularui.api.screen.UIBuildContext; +import com.gtnewhorizons.modularui.api.widget.Widget; import com.gtnewhorizons.modularui.common.widget.ButtonWidget; import com.gtnewhorizons.modularui.common.widget.DrawableWidget; import com.gtnewhorizons.modularui.common.widget.TextWidget; @@ -167,14 +168,14 @@ public class SelectItemUIFactory { } }.setOnClick((clickData, widget) -> { if (clickData.mouseButton == 0) { - setSelected(index); + setSelected(index, widget); } else { - setSelected(UNSELECTED); + setSelected(UNSELECTED, widget); } selectedCallback.accept(getCandidate(getSelected())); }) .setSynced(false, false) - .dynamicTooltip(() -> GuiHelper.getItemTooltip(stacks.get(index))) + .dynamicTooltip(() -> getItemTooltips(index)) .setUpdateTooltipEveryTick(true) .setBackground( () -> new IDrawable[] { @@ -207,7 +208,7 @@ public class SelectItemUIFactory { return selected; } - public void setSelected(int selected) { + public void setSelected(int selected, Widget widget) { if (selected == this.selected) return; int newSelected = GTUtility.clamp(selected, UNSELECTED, stacks.size() - 1); if (noDeselect && newSelected == UNSELECTED) return; @@ -215,6 +216,10 @@ public class SelectItemUIFactory { this.selected = newSelected; } + protected List getItemTooltips(final int index) { + return GuiHelper.getItemTooltip(stacks.get(index)); + } + private ItemStack getCandidate(int listIndex) { return listIndex < 0 || listIndex >= stacks.size() ? null : stacks.get(listIndex); } -- cgit