From c2ab3dd8b2e509861a9a69b2568675e609a9e378 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Wed, 6 Mar 2024 13:57:31 +0100 Subject: [PATCH] Fixes the problem with Dynmap disabling Stargate --- .../stargate/config/DynmapManager.java | 8 +++++++ .../stargate/config/StargateConfig.java | 22 ++++++++++++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/knarcraft/stargate/config/DynmapManager.java b/src/main/java/net/knarcraft/stargate/config/DynmapManager.java index 67b015f..dbbf1cd 100644 --- a/src/main/java/net/knarcraft/stargate/config/DynmapManager.java +++ b/src/main/java/net/knarcraft/stargate/config/DynmapManager.java @@ -131,6 +131,14 @@ public final class DynmapManager { } } + /** + * Disables Dynmap integration + */ + public static void disable() { + markerSet = null; + portalIcon = null; + } + /** * Gets the id used for the given portal's marker * diff --git a/src/main/java/net/knarcraft/stargate/config/StargateConfig.java b/src/main/java/net/knarcraft/stargate/config/StargateConfig.java index 7a0004d..169a7eb 100644 --- a/src/main/java/net/knarcraft/stargate/config/StargateConfig.java +++ b/src/main/java/net/knarcraft/stargate/config/StargateConfig.java @@ -112,15 +112,21 @@ public final class StargateConfig { setupVaultEconomy(); //Set up dynmap - DynmapAPI dynmapAPI = (DynmapAPI) Bukkit.getPluginManager().getPlugin("dynmap"); - if (dynmapAPI != null) { - 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."); + try { + DynmapAPI dynmapAPI = (DynmapAPI) Bukkit.getPluginManager().getPlugin("dynmap"); + if (dynmapAPI != null) { + try { + DynmapManager.initialize(dynmapAPI); + DynmapManager.addAllPortalMarkers(); + } catch (NullPointerException ignored) { + logger.warning("Dynmap started in an invalid state. Check your log/console for dynmap-related " + + "problems. Dynmap integration cannot be initialized."); + } } + } catch (NoClassDefFoundError error) { + logger.warning("Dynmap seems to be unavailable, even though its API is registered. Dynmap " + + "integration is disabled."); + DynmapManager.disable(); } this.isLoaded = true;