diff options
Diffstat (limited to 'common/src/main/java/dev/isxander/yacl3/api')
-rw-r--r-- | common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java | 2 | ||||
-rw-r--r-- | common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java | 10 |
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); + } +} |