diff options
author | Xander <xander@isxander.dev> | 2022-12-11 19:31:56 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-11 19:31:56 +0000 |
commit | dd65110f60aa3e32c2970863a06a7682520cce5e (patch) | |
tree | 44612c6aa85374efa639462592ae706fb93f2575 /src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java | |
parent | b890c2f0eec3627e552f1c6cfc846c8a55663243 (diff) | |
download | YetAnotherConfigLib-dd65110f60aa3e32c2970863a06a7682520cce5e.tar.gz YetAnotherConfigLib-dd65110f60aa3e32c2970863a06a7682520cce5e.tar.bz2 YetAnotherConfigLib-dd65110f60aa3e32c2970863a06a7682520cce5e.zip |
[Feature] Lists (#40)
Diffstat (limited to 'src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java')
-rw-r--r-- | src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java b/src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java index 7295f2c..4965150 100644 --- a/src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java +++ b/src/testmod/java/dev/isxander/yacl/test/config/GuiTest.java @@ -22,7 +22,8 @@ import net.minecraft.text.ClickEvent; import net.minecraft.text.HoverEvent; import net.minecraft.text.Text; -import java.awt.*; +import java.awt.Color; +import java.util.List; public class GuiTest { public static Screen getModConfigScreenFactory(Screen parent) { @@ -245,6 +246,36 @@ public class GuiTest { .build()) .build()) .build()) + .category(ConfigCategory.createBuilder() + .name(Text.of("List Test")) + .group(ListOption.createBuilder(String.class) + .name(Text.of("String List")) + .binding( + defaults.stringList, + () -> config.stringList, + val -> config.stringList = val + ) + .controller(StringController::new) + .initial("") + .build()) + .group(ListOption.createBuilder(Integer.class) + .name(Text.of("Slider List")) + .binding( + defaults.intList, + () -> config.intList, + val -> config.intList = val + ) + .controller(opt -> new IntegerSliderController(opt, 0, 10, 1)) + .initial(0) + .available(false) + .build()) + .group(ListOption.createBuilder(Text.class) + .name(Text.of("Useless Label List")) + .binding(Binding.immutable(List.of(Text.of("It's quite impressive that literally every single controller works, without problem.")))) + .controller(LabelController::new) + .initial(Text.of("Initial label")) + .build()) + .build()) .category(PlaceholderCategory.createBuilder() .name(Text.of("Placeholder Category")) .screen((client, yaclScreen) -> new RequireRestartScreen(yaclScreen)) |