From 3e36feeef60e56ef8cb7f737ac8eeab9fbcd6abb Mon Sep 17 00:00:00 2001 From: isXander Date: Sat, 3 Jun 2023 23:10:03 +0100 Subject: Change package and modid to yacl3 and yet_another_config_lib_3 respectively --- .../dev/isxander/yacl3/gui/utils/GuiUtils.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java (limited to 'common/src/main/java/dev/isxander/yacl3/gui/utils') diff --git a/common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java b/common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java new file mode 100644 index 0000000..2910d0f --- /dev/null +++ b/common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java @@ -0,0 +1,32 @@ +package dev.isxander.yacl3.gui.utils; + +import net.minecraft.client.gui.Font; +import net.minecraft.locale.Language; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; + +public class GuiUtils { + public static MutableComponent translatableFallback(String key, Component fallback) { + if (Language.getInstance().has(key)) + return Component.translatable(key); + return fallback.copy(); + } + + public static String shortenString(String string, Font font, int maxWidth, String suffix) { + if (string.isEmpty()) + return string; + + boolean firstIter = true; + while (font.width(string) > maxWidth) { + string = string.substring(0, Math.max(string.length() - 1 - (firstIter ? 1 : suffix.length() + 1), 0)).trim(); + string += suffix; + + if (string.equals(suffix)) + break; + + firstIter = false; + } + + return string; + } +} -- cgit