From 26ac6919de473490299142fee3e6fea98048d028 Mon Sep 17 00:00:00 2001 From: hannibal2 <24389977+hannibal00212@users.noreply.github.com> Date: Tue, 21 Feb 2023 00:46:47 +0100 Subject: Fixed bugs around item name renderer --- src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/main/java/at/hannibal2/skyhanni/utils') diff --git a/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt index 87ae37da7..00ffdaefd 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/ItemUtils.kt @@ -9,6 +9,7 @@ import net.minecraft.init.Items import net.minecraft.item.ItemStack import net.minecraftforge.common.util.Constants import java.util.* +import java.util.regex.Pattern object ItemUtils { @@ -136,4 +137,18 @@ object ItemUtils { } fun isSkyBlockMenuItem(stack: ItemStack?): Boolean = stack?.getInternalName() == "SKYBLOCK_MENU" + + private val pattern = Pattern.compile("(?(?:[\\w-]+ ?)+)(?:ยง8x(?\\d+))?") + + fun readItemAmount(input: String): Pair { + var string = input.trim() + val color = string.substring(0, 2) + string = string.substring(2) + val matcher = pattern.matcher(string) + if (!matcher.matches()) return Pair(null, 0) + + val itemName = color + matcher.group("name").trim() + val amount = matcher.group("amount")?.replace(",", "")?.toInt() ?: 1 + return Pair(itemName, amount) + } } \ No newline at end of file -- cgit