From 3fcae6ca459ba021ce9c1ee07dd5a432dfef6a89 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Tue, 27 Jun 2023 13:47:35 +0200 Subject: [PATCH] Tries to fix a stack trace when Dynmap fails to disable itself --- .../net/knarcraft/stargate/config/DynmapManager.java | 3 ++- .../net/knarcraft/stargate/config/StargateConfig.java | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/knarcraft/stargate/config/DynmapManager.java b/src/main/java/net/knarcraft/stargate/config/DynmapManager.java index 5eaa0c9..c6cd645 100644 --- a/src/main/java/net/knarcraft/stargate/config/DynmapManager.java +++ b/src/main/java/net/knarcraft/stargate/config/DynmapManager.java @@ -27,8 +27,9 @@ public final class DynmapManager { * Initializes the dynmap manager * * @param dynmapAPI

A reference

+ * @throws NullPointerException

If dynmap has an invalid state

*/ - public static void initialize(DynmapAPI dynmapAPI) { + public static void initialize(DynmapAPI dynmapAPI) throws NullPointerException { if (dynmapAPI == null || dynmapAPI.getMarkerAPI() == null) { markerSet = null; portalIcon = null; diff --git a/src/main/java/net/knarcraft/stargate/config/StargateConfig.java b/src/main/java/net/knarcraft/stargate/config/StargateConfig.java index 2616be9..98f2f34 100644 --- a/src/main/java/net/knarcraft/stargate/config/StargateConfig.java +++ b/src/main/java/net/knarcraft/stargate/config/StargateConfig.java @@ -108,8 +108,13 @@ public final class StargateConfig { setupVaultEconomy(); DynmapAPI dynmapAPI = (DynmapAPI) Bukkit.getPluginManager().getPlugin("dynmap"); if (dynmapAPI != null) { - DynmapManager.initialize(dynmapAPI); - DynmapManager.addAllPortalMarkers(); + try { + DynmapManager.initialize(dynmapAPI); + DynmapManager.addAllPortalMarkers(); + } catch (NullPointerException exception) { + logger.warning("Dynmap started in an invalid state. Check your log/console for dynmap-related " + + "problems. Dynmap integration cannot be initialized."); + } } this.isLoaded = true;