diff --git a/litemod/gradle.properties b/litemod/gradle.properties index 90cc4a5..5c562e6 100644 --- a/litemod/gradle.properties +++ b/litemod/gradle.properties @@ -1,7 +1,7 @@ name=Synapse description=Civ player utilities projectGroup=gjum.minecraft.civ.synapse -version=2.0.0-beta10 +version=2.0.0-beta11 mcVersion=1.12.2 mcMappings=snapshot_20180101 forgeGradleVersion=2.3-SNAPSHOT diff --git a/litemod/src/main/java/gjum/minecraft/civ/synapse/LiteModSynapse.java b/litemod/src/main/java/gjum/minecraft/civ/synapse/LiteModSynapse.java index d0beea5..156aacb 100644 --- a/litemod/src/main/java/gjum/minecraft/civ/synapse/LiteModSynapse.java +++ b/litemod/src/main/java/gjum/minecraft/civ/synapse/LiteModSynapse.java @@ -225,6 +225,7 @@ private void onModDeactivated() { player.setGlowing(false); } } + if (waypointManager != null) waypointManager.updateAllWaypoints(); comms.disconnect(); } diff --git a/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/MultiWaypoint.java b/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/MultiWaypoint.java index 8933ed7..f1c7429 100644 --- a/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/MultiWaypoint.java +++ b/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/MultiWaypoint.java @@ -139,10 +139,12 @@ public void updateMapWaypoints() { final EntityPlayer player = getMc().world.getPlayerEntityByName(account); hiddenForNearby = player != null; + final boolean modActive = LiteModSynapse.instance.isModActive(); + final GlobalConfig globalConfig = LiteModSynapse.instance.config; try { if (isJourneyMapLoaded()) { - if (globalConfig.isUseJourneyMap()) { + if (modActive && globalConfig.isUseJourneyMap()) { JourneyMapHelper.updateWaypoint(this); } else { JourneyMapHelper.deleteWaypoint(this); @@ -154,7 +156,7 @@ public void updateMapWaypoints() { try { if (isVoxelMapActive()) { - if (globalConfig.isUseVoxelMap()) { + if (modActive && globalConfig.isUseVoxelMap()) { VoxelMapHelper.updateWaypoint(this); } else { VoxelMapHelper.deleteWaypoint(this); diff --git a/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/WaypointManager.java b/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/WaypointManager.java index aa2c387..d3faa50 100644 --- a/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/WaypointManager.java +++ b/litemod/src/main/java/gjum/minecraft/civ/synapse/integrations/WaypointManager.java @@ -143,6 +143,18 @@ public void updateAllWaypoints() { } } + /** + * e.g. when mod is disabled + */ + public void deleteAllWaypoints() { + for (MultiWaypoint point : managedAccountWaypoints.values()) { + point.deleteMapWaypoints(); + } + for (MultiWaypoint point : managedPearlWaypoints.values()) { + point.deleteMapWaypoints(); + } + } + @Override public void handlePersonChange(@Nullable Person personOld, @Nullable Person personNew) { if (personOld != null) {