From 71f779c8ee29006abd3a53d3e2556241a9dab91c Mon Sep 17 00:00:00 2001 From: loki5512344 Date: Wed, 30 Sep 2026 11:32:17 +0200 Subject: [PATCH] refactor(hud): split BetterButtons to 197 lines Settings values and visibility predicates move to ButtonStyleSettings, icon drawing to ButtonIconRenderer; facade keeps the public static API and getters. Drops three dead one-liners (getLastContext, renderCenteredText, renderLeftAlignedText) and the unused renderButtonInternal wrapper. --- .../impl/buttons/BetterButtons.java | 244 +++--------------- .../impl/buttons/ButtonIconRenderer.java | 89 +++++++ .../impl/buttons/ButtonStyleSettings.java | 100 +++++++ 3 files changed, 219 insertions(+), 214 deletions(-) create mode 100644 mod/src/main/java/dev/loki/lovisual/features/gui/hud/nondraggable/impl/buttons/ButtonIconRenderer.java create mode 100644 mod/src/main/java/dev/loki/lovisual/features/gui/hud/nondraggable/impl/buttons/ButtonStyleSettings.java diff --git a/mod/src/main/java/dev/loki/lovisual/features/gui/hud/nondraggable/impl/buttons/BetterButtons.java b/mod/src/main/java/dev/loki/lovisual/features/gui/hud/nondraggable/impl/buttons/BetterButtons.java index cbc385e..cf91ba2 100644 --- a/mod/src/main/java/dev/loki/lovisual/features/gui/hud/nondraggable/impl/buttons/BetterButtons.java +++ b/mod/src/main/java/dev/loki/lovisual/features/gui/hud/nondraggable/impl/buttons/BetterButtons.java @@ -8,14 +8,9 @@ import dev.loki.lovisual.config.values.primitive.NumberValue; import dev.loki.lovisual.features.gui.hud.base.AbstractHudElement; import dev.loki.lovisual.features.gui.hud.registry.HudElementRegister; import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.render.ButtonSliderRenderer; -import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.render.ButtonSprites; import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.render.ButtonStyleRenderer; -import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.render.ButtonTextRenderer; import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.state.ButtonHoverState; -import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.state.ButtonParallax; import dev.loki.lovisual.features.gui.hud.nondraggable.impl.buttons.state.ButtonQueue; -import dev.loki.lovisual.mixins.accessors.hud.TextIconButtonWidgetAccessor; -import dev.loki.lovisual.render.engine.renderer.warp.RenderWarpStack; import net.minecraft.client.gui.GuiGraphicsExtractor; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.CycleButton; @@ -25,55 +20,16 @@ import net.minecraft.resources.Identifier; import java.util.List; +/** + * Buttons HUD facade: settings values in {@link ButtonStyleSettings}, icon + * drawing in {@link ButtonIconRenderer}, queue/render primitives behind it. + */ @HudElementRegister(order = 10) public final class BetterButtons extends AbstractHudElement { public static final BetterButtons INSTANCE = new BetterButtons(); - private final EnumValue