From ac7337764f922adc4110ce75a3459a7c5379e1c5 Mon Sep 17 00:00:00 2001 From: cubefury Date: Wed, 4 Feb 2026 21:31:29 +0800 Subject: [PATCH 1/2] Add incomplete structure message --- .../vendingmachine/blocks/gui/MTEVendingMachineGui.java | 8 ++++++++ src/main/resources/assets/vendingmachine/lang/en_US.lang | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java b/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java index c568217..5af80d8 100644 --- a/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java +++ b/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java @@ -30,6 +30,7 @@ import com.cleanroommc.modularui.widgets.ListWidget; import com.cleanroommc.modularui.widgets.PagedWidget; import com.cleanroommc.modularui.widgets.SlotGroupWidget; +import com.cleanroommc.modularui.widgets.TextWidget; import com.cleanroommc.modularui.widgets.ToggleButton; import com.cleanroommc.modularui.widgets.layout.Column; import com.cleanroommc.modularui.widgets.layout.Flow; @@ -500,6 +501,13 @@ private IWidget createTradeUI(TradeMainPanel rootPanel, PagedWidget.Controller t .collapseDisabledChild(true); tradeList.child(new Row().height(2)); + + // Incomplete Structure status message + Flow statusRow = new Row().height(10).width(TRADE_ROW_WIDTH).marginLeft(2) + .child(new TextWidget(IKey.lang("vendingmachine.gui.error.incomplete_structure"))) + .setEnabledIf(slot -> !this.getBase().getActive()); + tradeList.child(statusRow); + // Higher first row top margin Flow row = new TradeRow().height(TILE_ITEM_HEIGHT +2).width(TRADE_ROW_WIDTH).marginLeft(2); diff --git a/src/main/resources/assets/vendingmachine/lang/en_US.lang b/src/main/resources/assets/vendingmachine/lang/en_US.lang index 78d5675..59514d8 100644 --- a/src/main/resources/assets/vendingmachine/lang/en_US.lang +++ b/src/main/resources/assets/vendingmachine/lang/en_US.lang @@ -32,6 +32,7 @@ vendingmachine.gui.cooldown_display.minute=m vendingmachine.gui.cooldown_display.hour=h vendingmachine.gui.cooldown_display.day=d +vendingmachine.gui.error.incomplete_structure=Incomplete Structure. vendingmachine.gui.error.player_using=Someone is using the vending machine at the moment. vendingmachine.chat.trade_restock=Vending Machine Restocked: %s From ce5b83f576c438a694d850004048d3d87be2c443 Mon Sep 17 00:00:00 2001 From: cubefury Date: Wed, 4 Feb 2026 22:35:27 +0800 Subject: [PATCH 2/2] Remove trades if incomplete structure. --- .../vendingmachine/blocks/gui/MTEVendingMachineGui.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java b/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java index 5af80d8..54a3ead 100644 --- a/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java +++ b/src/main/java/com/cubefury/vendingmachine/blocks/gui/MTEVendingMachineGui.java @@ -526,6 +526,9 @@ private IWidget createTradeUI(TradeMainPanel rootPanel, PagedWidget.Controller t }) .tooltipAutoUpdate(true) .setEnabledIf(slot -> { + if (!this.getBase().getActive()) { + return false; + } TradeItemDisplayWidget display = ((TradeItemDisplayWidget) slot); return VMConfig.gui.display_type == display.displayType && display.getDisplay() != null; }) @@ -556,6 +559,9 @@ private IWidget createTradeUI(TradeMainPanel rootPanel, PagedWidget.Controller t }) .tooltipAutoUpdate(true) .setEnabledIf(slot -> { + if (!this.getBase().getActive()) { + return false; + } TradeItemDisplayWidget display = ((TradeItemDisplayWidget) slot); return VMConfig.gui.display_type == display.displayType && display.getDisplay() != null; }));