From 9fc6b2a7a034eeddad0bc62c2334e1f03e1f3c62 Mon Sep 17 00:00:00 2001 From: Aaron <51387595+AzureAaron@users.noreply.github.com> Date: Fri, 25 Jul 2025 02:26:19 -0400 Subject: Fix rare crash with parsing purse --- src/main/java/de/hysky/skyblocker/utils/Utils.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/main/java/de/hysky/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java index ce6857ce..5fcff161 100644 --- a/src/main/java/de/hysky/skyblocker/utils/Utils.java +++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java @@ -398,11 +398,15 @@ public class Utils { STRING_SCOREBOARD.stream().filter(s -> s.contains("Piggy:") || s.contains("Purse:")).findFirst().ifPresent(purseString -> { Matcher matcher = PURSE.matcher(purseString); if (matcher.find()) { - double newPurse = Double.parseDouble(matcher.group("purse").replaceAll(",", "")); - double changeSinceLast = newPurse - Utils.purse; - if (changeSinceLast == 0) return; - SkyblockEvents.PURSE_CHANGE.invoker().onPurseChange(changeSinceLast, PurseChangeCause.getCause(changeSinceLast)); - Utils.purse = newPurse; + try { + double newPurse = Double.parseDouble(matcher.group("purse").replaceAll(",", "")); + double changeSinceLast = newPurse - Utils.purse; + if (changeSinceLast == 0) return; + SkyblockEvents.PURSE_CHANGE.invoker().onPurseChange(changeSinceLast, PurseChangeCause.getCause(changeSinceLast)); + Utils.purse = newPurse; + } catch (NumberFormatException e) { + LOGGER.error("[Skyblocker] Failed to parse purse string. Input: '{}'", purseString, e); + } } }); } -- cgit