From c26d657b1cce0165839c390989bf144ddee17f5b Mon Sep 17 00:00:00 2001 From: doonv <58695417+doonv@users.noreply.github.com> Date: Mon, 9 Mar 2026 18:11:49 +0200 Subject: [PATCH] Add ability to add descriptions to autogen groups --- .../yacl3/config/v2/impl/ConfigClassHandlerImpl.java | 11 +++++++++-- .../resources/assets/yacl_test/lang/en_us.json | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 src/testmod/resources/assets/yacl_test/lang/en_us.json diff --git a/src/main/java/dev/isxander/yacl3/config/v2/impl/ConfigClassHandlerImpl.java b/src/main/java/dev/isxander/yacl3/config/v2/impl/ConfigClassHandlerImpl.java index 3c909658..9318e2bc 100644 --- a/src/main/java/dev/isxander/yacl3/config/v2/impl/ConfigClassHandlerImpl.java +++ b/src/main/java/dev/isxander/yacl3/config/v2/impl/ConfigClassHandlerImpl.java @@ -10,6 +10,7 @@ import dev.isxander.yacl3.config.v2.impl.autogen.YACLAutoGenException; import dev.isxander.yacl3.impl.utils.YACLConstants; import dev.isxander.yacl3.platform.YACLPlatform; +import net.minecraft.locale.Language; import net.minecraft.network.chat.Component; import net.minecraft.resources.Identifier; import org.apache.commons.lang3.Validate; @@ -134,8 +135,14 @@ public YetAnotherConfigLib generateGui() { OptionAddable group = groups.groups().computeIfAbsent(autoGen.group().orElse(""), k -> { if (k.isEmpty()) return groups.category(); - return OptionGroup.createBuilder() - .name(Component.translatable("yacl3.config.%s.category.%s.group.%s".formatted(id().toString(), autoGen.category(), k))); + String groupKey = "yacl3.config.%s.category.%s.group.%s".formatted(id().toString(), autoGen.category(), k); + OptionGroup.Builder groupBuilder = OptionGroup.createBuilder() + .name(Component.translatable(groupKey)); + String descriptionKey = groupKey + ".desc"; + if (Language.getInstance().has(descriptionKey)) { + groupBuilder.description(OptionDescription.of(Component.translatable(descriptionKey))); + } + return groupBuilder; }); Option option; diff --git a/src/testmod/resources/assets/yacl_test/lang/en_us.json b/src/testmod/resources/assets/yacl_test/lang/en_us.json new file mode 100644 index 00000000..780f7cf7 --- /dev/null +++ b/src/testmod/resources/assets/yacl_test/lang/en_us.json @@ -0,0 +1,4 @@ +{ + "yacl3.config.yacl3-test:config.category.test.group.master_test": "My group!", + "yacl3.config.yacl3-test:config.category.test.group.master_test.desc": "This group has a description via a translation key." +}