summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt18
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java11
2 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
index 917ec5c88..aaff447a9 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/StringUtils.kt
@@ -2,6 +2,8 @@ package at.hannibal2.skyhanni.utils
import at.hannibal2.skyhanni.utils.GuiRenderUtils.darkenColor
import net.minecraft.client.Minecraft
+import net.minecraft.client.gui.GuiUtilRenderComponents
+import net.minecraft.util.ChatComponentText
import org.intellij.lang.annotations.Language
import java.util.*
import java.util.regex.Matcher
@@ -106,5 +108,21 @@ object StringUtils {
}
}
+
+
fun String.removeWordsAtEnd(i: Int) = split(" ").dropLast(i).joinToString(" ")
+
+ fun String.splitLines(width: Int): String {
+ val fr = Minecraft.getMinecraft().fontRendererObj
+ return GuiUtilRenderComponents.splitText(
+ ChatComponentText(this), width, fr, false, false
+ ).joinToString("\n") {
+ val text = it.formattedText
+ val formatCode = Regex("(?:ยง[a-f0-9l-or]|\\s)*")
+ formatCode.matchAt(text, 0)?.let { matcher ->
+ val codes = matcher.value.replace("\\s".toRegex(), "")
+ codes + text.removeRange(matcher.range)
+ } ?: text
+ }
+ }
} \ No newline at end of file
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java
new file mode 100644
index 000000000..48d0908a9
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/utils/jsonobjects/TrophyFishJson.java
@@ -0,0 +1,11 @@
+package at.hannibal2.skyhanni.utils.jsonobjects;
+
+import at.hannibal2.skyhanni.features.fishing.TrophyFishInfo;
+import com.google.gson.annotations.Expose;
+
+import java.util.Map;
+
+public class TrophyFishJson {
+ @Expose
+ public Map<String, TrophyFishInfo> trophy_fish;
+}