From d16616fb8b68c5b7aa06254d96f0cd0885d9a329 Mon Sep 17 00:00:00 2001 From: Dario Vuksan <65848142+IamMusavaRibica@users.noreply.github.com> Date: Thu, 11 Jul 2024 16:29:13 +0200 Subject: Fix Jacob's Contest Estimate giving incorrect values when the score number is cut off (#1239) --- .../moulberry/notenoughupdates/overlays/FarmingSkillOverlay.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingSkillOverlay.java b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingSkillOverlay.java index 1a118539..2d9cf5fa 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingSkillOverlay.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/overlays/FarmingSkillOverlay.java @@ -146,10 +146,13 @@ public class FarmingSkillOverlay extends TextOverlay { for (String line : SidebarUtil.readSidebarLines()) { val matcher = CONTEST_AMOUNT_PATTERN.matcher(line); if (matcher.matches()) { - String amount = matcher.group("amount").replace(",", ""); + String amount = matcher.group("amount"); + // account for when the scoreboard line is too long and last digit or two are cut off + int lastComma = amount.lastIndexOf(','); + int extraZeros = lastComma != -1 ? 4 + lastComma - amount.length() : 0; try { inJacobContest = true; - cropsFarmed = Integer.parseInt(amount); + cropsFarmed = Integer.parseInt(amount.replace(",", "")) * (int) Math.pow(10, extraZeros); } catch (NumberFormatException e) { e.printStackTrace(); } -- cgit