From f7c46513a39d5b789f487a34a8309bb55946cd99 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 25 Sep 2026 17:26:38 +0000 Subject: [PATCH] Fix widget mouse button checks on 26.3 Minecraft 26.3 uses SDL mouse button ids (left 1, middle 2, right 3) instead of GLFW's (left 0, right 1, middle 2). - WidgetTextFieldExtended: a left click matched the old right-click check and selected all text instead of placing the cursor. - ContainerScreenScrolling: drag delegation to the focused widget never ran. - WidgetScrollBar: right-drag no longer moved the scrollbar. Related to CyclopsMC/IntegratedDynamics#1750 Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016VFfUPDxbJ8RqPeQHsAbh7 --- .../cyclopscore/client/gui/component/WidgetScrollBar.java | 3 ++- .../client/gui/component/input/WidgetTextFieldExtended.java | 3 ++- .../client/gui/container/ContainerScreenScrolling.java | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/WidgetScrollBar.java b/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/WidgetScrollBar.java index 94276ce7002..c70abd1c277 100644 --- a/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/WidgetScrollBar.java +++ b/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/WidgetScrollBar.java @@ -1,5 +1,6 @@ package org.cyclops.cyclopscore.client.gui.component; +import com.mojang.blaze3d.platform.InputConstants; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.narration.NarrationElementOutput; @@ -91,7 +92,7 @@ public boolean mouseScrolled(double mouseX, double mouseY, double scrollX, doubl @Override public boolean mouseDragged(MouseButtonEvent mouse, double offsetX, double offsetY) { - boolean flag = mouse.button() == 0 || mouse.button() == 1; + boolean flag = mouse.button() == InputConstants.MOUSE_BUTTON_LEFT || mouse.button() == InputConstants.MOUSE_BUTTON_RIGHT; int xMax = getX() + 14; int yMax = getY() + height; diff --git a/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/input/WidgetTextFieldExtended.java b/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/input/WidgetTextFieldExtended.java index 853636a936b..c407ff1bf72 100644 --- a/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/input/WidgetTextFieldExtended.java +++ b/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/component/input/WidgetTextFieldExtended.java @@ -1,5 +1,6 @@ package org.cyclops.cyclopscore.client.gui.component.input; +import com.mojang.blaze3d.platform.InputConstants; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.components.EditBox; @@ -63,7 +64,7 @@ public void extractWidgetRenderState(GuiGraphicsExtractor guiGraphics, int mouse @Override public boolean mouseClicked(MouseButtonEvent event, boolean isDoubleClick) { - if (event.button() == 1 && event.x() >= this.getX() && event.x() < this.getX() + this.width + if (event.button() == InputConstants.MOUSE_BUTTON_RIGHT && event.x() >= this.getX() && event.x() < this.getX() + this.width && event.y() >= this.getY() && event.y() < this.getY() + this.height) { // Select everything this.setFocused(true); diff --git a/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/container/ContainerScreenScrolling.java b/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/container/ContainerScreenScrolling.java index 8f3cc56d8f7..1908ac33390 100644 --- a/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/container/ContainerScreenScrolling.java +++ b/loader-common/src/main/java/org/cyclops/cyclopscore/client/gui/container/ContainerScreenScrolling.java @@ -142,7 +142,7 @@ public void extractBackground(GuiGraphicsExtractor guiGraphics, int mouseX, int @Override public boolean mouseDragged(MouseButtonEvent event, double mouseX, double mouseY) { - if (this.getFocused() != null && this.isDragging() && event.button() == 0 + if (this.getFocused() != null && this.isDragging() && event.button() == InputConstants.MOUSE_BUTTON_LEFT && this.getFocused().mouseDragged(event, mouseX, mouseY)) { return true; }