From 442f48a6e28196910e92f460d3d677e3e47cbfc0 Mon Sep 17 00:00:00 2001 From: Kevin <92656833+kevinthegreat1@users.noreply.github.com> Date: Sat, 18 Nov 2023 04:07:39 -0500 Subject: Add Enum Dropdown Controller (#117) --- common/src/main/java/dev/isxander/yacl3/api/NameableEnum.java | 2 +- .../yacl3/api/controller/EnumDropdownControllerBuilder.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/EnumDropdownControllerBuilder.java (limited to 'common/src/main/java/dev/isxander/yacl3/api') 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> extends ValueFormattableController> { + static > EnumDropdownControllerBuilder create(Option option) { + return new EnumDropdownControllerBuilderImpl<>(option); + } +} -- cgit