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");
+ }
+
+}