From b90bdd7851a166b75b32bca3bf4ea56d5537f665 Mon Sep 17 00:00:00 2001 From: esteban4567890 Date: Fri, 9 Feb 2024 13:36:41 +0100 Subject: Fixed NumberFormatException with 4 digit stack --- .../hysky/skyblocker/skyblock/garden/VisitorHelper.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/main/java/de') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java index 2c7ede30..c4e1468d 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java @@ -3,6 +3,11 @@ package de.hysky.skyblocker.skyblock.garden; import java.util.HashMap; import java.util.Map; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.text.NumberFormat; + import de.hysky.skyblocker.skyblock.itemlist.ItemRepository; import de.hysky.skyblocker.utils.NEURepoManager; import io.github.moulberry.repo.data.NEUItem; @@ -18,6 +23,8 @@ import net.minecraft.util.Formatting; //TODO: check inventory items, sum all repeated items into one public class VisitorHelper { + private static final Logger LOGGER = LoggerFactory.getLogger("Skyblocker Visitor Helper"); + private static final Map> itemMap = new HashMap<>(); private static final Map itemCache = new HashMap<>(); private static final int TEXT_START_X = 3; @@ -92,7 +99,13 @@ public class VisitorHelper { var split = mutableText.getString().split(" x"); var itemName = split[0].trim(); if (!itemName.isEmpty()) { - var amount = split.length == 2 ? Integer.parseInt(split[1].trim()) : 1; + int amount = 1; + try { + amount = split.length == 2 ? NumberFormat.getInstance().parse(split[1].trim()).intValue() : 1; + } catch (Exception e) { + LOGGER.debug("Failed to parse amount for item: " + mutableText.getString()); + return; + } Map nestedMap = itemMap.getOrDefault(title, new HashMap<>()); if (!nestedMap.containsKey(itemName)) { nestedMap.put(itemName, amount); -- cgit