diff options
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/config/ConfigUtils.java')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/config/ConfigUtils.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java b/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java new file mode 100644 index 00000000..9a7a41b5 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/config/ConfigUtils.java @@ -0,0 +1,25 @@ +package de.hysky.skyblocker.config; + +import dev.isxander.yacl3.api.Option; +import dev.isxander.yacl3.api.controller.BooleanControllerBuilder; +import dev.isxander.yacl3.api.controller.EnumControllerBuilder; +import dev.isxander.yacl3.api.controller.ValueFormatter; +import net.minecraft.text.Text; +import net.minecraft.util.Formatting; +import org.apache.commons.lang3.StringUtils; + +import java.util.function.Function; + +public class ConfigUtils { + public static final Function<Formatting, String> FORMATTING_TO_STRING = formatting -> StringUtils.capitalize(formatting.getName().replaceAll("_", " ")); + public static final ValueFormatter<Float> FLOAT_TWO_FORMATTER = value -> Text.literal(String.format("%,.2f", value).replaceAll("[\u00a0\u202F]", " ")); + + public static BooleanControllerBuilder createBooleanController(Option<Boolean> opt) { + return BooleanControllerBuilder.create(opt).yesNoFormatter().coloured(true); + } + + @SuppressWarnings("unchecked") + public static <E extends Enum<E>> EnumControllerBuilder<E> createEnumCyclingListController(Option<E> opt) { + return EnumControllerBuilder.create(opt).enumClass((Class<E>) opt.binding().defaultValue().getClass()); + } +} |