From 43400f0a1bd0d4b2b0dd944d7a82019e37206c90 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Wed, 2 Aug 2023 13:12:29 +0800 Subject: Refactor Trivia to use FairySouls --- src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java index ccffdcca..dd8f20e7 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java @@ -20,6 +20,7 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.text.Text; import net.minecraft.util.DyeColor; import net.minecraft.util.math.BlockPos; +import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,6 +36,14 @@ public class FairySouls { private static final Map> fairySouls = new HashMap<>(); private static final Map>> foundFairies = new HashMap<>(); + public static CompletableFuture runAsyncAfterFairySoulsLoad(Runnable runnable) { + return fairySoulsLoaded.thenRunAsync(runnable); + } + + public static int getFairySoulsSize(@Nullable String location) { + return location == null ? fairySouls.values().stream().mapToInt(Set::size).sum() : fairySouls.get(location).size(); + } + public static void init() { fairySoulsLoaded = NEURepo.runAsyncAfterLoad(() -> { try { -- cgit From 0d0bd433af7f1250af27dd989b45aa7e5cab5223 Mon Sep 17 00:00:00 2001 From: Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> Date: Mon, 7 Aug 2023 17:11:38 +0800 Subject: Fix TriviaTest --- src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java index dd8f20e7..2bdfa401 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/FairySouls.java @@ -37,6 +37,10 @@ public class FairySouls { private static final Map>> foundFairies = new HashMap<>(); public static CompletableFuture runAsyncAfterFairySoulsLoad(Runnable runnable) { + if (fairySoulsLoaded == null) { + LOGGER.error("Fairy Souls have not being initialized yet! Please ensure the Fairy Souls module is initialized before modules calling this method in SkyblockerMod#onInitializeClient. This error can be safely ignore in a test environment."); + return CompletableFuture.completedFuture(null); + } return fairySoulsLoaded.thenRunAsync(runnable); } -- cgit