aboutsummaryrefslogtreecommitdiff
path: root/common/src/main/java/dev/isxander/yacl3/gui/utils
diff options
context:
space:
mode:
authorisXander <xandersmith2008@gmail.com>2023-06-03 23:10:03 +0100
committerisXander <xandersmith2008@gmail.com>2023-06-04 16:25:09 +0100
commit3e36feeef60e56ef8cb7f737ac8eeab9fbcd6abb (patch)
treef9c3395b4da2235681b87a35ac5056a0724a181b /common/src/main/java/dev/isxander/yacl3/gui/utils
parentd00a486d3bdf6105f8ca8af1034c384058b8c832 (diff)
downloadYetAnotherConfigLib-3e36feeef60e56ef8cb7f737ac8eeab9fbcd6abb.tar.gz
YetAnotherConfigLib-3e36feeef60e56ef8cb7f737ac8eeab9fbcd6abb.tar.bz2
YetAnotherConfigLib-3e36feeef60e56ef8cb7f737ac8eeab9fbcd6abb.zip
Change package and modid to yacl3 and yet_another_config_lib_3 respectively
Diffstat (limited to 'common/src/main/java/dev/isxander/yacl3/gui/utils')
-rw-r--r--common/src/main/java/dev/isxander/yacl3/gui/utils/GuiUtils.java32
1 files changed, 32 insertions, 0 deletions
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;
+ }
+}