aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java b/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java
new file mode 100644
index 00000000..6c5a0097
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/config/controllers/EnumDropdownControllerElement.java
@@ -0,0 +1,26 @@
+package me.xmrvizzy.skyblocker.config.controllers;
+
+import dev.isxander.yacl3.api.utils.Dimension;
+import dev.isxander.yacl3.gui.YACLScreen;
+import dev.isxander.yacl3.gui.controllers.dropdown.AbstractDropdownControllerElement;
+
+import java.util.List;
+
+public class EnumDropdownControllerElement<E extends Enum<E>> extends AbstractDropdownControllerElement<E, String> {
+ private final EnumDropdownController<E> controller;
+
+ public EnumDropdownControllerElement(EnumDropdownController<E> control, YACLScreen screen, Dimension<Integer> dim) {
+ super(control, screen, dim);
+ this.controller = control;
+ }
+
+ @Override
+ public List<String> computeMatchingValues() {
+ return controller.getValidEnumConstants(inputField).toList();
+ }
+
+ @Override
+ public String getString(String object) {
+ return object;
+ }
+}