fix(config-ui-tiny): don't use Text.literal for boolean values

This commit is contained in:
Johannes Frohnmeyer 2023-09-27 14:53:54 +02:00
parent 3d25731e21
commit ebd045003c
Signed by: Johannes
GPG Key ID: E76429612C2929F4
2 changed files with 12 additions and 2 deletions

View File

@ -8,5 +8,8 @@
"libjf-config-core-v2.reset": "Reset",
"libjf-config-core-v2.no-screen": "No screen",
"libjf-config-core-v2.no-screen.description": "No mod for rendering config UIs was discovered. Install LibJF to add one.",
"libjf-config-core-v2.edit": "Edit"
"libjf-config-core-v2.edit": "Edit",
"libjf-config-core-v2.true": "§aTrue",
"libjf-config-core-v2.false": "§cFalse",
"libjf-config-core-v2.null": "§dNull"
}

View File

@ -7,6 +7,7 @@ import io.gitlab.jfronny.libjf.LibJf;
import io.gitlab.jfronny.libjf.config.api.v2.ConfigCategory;
import io.gitlab.jfronny.libjf.config.api.v2.EntryInfo;
import io.gitlab.jfronny.libjf.config.api.v2.type.Type;
import io.gitlab.jfronny.libjf.config.impl.ConfigCore;
import io.gitlab.jfronny.libjf.config.impl.ui.tiny.EditorScreen;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@ -16,6 +17,7 @@ import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.toast.SystemToast;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;
import net.minecraft.util.Language;
import java.util.LinkedList;
import java.util.List;
@ -64,7 +66,12 @@ public class EntryInfoWidgetBuilder {
} else if (type.isBool()) {
factory = toggle((EntryInfo<Boolean>) info, (WidgetState<Boolean>) state,
value -> !(Boolean) value,
value -> Text.literal(value ? "True" : "False").formatted(value ? Formatting.GREEN : Formatting.RED));
value -> {
String customKey = config.getTranslationPrefix() + value;
return Language.getInstance().hasTranslation(customKey)
? Text.translatable(customKey)
: Text.translatable(ConfigCore.MOD_ID + "." + value);
});
} else if (type.isEnum()) {
T[] values = type.<T>asEnum().options();
factory = toggle(info, state, value -> {