diff options
Diffstat (limited to 'src/main/java/gregtech/common/gui')
-rw-r--r-- | src/main/java/gregtech/common/gui/modularui/uifactory/SelectItemUIFactory.java | 13 |
1 files changed, 9 insertions, 4 deletions
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<String> 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); } |