diff options
author | Crendgrim <Crendgrim@users.noreply.github.com> | 2023-08-31 00:06:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-30 23:06:47 +0100 |
commit | 554646dbd857e2fab1be8339ce8d0231ef2dbb4c (patch) | |
tree | b55e6f1d282c18e743857bba3c9d5e4f226200ed /test-common/src/main/java/dev/isxander/yacl3/test/GuiTest.java | |
parent | c11566072608683034864dbd4e0d3f5afa067537 (diff) | |
download | YetAnotherConfigLib-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.java | 41 |
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\"")) |