From 62dcfc560c60ac0a028a036b5cbfa7ed1764ce8e Mon Sep 17 00:00:00 2001 From: PureBluez Date: Sat, 28 Feb 2026 18:05:54 -0600 Subject: [PATCH 1/2] More like awesome cycle button widget --- .../com/cleanroommc/modularui/test/TestTile.java | 9 +++++++++ .../widgets/AbstractCycleButtonWidget.java | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/main/java/com/cleanroommc/modularui/test/TestTile.java b/src/main/java/com/cleanroommc/modularui/test/TestTile.java index a56e2e4e1..108a7dcb0 100644 --- a/src/main/java/com/cleanroommc/modularui/test/TestTile.java +++ b/src/main/java/com/cleanroommc/modularui/test/TestTile.java @@ -252,6 +252,15 @@ public ModularPanel buildUI(PosGuiData guiData, PanelSyncManager syncManager, UI .reverseLayout(false) .child(new ToggleButton() .valueWrapped(cycleStateValue, 0) + .tooltipBuilder(false, t -> { + t.addLine("Wow! This button sure isnt selected! Not one bit!"); + if (!this.oversizedStorage.getStackInSlot(this.cycleState).isEmpty()) { + t.addLine("Here is a cool item: "); + t.add(new ItemDrawable(this.oversizedStorage.getStackInSlot(this.cycleState))); + } + }) + .tooltipBuilder(true, t -> t.addLine("Wow! This button IS selected! How cool!")) + .tooltipAutoUpdate(true) .overlay(GuiTextures.CYCLE_BUTTON_DEMO.getSubArea(0, 0, 1, 1 / 3f))) .child(new ToggleButton() .valueWrapped(cycleStateValue, 1) diff --git a/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java b/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java index 6b3dd351e..344ced638 100644 --- a/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java +++ b/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java @@ -568,6 +568,21 @@ public W tooltipShowUpTimer(int showUpTimer) { return getThis(); } + /** + * Sets the tooltip auto update value for all states. + * + * @param update true if tooltips should automatically update + * @return this + */ + @Override + public W tooltipAutoUpdate(boolean update) { + expectCount(); + for (RichTooltip tooltip : this.tooltip) { + tooltip.setAutoUpdate(update); + } + return getThis(); + } + protected W stateCount(int stateCount) { updateStateCount(stateCount, true); return getThis(); From 12109669fc7d5e139f7a04950f89f236baf05284 Mon Sep 17 00:00:00 2001 From: PureBluez Date: Sat, 28 Feb 2026 19:09:07 -0600 Subject: [PATCH 2/2] More like AwesomeTile --- .../cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java b/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java index 344ced638..b4b8764d8 100644 --- a/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java +++ b/src/main/java/com/cleanroommc/modularui/widgets/AbstractCycleButtonWidget.java @@ -576,6 +576,7 @@ public W tooltipShowUpTimer(int showUpTimer) { */ @Override public W tooltipAutoUpdate(boolean update) { + super.tooltipAutoUpdate(update); expectCount(); for (RichTooltip tooltip : this.tooltip) { tooltip.setAutoUpdate(update);