aboutsummaryrefslogtreecommitdiff
path: root/common/src/main/java/dev/isxander/yacl3/api
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/main/java/dev/isxander/yacl3/api')
-rw-r--r--common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java2
-rw-r--r--common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java10
2 files changed, 11 insertions, 1 deletions
diff --git a/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java b/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java
index 5a50207..425623f 100644
--- a/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java
+++ b/common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java
@@ -3,7 +3,7 @@ package dev.isxander.yacl3.api;
import net.minecraft.network.chat.Component;
/**
- * Used for the default value formatter of {@link dev.isxander.yacl3.gui.controllers.cycling.EnumController}
+ * Used for the default value formatter of {@link dev.isxander.yacl3.gui.controllers.cycling.EnumController} and {@link dev.isxander.yacl3.gui.controllers.dropdown.EnumDropdownController}
*/
public interface NameableEnum {
Component getDisplayName();
diff --git a/common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java b/common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java
new file mode 100644
index 0000000..0814cc6
--- /dev/null
+++ b/common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java
@@ -0,0 +1,10 @@
+package dev.isxander.yacl3.api.controller;
+
+import dev.isxander.yacl3.api.Option;
+import dev.isxander.yacl3.impl.controller.EnumDropdownControllerBuilderImpl;
+
+public interface EnumDropdownControllerBuilder<E extends Enum<E>> extends ValueFormattableController<E, EnumDropdownControllerBuilder<E>> {
+ static <E extends Enum<E>> EnumDropdownControllerBuilder<E> create(Option<E> option) {
+ return new EnumDropdownControllerBuilderImpl<>(option);
+ }
+}