aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/FairySouls.java10
1 files changed, 9 insertions, 1 deletions
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<BlockPos> 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)