mirror of
https://github.com/DieReicheErethons/Brewery.git
synced 2025-02-16 01:11:19 +01:00
Added some more Custom Metrics Charts
This commit is contained in:
parent
32b6c3c4b1
commit
3b9f9ae26d
@ -173,7 +173,7 @@ public class BIngredients {
|
||||
}
|
||||
brew.save(potionMeta);
|
||||
potion.setItemMeta(potionMeta);
|
||||
P.p.metricsForCreate(brew);
|
||||
P.p.metricsForCreate(false);
|
||||
|
||||
return potion;
|
||||
}
|
||||
|
@ -156,6 +156,7 @@ public class BPlayer {
|
||||
if (brew.hasRecipe()) {
|
||||
brew.getCurrentRecipe().applyDrinkFeatures(player);
|
||||
}
|
||||
P.p.metricsForDrink(brew);
|
||||
|
||||
int brewAlc = drinkEvent.getAddedAlcohol();
|
||||
int quality = drinkEvent.getQuality();
|
||||
|
@ -729,7 +729,7 @@ public class Brew implements Cloneable {
|
||||
}
|
||||
save(potionMeta);
|
||||
potion.setItemMeta(potionMeta);
|
||||
P.p.metricsForCreate(this);
|
||||
P.p.metricsForCreate(true);
|
||||
return potion;
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ import com.dre.brewery.recipe.BRecipe;
|
||||
import com.dre.brewery.utility.BUtil;
|
||||
import com.dre.brewery.utility.LegacyUtil;
|
||||
import org.apache.commons.lang.math.NumberUtils;
|
||||
import org.bstats.bukkit.Metrics;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Material;
|
||||
@ -22,6 +23,8 @@ import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class P extends JavaPlugin {
|
||||
public static P p;
|
||||
@ -47,7 +50,8 @@ public class P extends JavaPlugin {
|
||||
|
||||
// Metrics
|
||||
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
|
||||
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("cauldrons_boiling", () -> BCauldron.bcauldrons.size()));
|
||||
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("good", good);
|
||||
map.put("normal", norm);
|
||||
@ -354,6 +358,13 @@ public class P extends JavaPlugin {
|
||||
map.put("terrible", terr);
|
||||
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", () -> {
|
||||
int recipes = BRecipe.getAllRecipes().size();
|
||||
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) {
|
||||
e.printStackTrace();
|
||||
}*/
|
||||
@ -519,9 +587,16 @@ public class P extends JavaPlugin {
|
||||
return p;
|
||||
}
|
||||
|
||||
public void metricsForCreate(Brew brew) {
|
||||
public void metricsForCreate(boolean byCmd) {
|
||||
if (brewsCreated == Integer.MAX_VALUE) return;
|
||||
brewsCreated++;
|
||||
if (byCmd) {
|
||||
if (brewsCreatedCmd == Integer.MAX_VALUE) return;
|
||||
brewsCreatedCmd++;
|
||||
}
|
||||
}
|
||||
|
||||
public void metricsForDrink(Brew brew) {
|
||||
if (brew.getQuality() >= 9) {
|
||||
exc++;
|
||||
} else if (brew.getQuality() >= 7) {
|
||||
|
@ -50,16 +50,17 @@ public class BData {
|
||||
Brew.loadPrevSeeds(data);
|
||||
|
||||
List<Integer> brewsCreated = data.getIntegerList("brewsCreated");
|
||||
if (brewsCreated != null && brewsCreated.size() == 6) {
|
||||
if (brewsCreated != null && brewsCreated.size() == 7) {
|
||||
int hash = data.getInt("brewsCreatedH");
|
||||
// Check the hash to prevent tampering with statistics
|
||||
if (brewsCreated.hashCode() == hash) {
|
||||
P.p.brewsCreated = brewsCreated.get(0);
|
||||
P.p.exc = brewsCreated.get(1);
|
||||
P.p.good = brewsCreated.get(2);
|
||||
P.p.norm = brewsCreated.get(3);
|
||||
P.p.bad = brewsCreated.get(4);
|
||||
P.p.terr = brewsCreated.get(5);
|
||||
P.p.brewsCreatedCmd = brewsCreated.get(1);
|
||||
P.p.exc = brewsCreated.get(2);
|
||||
P.p.good = brewsCreated.get(3);
|
||||
P.p.norm = brewsCreated.get(4);
|
||||
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
|
||||
if (P.p.brewsCreated <= 0) {
|
||||
P.p.brewsCreated = 0;
|
||||
P.p.brewsCreatedCmd = 0;
|
||||
P.p.exc = 0;
|
||||
P.p.good = 0;
|
||||
P.p.norm = 0;
|
||||
@ -133,7 +135,7 @@ public class BData {
|
||||
P.p.terr = 0;
|
||||
if (!Brew.noLegacy()) {
|
||||
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);
|
||||
|
||||
List<Integer> brewsCreated = new ArrayList<>(6);
|
||||
List<Integer> brewsCreated = new ArrayList<>(7);
|
||||
brewsCreated.add(P.p.brewsCreated);
|
||||
brewsCreated.add(P.p.brewsCreatedCmd);
|
||||
brewsCreated.add(P.p.exc);
|
||||
brewsCreated.add(P.p.good);
|
||||
brewsCreated.add(P.p.norm);
|
||||
|
Loading…
Reference in New Issue
Block a user