From f9c0411e598a700eaf96dbee15b5c78e79c07395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A4seToatz?= Date: Sun, 2 Nov 2025 20:52:25 +0100 Subject: [PATCH] added builder --- .../com/kasetoatz/fastGhast/FastGhast.java | 10 ++- .../{Option.java => ConfigEntry.java} | 4 +- .../{OptionList.java => ConfigEntryList.java} | 17 ++--- .../fastGhast/configscreen/ConfigScreen.java | 28 ++++---- .../fastGhast/configscreen/DumbassConfig.java | 35 ++++++++++ .../configscreen/options/BoolOption.java | 40 ++++++++++++ .../configscreen/options/FloatOption.java | 52 +++++++++++++++ .../configscreen/options/Option.java | 64 +++++++++++++++++++ .../configscreen/options/Validator.java | 23 +++++++ 9 files changed, 246 insertions(+), 27 deletions(-) rename src/main/java/com/kasetoatz/fastGhast/configscreen/{Option.java => ConfigEntry.java} (89%) rename src/main/java/com/kasetoatz/fastGhast/configscreen/{OptionList.java => ConfigEntryList.java} (66%) create mode 100644 src/main/java/com/kasetoatz/fastGhast/configscreen/DumbassConfig.java create mode 100644 src/main/java/com/kasetoatz/fastGhast/configscreen/options/BoolOption.java create mode 100644 src/main/java/com/kasetoatz/fastGhast/configscreen/options/FloatOption.java create mode 100644 src/main/java/com/kasetoatz/fastGhast/configscreen/options/Option.java create mode 100644 src/main/java/com/kasetoatz/fastGhast/configscreen/options/Validator.java diff --git a/src/main/java/com/kasetoatz/fastGhast/FastGhast.java b/src/main/java/com/kasetoatz/fastGhast/FastGhast.java index 8cef4c1..8979e3c 100644 --- a/src/main/java/com/kasetoatz/fastGhast/FastGhast.java +++ b/src/main/java/com/kasetoatz/fastGhast/FastGhast.java @@ -1,6 +1,9 @@ package com.kasetoatz.fastghast; -import com.kasetoatz.fastghast.configscreen.ConfigScreen; +import com.kasetoatz.fastghast.configscreen.DumbassConfig; +import com.kasetoatz.fastghast.configscreen.options.BoolOption; +import com.kasetoatz.fastghast.configscreen.options.FloatOption; +import com.kasetoatz.fastghast.configscreen.options.Validator; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; import net.fabricmc.api.ModInitializer; @@ -30,6 +33,9 @@ public class Fastghast implements ModInitializer, ModMenuApi @Override public ConfigScreenFactory getModConfigScreenFactory() { - return ConfigScreen::new; + return DumbassConfig.builder() + .withOption(new BoolOption("Test Boolean Option", "test_bool_opt", false)) + .withOption(new FloatOption("Test Float Option", "test_float_opt", 1.F, value -> new Validator(value > 0.F, "Number must be binger than 0."))) + ::build; } } diff --git a/src/main/java/com/kasetoatz/fastGhast/configscreen/Option.java b/src/main/java/com/kasetoatz/fastGhast/configscreen/ConfigEntry.java similarity index 89% rename from src/main/java/com/kasetoatz/fastGhast/configscreen/Option.java rename to src/main/java/com/kasetoatz/fastGhast/configscreen/ConfigEntry.java index eeaf8d5..3f70da6 100644 --- a/src/main/java/com/kasetoatz/fastGhast/configscreen/Option.java +++ b/src/main/java/com/kasetoatz/fastGhast/configscreen/ConfigEntry.java @@ -8,11 +8,11 @@ import net.minecraft.client.gui.widget.ElementListWidget; import java.util.List; -public class Option extends ElementListWidget.Entry