From 361d996411380840791548c3212a11c18a9fa8aa Mon Sep 17 00:00:00 2001 From: Siphalor Date: Sat, 8 Nov 2025 23:22:41 +0100 Subject: [PATCH] feat(coat-bridge): Allow descriptions on category entries --- .../coat/bridge/impl/TweedCoatMappersImpl.java | 12 ++++++++++++ .../tweed5_coat_bridge_testmod/lang/en_us.json | 1 + 2 files changed, 13 insertions(+) diff --git a/tweed5-minecraft/coat-bridge/src/main/java/de/siphalor/tweed5/coat/bridge/impl/TweedCoatMappersImpl.java b/tweed5-minecraft/coat-bridge/src/main/java/de/siphalor/tweed5/coat/bridge/impl/TweedCoatMappersImpl.java index 6eda111..c939c31 100644 --- a/tweed5-minecraft/coat-bridge/src/main/java/de/siphalor/tweed5/coat/bridge/impl/TweedCoatMappersImpl.java +++ b/tweed5-minecraft/coat-bridge/src/main/java/de/siphalor/tweed5/coat/bridge/impl/TweedCoatMappersImpl.java @@ -7,6 +7,7 @@ import de.siphalor.coat.input.CycleButtonConfigInput; import de.siphalor.coat.input.TextConfigInput; import de.siphalor.coat.list.complex.ConfigCategoryWidget; import de.siphalor.coat.list.entry.ConfigCategoryConfigEntry; +import de.siphalor.coat.list.entry.ConfigListTextEntry; import de.siphalor.coat.screen.ConfigContentWidget; import de.siphalor.coat.util.EnumeratedMaterial; import de.siphalor.tweed5.attributesextension.api.AttributesExtension; @@ -22,7 +23,9 @@ import de.siphalor.tweed5.core.api.entry.ConfigEntry; import lombok.RequiredArgsConstructor; import lombok.Value; import lombok.extern.apachecommons.CommonsLog; +import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.language.I18n; import net.minecraft.resources.ResourceLocation; import org.jspecify.annotations.NonNull; import org.jspecify.annotations.Nullable; @@ -31,6 +34,7 @@ import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; +import static de.siphalor.tweed5.coat.bridge.api.TweedCoatMappingUtils.translatableComponent; import static de.siphalor.tweed5.coat.bridge.api.TweedCoatMappingUtils.translatableComponentWithFallback; @CommonsLog @@ -313,6 +317,14 @@ public class TweedCoatMappersImpl { Collections.emptyList(), backgroundTexture ); + + String descriptionKey = translationKey + ".description"; + if (I18n.exists(descriptionKey)) { + categoryWidget.addEntry(new ConfigListTextEntry( + translatableComponent(descriptionKey).withStyle(ChatFormatting.GRAY) + )); + } + for (MappedEntry mappedEntry : mappedEntries) { TweedCoatEntryMappingResult mappingResult = mappedEntry.mappingResult(); if (!mappingResult.isApplicable()) { diff --git a/tweed5-minecraft/coat-bridge/src/testmod/resources/assets/tweed5_coat_bridge_testmod/lang/en_us.json b/tweed5-minecraft/coat-bridge/src/testmod/resources/assets/tweed5_coat_bridge_testmod/lang/en_us.json index d0a1f6d..a395810 100644 --- a/tweed5-minecraft/coat-bridge/src/testmod/resources/assets/tweed5_coat_bridge_testmod/lang/en_us.json +++ b/tweed5-minecraft/coat-bridge/src/testmod/resources/assets/tweed5_coat_bridge_testmod/lang/en_us.json @@ -1,6 +1,7 @@ { "tweed5_coat_bridge_testmod.title": "Test Mod", "tweed5_coat_bridge_testmod.config": "Test Mod config", + "tweed5_coat_bridge_testmod.config.description": "Category description", "tweed5_coat_bridge_testmod.config.test": "Test entry", "tweed5_coat_bridge_testmod.config.test.description": "Just a simple string entry", "tweed5_coat_bridge_testmod.config.some-integer": "Some integer",