From bd3f0329d0e391bd84b5f9e3ff207d9dd9815853 Mon Sep 17 00:00:00 2001 From: Yasin Date: Mon, 9 Oct 2023 12:58:02 +0200 Subject: new pr because fixing merge conflict would take too long --- .../de/hysky/skyblocker/config/ConfigUtils.java | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/main/java/de/hysky/skyblocker/config/ConfigUtils.java (limited to 'src/main/java/de/hysky/skyblocker/config/ConfigUtils.java') 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_TO_STRING = formatting -> StringUtils.capitalize(formatting.getName().replaceAll("_", " ")); + public static final ValueFormatter FLOAT_TWO_FORMATTER = value -> Text.literal(String.format("%,.2f", value).replaceAll("[\u00a0\u202F]", " ")); + + public static BooleanControllerBuilder createBooleanController(Option opt) { + return BooleanControllerBuilder.create(opt).yesNoFormatter().coloured(true); + } + + @SuppressWarnings("unchecked") + public static > EnumControllerBuilder createEnumCyclingListController(Option opt) { + return EnumControllerBuilder.create(opt).enumClass((Class) opt.binding().defaultValue().getClass()); + } +} -- cgit