diff --git a/BlueMapSponge/build.gradle b/BlueMapSponge/build.gradle index 86ca97db..47ca2c35 100644 --- a/BlueMapSponge/build.gradle +++ b/BlueMapSponge/build.gradle @@ -1,5 +1,5 @@ dependencies { - shadow "org.spongepowered:spongeapi:7.2.0-SNAPSHOT" + shadow "org.spongepowered:spongeapi:7.1.0-SNAPSHOT" compile group: 'org.bstats', name: 'bstats-sponge-lite', version: '1.5' compile project(':BlueMapCore') } \ No newline at end of file diff --git a/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/Commands.java b/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/Commands.java index 16043009..2fcb69ac 100644 --- a/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/Commands.java +++ b/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/Commands.java @@ -83,6 +83,14 @@ public class Commands { .build(); } + public CommandSpec createStandaloneReloadCommand() { + return CommandSpec.builder() + .description(Text.of("BlueMaps root command")) + .childArgumentParseExceptionFallback(false) + .child(createReloadCommand(), "reload") + .build(); + } + public CommandSpec createReloadCommand() { return CommandSpec.builder() .description(Text.of("Reloads all resources and configuration-files")) diff --git a/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/SpongePlugin.java b/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/SpongePlugin.java index 2790169d..87cb6efc 100644 --- a/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/SpongePlugin.java +++ b/BlueMapSponge/src/main/java/de/bluecolored/bluemap/sponge/SpongePlugin.java @@ -34,7 +34,6 @@ import java.nio.file.Path; import java.util.Collection; import java.util.HashMap; import java.util.Map; -import java.util.Optional; import java.util.UUID; import java.util.concurrent.TimeUnit; import java.util.zip.GZIPInputStream; @@ -50,9 +49,7 @@ import org.spongepowered.api.event.game.GameReloadEvent; import org.spongepowered.api.event.game.state.GameStartingServerEvent; import org.spongepowered.api.event.game.state.GameStoppingEvent; import org.spongepowered.api.plugin.Plugin; -import org.spongepowered.api.plugin.PluginContainer; import org.spongepowered.api.scheduler.SpongeExecutorService; -import org.spongepowered.api.util.Tristate; import com.flowpowered.math.vector.Vector2i; import com.google.common.collect.Lists; @@ -140,6 +137,11 @@ public class SpongePlugin { if (!defaultResourceFile.exists()) { handleMissingResources(defaultResourceFile, configFile); + unload(); + + //only register reload command + Sponge.getCommandManager().register(this, new Commands(this).createStandaloneReloadCommand(), "bluemap"); + return; } @@ -246,15 +248,10 @@ public class SpongePlugin { //metrics Sponge.getScheduler().createTaskBuilder() .async() - .delay(0, TimeUnit.MINUTES) + .delay(1, TimeUnit.MINUTES) .interval(30, TimeUnit.MINUTES) .execute(() -> { - Optional plugin = Sponge.getPluginManager().fromInstance(this); - if (!plugin.isPresent()) return; - - Tristate metricsEnabled = Sponge.getMetricsConfigManager().getCollectionState(plugin.get()); - if (metricsEnabled == Tristate.UNDEFINED) metricsEnabled = Sponge.getMetricsConfigManager().getGlobalCollectionState(); - if (metricsEnabled == Tristate.TRUE) Metrics.sendReport("Sponge"); + if (Sponge.getMetricsConfigManager().areMetricsEnabled(this)) Metrics.sendReport("Sponge"); }) .submit(this);