From 554646dbd857e2fab1be8339ce8d0231ef2dbb4c Mon Sep 17 00:00:00 2001 From: Crendgrim Date: Thu, 31 Aug 2023 00:06:47 +0200 Subject: Add dropdown controllers (#95) --- .../controller/DropdownStringControllerBuilder.java | 18 ++++++++++++++++++ .../yacl3/api/controller/ItemControllerBuilder.java | 11 +++++++++++ 2 files changed, 29 insertions(+) create mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/DropdownStringControllerBuilder.java create mode 100644 common/src/main/java/dev/isxander/yacl3/api/controller/ItemControllerBuilder.java (limited to 'common/src/main/java/dev/isxander/yacl3/api/controller') diff --git a/common/src/main/java/dev/isxander/yacl3/api/controller/DropdownStringControllerBuilder.java b/common/src/main/java/dev/isxander/yacl3/api/controller/DropdownStringControllerBuilder.java new file mode 100644 index 0000000..3f5fb33 --- /dev/null +++ b/common/src/main/java/dev/isxander/yacl3/api/controller/DropdownStringControllerBuilder.java @@ -0,0 +1,18 @@ +package dev.isxander.yacl3.api.controller; + +import dev.isxander.yacl3.api.Option; +import dev.isxander.yacl3.impl.controller.DropdownStringControllerBuilderImpl; + +import java.util.List; + +public interface DropdownStringControllerBuilder extends StringControllerBuilder { + DropdownStringControllerBuilder values(List values); + DropdownStringControllerBuilder values(String... values); + DropdownStringControllerBuilder allowEmptyValue(boolean allowEmptyValue); + DropdownStringControllerBuilder allowAnyValue(boolean allowAnyValue); + + + static DropdownStringControllerBuilder create(Option option) { + return new DropdownStringControllerBuilderImpl(option); + } +} diff --git a/common/src/main/java/dev/isxander/yacl3/api/controller/ItemControllerBuilder.java b/common/src/main/java/dev/isxander/yacl3/api/controller/ItemControllerBuilder.java new file mode 100644 index 0000000..5a1f5fa --- /dev/null +++ b/common/src/main/java/dev/isxander/yacl3/api/controller/ItemControllerBuilder.java @@ -0,0 +1,11 @@ +package dev.isxander.yacl3.api.controller; + +import dev.isxander.yacl3.api.Option; +import dev.isxander.yacl3.impl.controller.ItemControllerBuilderImpl; +import net.minecraft.world.item.Item; + +public interface ItemControllerBuilder extends ControllerBuilder { + static ItemControllerBuilder create(Option option) { + return new ItemControllerBuilderImpl(option); + } +} -- cgit