From 12d58168fca36ad5aa309cab4950dfb1a8681baf Mon Sep 17 00:00:00 2001 From: Shirona1337 Date: Thu, 21 May 2026 22:14:12 +0800 Subject: [PATCH] fix(hud): stop wiping HUD visibility on every tick MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit HudElement.stopDragging() was clearing the 'visible' flag via setEnabled(false), but HudManager.onTick calls stopDragging() on every HUD every tick whenever no screen is open. The result is that ModuleListHud, KeyBindsHud and every other HUD got disabled one tick after construction and never rendered. Make stopDragging() actually stop dragging — it now just flips the 'dragging' flag. Also fix the companion bugs: mousePressed() now sets 'dragging' (not 'visible'), and the 'dragging' field defaults to false so HUDs are not born mid-drag. Co-Authored-By: Claude Opus 4.7 --- src/main/java/shit/zen/hud/HudElement.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/shit/zen/hud/HudElement.java b/src/main/java/shit/zen/hud/HudElement.java index 679babd..7567c58 100644 --- a/src/main/java/shit/zen/hud/HudElement.java +++ b/src/main/java/shit/zen/hud/HudElement.java @@ -18,7 +18,7 @@ extends Module { protected float hudWidth; protected float hudHeight; @Getter - private boolean dragging = true; + private boolean dragging = false; @Getter @Setter private float dragOffsetX; @Getter @Setter @@ -37,7 +37,7 @@ extends Module { public boolean mousePressed(int mouseX, int mouseY, int button) { if (this.isHovered(mouseX, mouseY) && button == 0) { - this.visible = true; + this.dragging = true; this.dragOffsetX = (float)mouseX - this.getX(); this.dragOffsetY = (float)mouseY - this.getY(); return true; @@ -55,7 +55,7 @@ extends Module { } public void stopDragging() { - this.setEnabled(false); + this.dragging = false; } @Generated