aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authoresteban4567890 <wt3dkilgg@mozmail.com>2024-02-09 13:36:41 +0100
committeresteban4567890 <wt3dkilgg@mozmail.com>2024-02-09 13:36:41 +0100
commitb90bdd7851a166b75b32bca3bf4ea56d5537f665 (patch)
treec5e8b7fd4f02ba3081982131607958a0c8874c06 /src/main/java
parent8c65915417c4d994b5febd766aa9a7f508881407 (diff)
downloadSkyblocker-b90bdd7851a166b75b32bca3bf4ea56d5537f665.tar.gz
Skyblocker-b90bdd7851a166b75b32bca3bf4ea56d5537f665.tar.bz2
Skyblocker-b90bdd7851a166b75b32bca3bf4ea56d5537f665.zip
Fixed NumberFormatException with 4 digit stack
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/garden/VisitorHelper.java15
1 files changed, 14 insertions, 1 deletions
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<String, Map<String, Integer>> itemMap = new HashMap<>();
private static final Map<String, NEUItem> 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<String, Integer> nestedMap = itemMap.getOrDefault(title, new HashMap<>());
if (!nestedMap.containsKey(itemName)) {
nestedMap.put(itemName, amount);