mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 06:38:56 +00:00
Added some more Custom Metrics Charts
This commit is contained in:
@@ -173,7 +173,7 @@ public class BIngredients {
|
|||||||
}
|
}
|
||||||
brew.save(potionMeta);
|
brew.save(potionMeta);
|
||||||
potion.setItemMeta(potionMeta);
|
potion.setItemMeta(potionMeta);
|
||||||
P.p.metricsForCreate(brew);
|
P.p.metricsForCreate(false);
|
||||||
|
|
||||||
return potion;
|
return potion;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -156,6 +156,7 @@ public class BPlayer {
|
|||||||
if (brew.hasRecipe()) {
|
if (brew.hasRecipe()) {
|
||||||
brew.getCurrentRecipe().applyDrinkFeatures(player);
|
brew.getCurrentRecipe().applyDrinkFeatures(player);
|
||||||
}
|
}
|
||||||
|
P.p.metricsForDrink(brew);
|
||||||
|
|
||||||
int brewAlc = drinkEvent.getAddedAlcohol();
|
int brewAlc = drinkEvent.getAddedAlcohol();
|
||||||
int quality = drinkEvent.getQuality();
|
int quality = drinkEvent.getQuality();
|
||||||
|
|||||||
@@ -729,7 +729,7 @@ public class Brew implements Cloneable {
|
|||||||
}
|
}
|
||||||
save(potionMeta);
|
save(potionMeta);
|
||||||
potion.setItemMeta(potionMeta);
|
potion.setItemMeta(potionMeta);
|
||||||
P.p.metricsForCreate(this);
|
P.p.metricsForCreate(true);
|
||||||
return potion;
|
return potion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.dre.brewery.recipe.BRecipe;
|
|||||||
import com.dre.brewery.utility.BUtil;
|
import com.dre.brewery.utility.BUtil;
|
||||||
import com.dre.brewery.utility.LegacyUtil;
|
import com.dre.brewery.utility.LegacyUtil;
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
|
import org.bstats.bukkit.Metrics;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@@ -22,6 +23,8 @@ import org.bukkit.event.HandlerList;
|
|||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class P extends JavaPlugin {
|
public class P extends JavaPlugin {
|
||||||
public static P p;
|
public static P p;
|
||||||
@@ -47,7 +50,8 @@ public class P extends JavaPlugin {
|
|||||||
|
|
||||||
// Metrics
|
// Metrics
|
||||||
public int brewsCreated;
|
public int brewsCreated;
|
||||||
public int exc, good, norm, bad, terr;
|
public int brewsCreatedCmd; // Created by command
|
||||||
|
public int exc, good, norm, bad, terr; // Brews drunken with quality
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
@@ -346,7 +350,7 @@ public class P extends JavaPlugin {
|
|||||||
metrics.addCustomChart(new Metrics.SingleLineChart("barrels_built", () -> Barrel.barrels.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.SingleLineChart("cauldrons_boiling", () -> BCauldron.bcauldrons.size()));
|
||||||
metrics.addCustomChart(new Metrics.AdvancedPie("brew_quality", () -> {
|
metrics.addCustomChart(new Metrics.AdvancedPie("brew_quality", () -> {
|
||||||
Map<String, Integer> map = new HashMap<>(5);
|
Map<String, Integer> map = new HashMap<>(8);
|
||||||
map.put("excellent", exc);
|
map.put("excellent", exc);
|
||||||
map.put("good", good);
|
map.put("good", good);
|
||||||
map.put("normal", norm);
|
map.put("normal", norm);
|
||||||
@@ -354,6 +358,13 @@ public class P extends JavaPlugin {
|
|||||||
map.put("terrible", terr);
|
map.put("terrible", terr);
|
||||||
return map;
|
return map;
|
||||||
}));
|
}));
|
||||||
|
metrics.addCustomChart(new Metrics.AdvancedPie("brews_created", () -> {
|
||||||
|
Map<String, Integer> map = new HashMap<>(4);
|
||||||
|
map.put("by command", brewsCreatedCmd);
|
||||||
|
map.put("brewing", brewsCreated - brewsCreatedCmd);
|
||||||
|
return map;
|
||||||
|
}));
|
||||||
|
|
||||||
metrics.addCustomChart(new Metrics.SimplePie("number_of_recipes", () -> {
|
metrics.addCustomChart(new Metrics.SimplePie("number_of_recipes", () -> {
|
||||||
int recipes = BRecipe.getAllRecipes().size();
|
int recipes = BRecipe.getAllRecipes().size();
|
||||||
if (recipes < 7) {
|
if (recipes < 7) {
|
||||||
@@ -374,6 +385,63 @@ public class P extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}));
|
}));
|
||||||
|
metrics.addCustomChart(new Metrics.SimplePie("v2_mc_version", () -> {
|
||||||
|
String mcv = Bukkit.getBukkitVersion();
|
||||||
|
mcv = mcv.substring(0, mcv.indexOf('.', 2));
|
||||||
|
if (mcv.matches("^\\d\\.\\d{1,2}$")) {
|
||||||
|
// Start, digit, dot, 1-2 digits, end
|
||||||
|
return mcv;
|
||||||
|
} else {
|
||||||
|
return "undef";
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
metrics.addCustomChart(new Metrics.DrilldownPie("plugin_mc_version", () -> {
|
||||||
|
Map<String, Map<String, Integer>> map = new HashMap<>(3);
|
||||||
|
String mcv = Bukkit.getBukkitVersion();
|
||||||
|
mcv = mcv.substring(0, mcv.indexOf('.', 2));
|
||||||
|
if (mcv.matches("^\\d\\.\\d{1,2}$")) {
|
||||||
|
// Start, digit, dot, 1-2 digits, end
|
||||||
|
mcv = "MC " + mcv;
|
||||||
|
} else {
|
||||||
|
mcv = "undef";
|
||||||
|
}
|
||||||
|
Map<String, Integer> innerMap = new HashMap<>(3);
|
||||||
|
innerMap.put(mcv, 1);
|
||||||
|
map.put(getDescription().getVersion(), innerMap);
|
||||||
|
return map;
|
||||||
|
}));
|
||||||
|
metrics.addCustomChart(new Metrics.SimplePie("language", () -> language));
|
||||||
|
metrics.addCustomChart(new Metrics.SimplePie("config_scramble", () -> BConfig.enableEncode ? "enabled" : "disabled"));
|
||||||
|
metrics.addCustomChart(new Metrics.SimplePie("config_lore_color", () -> {
|
||||||
|
if (BConfig.colorInBarrels) {
|
||||||
|
if (BConfig.colorInBrewer) {
|
||||||
|
return "both";
|
||||||
|
} else {
|
||||||
|
return "in barrels";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (BConfig.colorInBrewer) {
|
||||||
|
return "in distiller";
|
||||||
|
} else {
|
||||||
|
return "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
metrics.addCustomChart(new Metrics.SimplePie("config_always_show", () -> {
|
||||||
|
if (BConfig.alwaysShowQuality) {
|
||||||
|
if (BConfig.alwaysShowAlc) {
|
||||||
|
return "both";
|
||||||
|
} else {
|
||||||
|
return "quality stars";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (BConfig.alwaysShowAlc) {
|
||||||
|
return "alc content";
|
||||||
|
} else {
|
||||||
|
return "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}));
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}*/
|
}*/
|
||||||
@@ -519,9 +587,16 @@ public class P extends JavaPlugin {
|
|||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void metricsForCreate(Brew brew) {
|
public void metricsForCreate(boolean byCmd) {
|
||||||
if (brewsCreated == Integer.MAX_VALUE) return;
|
if (brewsCreated == Integer.MAX_VALUE) return;
|
||||||
brewsCreated++;
|
brewsCreated++;
|
||||||
|
if (byCmd) {
|
||||||
|
if (brewsCreatedCmd == Integer.MAX_VALUE) return;
|
||||||
|
brewsCreatedCmd++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void metricsForDrink(Brew brew) {
|
||||||
if (brew.getQuality() >= 9) {
|
if (brew.getQuality() >= 9) {
|
||||||
exc++;
|
exc++;
|
||||||
} else if (brew.getQuality() >= 7) {
|
} else if (brew.getQuality() >= 7) {
|
||||||
|
|||||||
@@ -50,16 +50,17 @@ public class BData {
|
|||||||
Brew.loadPrevSeeds(data);
|
Brew.loadPrevSeeds(data);
|
||||||
|
|
||||||
List<Integer> brewsCreated = data.getIntegerList("brewsCreated");
|
List<Integer> brewsCreated = data.getIntegerList("brewsCreated");
|
||||||
if (brewsCreated != null && brewsCreated.size() == 6) {
|
if (brewsCreated != null && brewsCreated.size() == 7) {
|
||||||
int hash = data.getInt("brewsCreatedH");
|
int hash = data.getInt("brewsCreatedH");
|
||||||
// Check the hash to prevent tampering with statistics
|
// Check the hash to prevent tampering with statistics
|
||||||
if (brewsCreated.hashCode() == hash) {
|
if (brewsCreated.hashCode() == hash) {
|
||||||
P.p.brewsCreated = brewsCreated.get(0);
|
P.p.brewsCreated = brewsCreated.get(0);
|
||||||
P.p.exc = brewsCreated.get(1);
|
P.p.brewsCreatedCmd = brewsCreated.get(1);
|
||||||
P.p.good = brewsCreated.get(2);
|
P.p.exc = brewsCreated.get(2);
|
||||||
P.p.norm = brewsCreated.get(3);
|
P.p.good = brewsCreated.get(3);
|
||||||
P.p.bad = brewsCreated.get(4);
|
P.p.norm = brewsCreated.get(4);
|
||||||
P.p.terr = brewsCreated.get(5);
|
P.p.bad = brewsCreated.get(5);
|
||||||
|
P.p.terr = brewsCreated.get(6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,6 +127,7 @@ public class BData {
|
|||||||
// Store how many legacy brews were created
|
// Store how many legacy brews were created
|
||||||
if (P.p.brewsCreated <= 0) {
|
if (P.p.brewsCreated <= 0) {
|
||||||
P.p.brewsCreated = 0;
|
P.p.brewsCreated = 0;
|
||||||
|
P.p.brewsCreatedCmd = 0;
|
||||||
P.p.exc = 0;
|
P.p.exc = 0;
|
||||||
P.p.good = 0;
|
P.p.good = 0;
|
||||||
P.p.norm = 0;
|
P.p.norm = 0;
|
||||||
@@ -133,7 +135,7 @@ public class BData {
|
|||||||
P.p.terr = 0;
|
P.p.terr = 0;
|
||||||
if (!Brew.noLegacy()) {
|
if (!Brew.noLegacy()) {
|
||||||
for (Brew brew : Brew.legacyPotions.values()) {
|
for (Brew brew : Brew.legacyPotions.values()) {
|
||||||
P.p.metricsForCreate(brew);
|
P.p.metricsForCreate(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,8 +61,9 @@ public class DataSave extends BukkitRunnable {
|
|||||||
|
|
||||||
Brew.writePrevSeeds(configFile);
|
Brew.writePrevSeeds(configFile);
|
||||||
|
|
||||||
List<Integer> brewsCreated = new ArrayList<>(6);
|
List<Integer> brewsCreated = new ArrayList<>(7);
|
||||||
brewsCreated.add(P.p.brewsCreated);
|
brewsCreated.add(P.p.brewsCreated);
|
||||||
|
brewsCreated.add(P.p.brewsCreatedCmd);
|
||||||
brewsCreated.add(P.p.exc);
|
brewsCreated.add(P.p.exc);
|
||||||
brewsCreated.add(P.p.good);
|
brewsCreated.add(P.p.good);
|
||||||
brewsCreated.add(P.p.norm);
|
brewsCreated.add(P.p.norm);
|
||||||
|
|||||||
Reference in New Issue
Block a user