From 3dc1afde7e792f72e81887b0d7e383a2a5708819 Mon Sep 17 00:00:00 2001 From: NuclearW Date: Fri, 22 Feb 2013 01:08:37 -0500 Subject: [PATCH] Add graph to see if any config values have been changed from the default, or if a server is 100% vanilla configs --- .../gmail/nossr50/config/ConfigLoader.java | 9 +++++++ .../nossr50/util/metrics/MetricsManager.java | 26 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/main/java/com/gmail/nossr50/config/ConfigLoader.java b/src/main/java/com/gmail/nossr50/config/ConfigLoader.java index ceb305d54..fa6dcacde 100644 --- a/src/main/java/com/gmail/nossr50/config/ConfigLoader.java +++ b/src/main/java/com/gmail/nossr50/config/ConfigLoader.java @@ -16,6 +16,7 @@ import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.metrics.MetricsManager; public abstract class ConfigLoader { protected static final mcMMO plugin = mcMMO.p; @@ -129,6 +130,14 @@ public abstract class ConfigLoader { e.printStackTrace(); } } + else { + for (String key : configKeys) { + if (!config.isConfigurationSection(key) && !config.get(key).equals(internalConfig.get(key))) { + MetricsManager.customConfig(); + break; + } + } + } } protected abstract void loadKeys(); diff --git a/src/main/java/com/gmail/nossr50/util/metrics/MetricsManager.java b/src/main/java/com/gmail/nossr50/util/metrics/MetricsManager.java index 79b08827a..ababef612 100644 --- a/src/main/java/com/gmail/nossr50/util/metrics/MetricsManager.java +++ b/src/main/java/com/gmail/nossr50/util/metrics/MetricsManager.java @@ -22,6 +22,8 @@ public class MetricsManager { private static Tracker chimeraUseTracker; private static Tracker chimeraServerUseTracker; + private static boolean customConfig = false; + private static DataTracker tracker; private static EMetrics emetrics; @@ -220,6 +222,26 @@ public class MetricsManager { }); } + // Vanilla v Modified config graph + Graph customConfigGraph = metrics.createGraph("Modified Configs"); + + if (customConfig) { + customConfigGraph.addPlotter(new Metrics.Plotter("Edited") { + @Override + public int getValue() { + return 1; + } + }); + } + else { + customConfigGraph.addPlotter(new Metrics.Plotter("Vanilla") { + @Override + public int getValue() { + return 1; + } + }); + } + /* Debug stuff tracker = emetrics.getDataTracker(); tracker.enable(); @@ -239,6 +261,10 @@ public class MetricsManager { chimeraServerUseTracker.increment(); } + public static void customConfig() { + customConfig = true; + } + @SuppressWarnings("unused") private static void debug() { emetrics.getMetrics().flush();