diff options
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java new file mode 100644 index 00000000..57ea5893 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/config/ConfigUtils.java @@ -0,0 +1,15 @@ +package me.xmrvizzy.skyblocker.config; + +import dev.isxander.yacl3.api.Option; +import dev.isxander.yacl3.api.controller.CyclingListControllerBuilder; +import net.minecraft.text.Text; + +public class ConfigUtils { + + @SuppressWarnings("unchecked") + public static <E extends Enum<?>> CyclingListControllerBuilder<E> createCyclingListController4Enum(Option<E> opt) { + E[] constants = (E[]) opt.binding().defaultValue().getClass().getEnumConstants(); + + return CyclingListControllerBuilder.create(opt).values(constants).valueFormatter(c -> Text.of(c.toString())); + } +} |