From 871952e17a63bb22391ee0a969c41cd6f0fbf038 Mon Sep 17 00:00:00 2001 From: KonaeAkira Date: Thu, 27 Jan 2022 15:53:41 +0100 Subject: Fix itemlist scroll not working --- .../skyblocker/skyblock/itemlist/ItemListWidget.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/main') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java index 9f053d8b..e01d58a5 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/itemlist/ItemListWidget.java @@ -32,6 +32,7 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S private final int cols; private double maxScroll; + private boolean isHovered; private final HandledScreen screen; private final MinecraftClient client; @@ -90,6 +91,7 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S @Override public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { + this.isHovered = this.isMouseOver(mouseX, mouseY); ItemRenderer itemRenderer = client.getItemRenderer(); RenderSystem.disableDepthTest(); // slot hover @@ -136,6 +138,14 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S return -1; } + @Override + public boolean isMouseOver(double mouseX, double mouseY) { + for (Element child : this.children) { + if (child.isMouseOver(mouseX, mouseY)) return true; + } + return this.isMouseOverList(mouseX, mouseY); + } + @Override public boolean mouseScrolled(double mouseX, double mouseY, double amount) { if (super.mouseScrolled(mouseX, mouseY, amount)) { @@ -176,6 +186,9 @@ public class ItemListWidget extends AbstractParentElement implements Drawable, S @Override public SelectionType getType() { + for (Selectable selectable : selectables) + if (selectable.getType().isFocused()) return SelectionType.FOCUSED; + if (this.isHovered) return SelectionType.HOVERED; return SelectionType.NONE; } } -- cgit