diff --git a/pom.xml b/pom.xml index 2ed375a..e35fcb7 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,30 @@ MobArena + + + org.apache.maven.plugins + maven-shade-plugin + 3.1.0 + + false + true + + + org.bstats + com.garbagemule.MobArena.metrics + + + + + + package + + shade + + + + @@ -54,6 +78,11 @@ vault-repo http://nexus.hc.to/content/repositories/pub_releases + + + bstats-repo + http://repo.bstats.org/content/repositories/releases/ + @@ -73,6 +102,13 @@ provided + + org.bstats + bstats-bukkit + 1.2 + compile + + com.nisovin diff --git a/src/main/java/com/garbagemule/MobArena/MobArena.java b/src/main/java/com/garbagemule/MobArena/MobArena.java index d990f05..60f950d 100644 --- a/src/main/java/com/garbagemule/MobArena/MobArena.java +++ b/src/main/java/com/garbagemule/MobArena/MobArena.java @@ -5,11 +5,15 @@ import com.garbagemule.MobArena.framework.Arena; import com.garbagemule.MobArena.framework.ArenaMaster; import com.garbagemule.MobArena.listeners.MAGlobalListener; import com.garbagemule.MobArena.listeners.MagicSpellsListener; +import com.garbagemule.MobArena.metrics.ArenaCountChart; +import com.garbagemule.MobArena.metrics.ClassCountChart; +import com.garbagemule.MobArena.metrics.VaultChart; import com.garbagemule.MobArena.things.ThingManager; import com.garbagemule.MobArena.util.VersionChecker; import com.garbagemule.MobArena.util.config.ConfigUtils; import com.garbagemule.MobArena.waves.ability.AbilityManager; import net.milkbowl.vault.economy.Economy; +import org.bstats.bukkit.Metrics; import org.bukkit.ChatColor; import org.bukkit.configuration.InvalidConfigurationException; import org.bukkit.configuration.file.FileConfiguration; @@ -87,6 +91,9 @@ public class MobArena extends JavaPlugin // Register event listeners registerListeners(); + // Setup bStats metrics + setupMetrics(); + // Announce enable! getLogger().info("v" + this.getDescription().getVersion() + " enabled."); @@ -224,6 +231,13 @@ public class MobArena extends JavaPlugin getLogger().info("MagicSpells found, loading config-file."); this.getServer().getPluginManager().registerEvents(new MagicSpellsListener(this), this); } + + private void setupMetrics() { + Metrics metrics = new Metrics(this); + metrics.addCustomChart(new VaultChart(this)); + metrics.addCustomChart(new ArenaCountChart(this)); + metrics.addCustomChart(new ClassCountChart(this)); + } private void loadAbilities() { File dir = new File(this.getDataFolder(), "abilities"); diff --git a/src/main/java/com/garbagemule/MobArena/metrics/ArenaCountChart.java b/src/main/java/com/garbagemule/MobArena/metrics/ArenaCountChart.java new file mode 100644 index 0000000..b415cda --- /dev/null +++ b/src/main/java/com/garbagemule/MobArena/metrics/ArenaCountChart.java @@ -0,0 +1,18 @@ +package com.garbagemule.MobArena.metrics; + +import com.garbagemule.MobArena.MobArena; +import org.bstats.bukkit.Metrics; + +public class ArenaCountChart extends Metrics.SimplePie { + + public ArenaCountChart(MobArena plugin) { + super("arena_count", () -> { + int count = plugin.getArenaMaster().getArenas().size(); + if (count < 10) { + return String.valueOf(count); + } + return "10+"; + }); + } + +} diff --git a/src/main/java/com/garbagemule/MobArena/metrics/ClassCountChart.java b/src/main/java/com/garbagemule/MobArena/metrics/ClassCountChart.java new file mode 100644 index 0000000..46f78c8 --- /dev/null +++ b/src/main/java/com/garbagemule/MobArena/metrics/ClassCountChart.java @@ -0,0 +1,19 @@ +package com.garbagemule.MobArena.metrics; + +import com.garbagemule.MobArena.MobArena; +import org.bstats.bukkit.Metrics; + +public class ClassCountChart extends Metrics.SimplePie { + + public ClassCountChart(MobArena plugin) { + super("class_count", () -> { + // We don't count "My Items", so subtract 1 + int count = plugin.getArenaMaster().getClasses().size() - 1; + if (count < 10) { + return String.valueOf(count); + } + return "10+"; + }); + } + +} diff --git a/src/main/java/com/garbagemule/MobArena/metrics/VaultChart.java b/src/main/java/com/garbagemule/MobArena/metrics/VaultChart.java new file mode 100644 index 0000000..3ad5be3 --- /dev/null +++ b/src/main/java/com/garbagemule/MobArena/metrics/VaultChart.java @@ -0,0 +1,12 @@ +package com.garbagemule.MobArena.metrics; + +import com.garbagemule.MobArena.MobArena; +import org.bstats.bukkit.Metrics; + +public class VaultChart extends Metrics.SimplePie { + + public VaultChart(MobArena plugin) { + super("uses_vault", () -> plugin.getEconomy() != null ? "Yes" : "No"); + } + +}