From 8731707bedea9ec7c59f9910214aec99cb4eab52 Mon Sep 17 00:00:00 2001 From: alexia Date: Mon, 6 Nov 2023 16:55:24 +0100 Subject: Fix fairy soul solver NPE if we can't connect to NEU repo (#409) Co-authored-by: Kevin <92656833+kevinthegreat1@users.noreply.github.com> --- src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/main/java/de/hysky/skyblocker') diff --git a/src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java b/src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java index 3e1220b0..e9bc3ebd 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java @@ -153,12 +153,20 @@ public class FairySouls { private static void markClosestFairyFound() { if (!fairySoulsLoaded.isDone()) return; + PlayerEntity player = MinecraftClient.getInstance().player; if (player == null) { LOGGER.warn("[Skyblocker] Failed to mark closest fairy soul as found because player is null"); return; } - fairySouls.get(Utils.getLocationRaw()).stream() + + Set fairiesOnCurrentIsland = fairySouls.get(Utils.getLocationRaw()); + if (fairiesOnCurrentIsland == null) { + LOGGER.warn("[Skyblocker] Failed to mark closest fairy soul as found because there are no fairy souls loaded on the current island. NEU repo probably failed to load."); + return; + } + + fairiesOnCurrentIsland.stream() .filter(FairySouls::isFairySoulMissing) .min(Comparator.comparingDouble(fairySoulPos -> fairySoulPos.getSquaredDistance(player.getPos()))) .filter(fairySoulPos -> fairySoulPos.getSquaredDistance(player.getPos()) <= 16) -- cgit