diff options
Diffstat (limited to 'src/main/java')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/garden/visitor/VisitorHelper.java | 13 |
1 files changed, 9 insertions, 4 deletions
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() { |
