From f983308b936c54f3331424b0d6d51d8a3b11f415 Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Sun, 30 Jul 2023 20:26:53 +0800 Subject: enable subclass to allow less voiding mode being set (#2191) * enable subclass to allow less voiding mode being set * fix bug * rename --- .../api/interfaces/modularui/ControllerWithOptionalFeatures.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/main/java/gregtech/api/interfaces/modularui') diff --git a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java index 3d4ed80f67..22694cdafd 100644 --- a/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java +++ b/src/main/java/gregtech/api/interfaces/modularui/ControllerWithOptionalFeatures.java @@ -6,6 +6,7 @@ import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Set; import net.minecraft.util.StatCollector; @@ -80,9 +81,10 @@ public interface ControllerWithOptionalFeatures extends IVoidable, IRecipeLockab default ButtonWidget createVoidExcessButton(IWidgetBuilder builder) { Widget button = new ButtonWidget().setOnClick((clickData, widget) -> { if (supportsVoidProtection()) { + Set allowed = getAllowedVoidingModes(); switch (clickData.mouseButton) { - case 0 -> setVoidingMode(getVoidingMode().next()); - case 1 -> setVoidingMode(getVoidingMode().previous()); + case 0 -> setVoidingMode(getVoidingMode().nextInCollection(allowed)); + case 1 -> setVoidingMode(getVoidingMode().previousInCollection(allowed)); } widget.notifyTooltipChange(); } -- cgit