Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ dependencies {
implementation(libs.nashorn)
implementation(libs.adventure.platform)
implementation(libs.adventure.minimessage)
implementation(libs.bstats)

compileOnly("org.jetbrains:annotations:23.0.0")
}
Expand All @@ -52,6 +53,7 @@ tasks {
relocate("org.objectweb.asm", "com.extendedclip.deluxemenus.libs.asm")
relocate("org.openjdk.nashorn", "com.extendedclip.deluxemenus.libs.nashorn")
relocate("net.kyori", "com.extendedclip.deluxemenus.libs.adventure")
relocate("org.bstats", "com.extendedclip.deluxemenus.libs.bstats")
archiveFileName.set("DeluxeMenus-${rootProject.version}.jar")
}
java {
Expand Down
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ mmoitems = "6.10-SNAPSHOT"
papi = "2.11.6"
score = "4.24.3.5"
sig = "1.5.0"
bstats = "3.1.0"

# Implementation
nashorn = "15.6"
Expand All @@ -37,3 +38,4 @@ sig = { module = "io.github.valerashimchuck:simpleitemgenerator-api", version.re
nashorn = { module = "org.openjdk.nashorn:nashorn-core", version.ref = "nashorn" }
adventure-platform = { module = "net.kyori:adventure-platform-bukkit", version.ref = "adventure-platform" }
adventure-minimessage = { module = "net.kyori:adventure-text-minimessage", version.ref = "adventure-minimessage" }
bstats = { module = "org.bstats:bstats-bukkit", version.ref = "bstats" }
38 changes: 32 additions & 6 deletions src/main/java/com/extendedclip/deluxemenus/DeluxeMenus.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
import com.extendedclip.deluxemenus.hooks.*;
import com.extendedclip.deluxemenus.listener.PlayerListener;
import com.extendedclip.deluxemenus.menu.Menu;
import com.extendedclip.deluxemenus.menu.MenuItem;
import com.extendedclip.deluxemenus.menu.options.HeadType;
import com.extendedclip.deluxemenus.metrics.Metrics;
import com.extendedclip.deluxemenus.menu.options.MenuOptions;
import com.extendedclip.deluxemenus.nbt.NbtProvider;
import com.extendedclip.deluxemenus.persistentmeta.PersistentMetaHandler;
import com.extendedclip.deluxemenus.placeholder.Expansion;
Expand All @@ -22,6 +23,9 @@
import com.google.common.io.ByteStreams;
import net.kyori.adventure.platform.bukkit.BukkitAudiences;
import net.kyori.adventure.text.Component;
import org.bstats.bukkit.Metrics;
import org.bstats.charts.AdvancedPie;
import org.bstats.charts.SingleLineChart;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.CommandSender;
Expand All @@ -31,11 +35,7 @@
import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.*;
import java.util.function.Function;
import java.util.logging.Level;
import java.util.stream.Collectors;
Expand Down Expand Up @@ -316,5 +316,31 @@ private void setUpUpdateChecker() {

private void setUpMetrics() {
final Metrics metrics = new Metrics(this, 445);
metrics.addCustomChart(new SingleLineChart("menus", Menu::getLoadedMenuSize));

metrics.addCustomChart(new AdvancedPie("inventory_types", () -> Menu.getAllMenus().stream()
.map(Menu::options)
.map(MenuOptions::type)
.collect(Collectors.groupingBy(Enum::name, Collectors.summingInt(type -> 1)))));

// added for 1.21 usage
metrics.addCustomChart(new AdvancedPie("nbt_usage", () -> {
final var results = new HashMap<String, Integer>();
final var options = Menu.getAllMenus().stream()
.map(Menu::getMenuItems)
.flatMap(c -> c.values().stream().map(TreeMap::values).flatMap(Collection::stream))
.map(MenuItem::options)
.collect(Collectors.toList());
results.put("Byte", options.stream().filter(option -> option.nbtByte().isPresent()).mapToInt(b -> 1).sum());
results.put("Bytes", options.stream().filter(option -> !option.nbtBytes().isEmpty()).mapToInt(b -> 1).sum());
results.put("Short", options.stream().filter(option -> option.nbtShort().isPresent()).mapToInt(s -> 1).sum());
results.put("Shorts", options.stream().filter(option -> !option.nbtShorts().isEmpty()).mapToInt(s -> 1).sum());
results.put("Int", options.stream().filter(option -> option.nbtInt().isPresent()).mapToInt(i -> 1).sum());
results.put("Ints", options.stream().filter(option -> !option.nbtInts().isEmpty()).mapToInt(i -> 1).sum());
results.put("String", options.stream().filter(option -> option.nbtString().isPresent()).mapToInt(s -> 1).sum());
results.put("Strings", options.stream().filter(option -> !option.nbtStrings().isEmpty()).mapToInt(s -> 1).sum());
results.put("Model Data", options.stream().filter(option -> option.customModelData().isPresent()).mapToInt(c -> 1).sum());
return results;
}));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,8 @@ public void run() {
break;

case PLAYER:
player.chat("/" + executable);
break;

case PLAYER_COMMAND_EVENT:
Bukkit.getPluginManager().callEvent(new PlayerCommandPreprocessEvent(player, "/" + executable));
player.chat("/" + executable);
break;

case PLACEHOLDER:
Expand Down
Loading
Loading