diff --git a/src/main/java/org/mvplugins/multiverse/netherportals/BstatsMetricsConfigurator.java b/src/main/java/org/mvplugins/multiverse/netherportals/BstatsMetricsConfigurator.java new file mode 100644 index 0000000..9f8d1f6 --- /dev/null +++ b/src/main/java/org/mvplugins/multiverse/netherportals/BstatsMetricsConfigurator.java @@ -0,0 +1,17 @@ +package org.mvplugins.multiverse.netherportals; + +import org.jvnet.hk2.annotations.Service; +import org.mvplugins.multiverse.external.bstats.bukkit.Metrics; +import org.mvplugins.multiverse.external.jakarta.inject.Inject; + +@Service +final class BstatsMetricsConfigurator { + + private static final int PLUGIN_ID = 7766; + private final Metrics metrics; + + @Inject + private BstatsMetricsConfigurator(MultiverseNetherPortals plugin) { + this.metrics = new Metrics(plugin, PLUGIN_ID); + } +} diff --git a/src/main/java/org/mvplugins/multiverse/netherportals/MultiverseNetherPortals.java b/src/main/java/org/mvplugins/multiverse/netherportals/MultiverseNetherPortals.java index 35073eb..a2c516d 100644 --- a/src/main/java/org/mvplugins/multiverse/netherportals/MultiverseNetherPortals.java +++ b/src/main/java/org/mvplugins/multiverse/netherportals/MultiverseNetherPortals.java @@ -20,6 +20,7 @@ import org.mvplugins.multiverse.core.command.MVCommandManager; import org.mvplugins.multiverse.external.jakarta.inject.Inject; import org.mvplugins.multiverse.external.jakarta.inject.Provider; +import org.mvplugins.multiverse.external.vavr.control.Try; import org.mvplugins.multiverse.netherportals.utils.customportals.CustomPortalsHandler; public class MultiverseNetherPortals extends MultiverseModule { @@ -38,6 +39,8 @@ public class MultiverseNetherPortals extends MultiverseModule { private Provider commandCompletionsProvider; @Inject private Provider customPortalsHandlerProvider; + @Inject + private Provider metricsConfiguratorProvider; @Override public void onLoad() { @@ -63,6 +66,7 @@ public void onEnable() { commandCompletionsProvider.get(); this.registerCommands(NetherPortalsCommand.class); this.registerDynamicListeners(MVNPListener.class); + this.setupMetrics(); MultiverseNetherPortalsApi.init(this); Logging.config("Version %s (API v%s) Enabled - By %s", @@ -81,6 +85,17 @@ private boolean setupConfig() { && links.isLoaded(); } + /** + * Setup bstats Metrics. + */ + private void setupMetrics() { + Try.of(() -> metricsConfiguratorProvider.get()) + .onFailure(e -> { + Logging.severe("Failed to setup metrics"); + e.printStackTrace(); + }); + } + @Override public void onDisable() { MultiverseNetherPortalsApi.shutdown();