From f1fe868192e71b69b8ee08a2dff47e0c9f72e0ee Mon Sep 17 00:00:00 2001 From: Martin Prokoph Date: Mon, 12 May 2025 22:57:15 +0200 Subject: [PATCH] feat: remove checkbox widgets - As voted on in a recent MidnightDust Discord Poll --- .../java/eu/midnightdust/lib/config/MidnightConfig.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java index 99b4250..c24bef1 100755 --- a/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java +++ b/common/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java @@ -164,9 +164,6 @@ public abstract class MidnightConfig { else if (info.dataType == boolean.class) { Function func = value -> Text.translatable((Boolean) value ? "gui.yes" : "gui.no").formatted((Boolean) value ? Formatting.GREEN : Formatting.RED); info.function = new AbstractMap.SimpleEntry>(button -> { - if (info.actionButton instanceof CheckboxWidget checkbox && checkbox.isChecked() == (Boolean) info.value) { - checkbox.onPress(); return; - } info.setValue(!(Boolean) info.value); button.setMessage(func.apply(info.value)); }, func); } else if (info.dataType.isEnum()) { @@ -377,7 +374,6 @@ public abstract class MidnightConfig { values.setValue(value -> getEnumTranslatableText(value, modid, info)); } widget = ButtonWidget.builder(values.getValue().apply(info.value), values.getKey()).dimensions(width - 185, 0, 150, 20).tooltip(info.getTooltip(true)).build(); - if (info.dataType == boolean.class) info.actionButton = CheckboxWidget.builder(Text.empty(), textRenderer).callback((checkbox, checked) -> values.getKey().onPress((ButtonWidget) widget)).checked((Boolean) info.value).pos(widget.getX(), 1).build(); } else if (e.isSlider()) widget = new MidnightSliderWidget(width - 185, 0, 150, 20, Text.of(info.tempValue), (Double.parseDouble(info.tempValue) - e.min()) / (e.max() - e.min()), info); else widget = new TextFieldWidget(textRenderer, width - 185, 0, 150, 20, Text.empty()); @@ -490,7 +486,7 @@ public abstract class MidnightConfig { } } public void render(DrawContext context, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { - buttons.forEach(b -> { b.setY(y + (b instanceof CheckboxWidget ? 1 : 0)); b.render(context, mouseX, mouseY, tickDelta);}); + buttons.forEach(b -> { b.setY(y); b.render(context, mouseX, mouseY, tickDelta);}); if (title != null) { title.setY(y+5); title.renderWidget(context, mouseX, mouseY, tickDelta);