aboutsummaryrefslogtreecommitdiff
path: root/test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java
diff options
context:
space:
mode:
authorCrendgrim <Crendgrim@users.noreply.github.com>2023-08-31 00:06:47 +0200
committerGitHub <noreply@github.com>2023-08-30 23:06:47 +0100
commit554646dbd857e2fab1be8339ce8d0231ef2dbb4c (patch)
treeb55e6f1d282c18e743857bba3c9d5e4f226200ed /test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java
parentc11566072608683034864dbd4e0d3f5afa067537 (diff)
downloadYetAnotherConfigLib-554646dbd857e2fab1be8339ce8d0231ef2dbb4c.tar.gz
YetAnotherConfigLib-554646dbd857e2fab1be8339ce8d0231ef2dbb4c.tar.bz2
YetAnotherConfigLib-554646dbd857e2fab1be8339ce8d0231ef2dbb4c.zip
Add dropdown controllers (#95)
Diffstat (limited to 'test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java')
-rw-r--r--test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java41
1 files changed, 37 insertions, 4 deletions
diff --git a/test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java b/test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java
index 71b57f0..c8981d4 100644
--- a/test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java
+++ b/test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java
@@ -1,10 +1,7 @@
package dev.isxander.yacl3.test;
import dev.isxander.yacl3.api.*;
-import dev.isxander.yacl3.api.controller.BooleanControllerBuilder;
-import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder;
-import dev.isxander.yacl3.api.controller.StringControllerBuilder;
-import dev.isxander.yacl3.api.controller.TickBoxControllerBuilder;
+import dev.isxander.yacl3.api.controller.*;
import dev.isxander.yacl3.gui.RequireRestartScreen;
import dev.isxander.yacl3.gui.controllers.*;
import dev.isxander.yacl3.gui.controllers.cycling.EnumController;
@@ -26,6 +23,7 @@ import net.minecraft.network.chat.ClickEvent;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.HoverEvent;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.item.Item;
import java.awt.Color;
import java.nio.file.Path;
@@ -237,6 +235,41 @@ public class GuiTest {
.build())
.build())
.group(OptionGroup.createBuilder()
+ .name(Component.literal("Dropdown Controllers"))
+ .option(Option.<String>createBuilder()
+ .name(Component.literal("String Dropdown"))
+ .binding(
+ defaults.stringOptions,
+ () -> config.stringOptions,
+ (value) -> config.stringOptions = value
+ )
+ .controller(opt -> DropdownStringControllerBuilder.create(opt)
+ .values("Apple", "Banana", "Cherry", "Date")
+ )
+ .build())
+ .option(Option.<String>createBuilder()
+ .name(Component.literal("String suggestions"))
+ .binding(
+ defaults.stringSuggestions,
+ () -> config.stringSuggestions,
+ (value) -> config.stringSuggestions = value
+ )
+ .controller(opt -> DropdownStringControllerBuilder.create(opt)
+ .values("Apple", "Banana", "Cherry", "Date")
+ .allowAnyValue(true)
+ )
+ .build())
+ .option(Option.<Item>createBuilder()
+ .name(Component.literal("Item Dropdown"))
+ .binding(
+ defaults.item,
+ () -> config.item,
+ (value) -> config.item = value
+ )
+ .controller(ItemControllerBuilder::create)
+ .build())
+ .build())
+ .group(OptionGroup.createBuilder()
.name(Component.literal("Options that aren't really options"))
.option(ButtonOption.createBuilder()
.name(Component.literal("Button \"Option\""))