From dac29b384920a13bd9d42af5c3d81c4746eaee0b Mon Sep 17 00:00:00 2001 From: Sn0wStorm Date: Thu, 17 Jan 2019 16:37:55 +0100 Subject: [PATCH] Added a few Metrics Charts --- src/com/dre/brewery/BPlayer.java | 4 ++++ src/com/dre/brewery/P.java | 36 ++++++++++++++++++++++++++++++-- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/com/dre/brewery/BPlayer.java b/src/com/dre/brewery/BPlayer.java index 30f5569..aca7864 100644 --- a/src/com/dre/brewery/BPlayer.java +++ b/src/com/dre/brewery/BPlayer.java @@ -119,6 +119,10 @@ public class BPlayer { players.remove(P.playerString(player)); } + public static int numDrunkPlayers() { + return players.size(); + } + public void remove() { for (Map.Entry entry : players.entrySet()) { if (entry.getValue() == this) { diff --git a/src/com/dre/brewery/P.java b/src/com/dre/brewery/P.java index 33401a2..1a93e41 100644 --- a/src/com/dre/brewery/P.java +++ b/src/com/dre/brewery/P.java @@ -96,8 +96,40 @@ public class P extends JavaPlugin { // Setup Metrics try { - new Metrics(this); - } catch (Exception e) { + Metrics metrics = new Metrics(this); + metrics.addCustomChart(new Metrics.SingleLineChart("drunk_players", BPlayer::numDrunkPlayers)); + metrics.addCustomChart(new Metrics.SingleLineChart("brews_in_existence", () -> Brew.potions.size())); + metrics.addCustomChart(new Metrics.SingleLineChart("barrels_built", () -> Barrel.barrels.size())); + metrics.addCustomChart(new Metrics.SingleLineChart("cauldrons_boiling", () -> BCauldron.bcauldrons.size())); + metrics.addCustomChart(new Metrics.AdvancedPie("brew_quality", () -> { + Map map = new HashMap<>(); + int exc = 0; + int good = 0; + int norm = 0; + int bad = 0; + int terr = 0; + for (Brew brew : Brew.potions.values()) { + if (brew.getQuality() >= 9) { + exc++; + } else if (brew.getQuality() >= 7) { + good++; + } else if (brew.getQuality() >= 5) { + norm++; + } else if (brew.getQuality() >= 3) { + bad++; + } else { + terr++; + } + } + + map.put("excellent", exc); + map.put("good", good); + map.put("normal", norm); + map.put("bad", bad); + map.put("terrible", terr); + return map; + })); + } catch (Throwable e) { e.printStackTrace(); }