From 9c9f7f00085e12e8eb38e4c68e5b3ee3b8aacbee Mon Sep 17 00:00:00 2001 From: viciscat <51047087+viciscat@users.noreply.github.com> Date: Fri, 21 Mar 2025 18:21:31 +0100 Subject: the fix (#1225) --- .../skyblocker/skyblock/garden/visitor/VisitorHelper.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/garden/visitor/VisitorHelper.java b/src/main/java/de/hysky/skyblocker/skyblock/garden/visitor/VisitorHelper.java index a4a031f0..d762d7e0 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/garden/visitor/VisitorHelper.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/garden/visitor/VisitorHelper.java @@ -88,10 +88,15 @@ public class VisitorHelper { ItemUtils.getLore(acceptButton).stream() .map(Text::getString) .map(String::trim) - .takeWhile(lore -> !lore.contains("Rewards")) - .filter(lore -> lore.contains(" x")) - .map(lore -> lore.split(" x")) - .forEach(parts -> visitor.addRequiredItem(Text.literal(parts[0].trim()), Formatters.parseNumber(parts[1].trim()).intValue())); + .dropWhile(lore -> !lore.contains("Items Required")) // All lines before Items Required (shouldn't be any, but you never know) + .skip(1) // skip the Items Required line + .takeWhile(lore -> !lore.isEmpty()) // All lines until the blank line before Rewards + .forEach(requirement -> { + String[] split = requirement.split(" x"); + Text item = Text.of(split[0].trim()); + if (split.length == 1) visitor.addRequiredItem(item, 1); + else visitor.addRequiredItem(item, Formatters.parseNumber(split[1].trim()).intValue()); + }); } private static void updateItems() { -- cgit