forked from stefatorus/LagAssist
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.5 KiB
80 lines
2.5 KiB
3 years ago
|
package com.entryrise.lagassist.cmd;
|
||
4 years ago
|
|
||
|
import java.text.DecimalFormat;
|
||
|
|
||
|
import org.bukkit.Bukkit;
|
||
|
import org.bukkit.World;
|
||
|
import org.bukkit.entity.Player;
|
||
|
import org.bukkit.event.EventHandler;
|
||
|
import org.bukkit.event.EventPriority;
|
||
|
import org.bukkit.event.Listener;
|
||
|
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
|
||
|
|
||
3 years ago
|
import com.entryrise.lagassist.Main;
|
||
|
import com.entryrise.lagassist.Monitor;
|
||
|
import com.entryrise.lagassist.minebench.SpecsGetter;
|
||
|
|
||
4 years ago
|
import net.md_5.bungee.api.chat.ComponentBuilder;
|
||
|
import net.md_5.bungee.api.chat.HoverEvent;
|
||
|
import net.md_5.bungee.api.chat.TextComponent;
|
||
|
|
||
|
public class StatsAnalyse implements Listener {
|
||
|
|
||
|
public static void Enabler(boolean reload) {
|
||
|
if (!reload) {
|
||
|
Main.p.getServer().getPluginManager().registerEvents(new StatsAnalyse(), Main.p);
|
||
|
}
|
||
|
Bukkit.getLogger().info(" §e[§a✔§e] §fStatsAnalyse.");
|
||
|
}
|
||
|
|
||
|
public static TextComponent genOverview() {
|
||
|
String msgstrg = Main.PREFIX + "Hover over this message for a lag overview.";
|
||
|
TextComponent msg = new TextComponent(msgstrg);
|
||
|
|
||
|
int ent = 0, chk = 0;
|
||
|
|
||
|
for (World w : Bukkit.getWorlds()) {
|
||
|
ent += w.getEntities().size();
|
||
|
chk += w.getLoadedChunks().length;
|
||
|
}
|
||
|
|
||
|
DecimalFormat df = new DecimalFormat("0.000");
|
||
|
|
||
|
int crs = SpecsGetter.threadCount();
|
||
|
double load = SpecsGetter.getSystemLoad();
|
||
|
|
||
|
String crstg = String.valueOf(crs);
|
||
|
if (crs == -1) {
|
||
|
crstg = "NOT AVAILABLE";
|
||
|
}
|
||
|
|
||
|
String loadstg = df.format(load);
|
||
|
if (load == -1) {
|
||
|
crstg = "NOT AVAILABLE";
|
||
|
}
|
||
|
|
||
|
String stats = "\n\n §c✸ §fExact TPS: §c" + df.format(Monitor.exactTPS) + "\n\n §c✸ §fEntities: §c"
|
||
|
+ String.valueOf(ent) + "\n §c✸ §fLoaded Chunks: §c" + String.valueOf(chk)
|
||
|
+ "\n\n §c✸ §fFree Memory: §c" + String.valueOf(Monitor.freeMEM()) + "MB"
|
||
|
+ "\n §c✸ §fCPU Cores: §c" + crstg + "\n §c✸ §fLoad Average: §c" + loadstg
|
||
|
+ "\n §c✸ §fDisk Space: §c" + String.valueOf((Main.p.getDataFolder().getUsableSpace() / 1073741824))
|
||
|
+ "GB\n";
|
||
|
|
||
|
msg.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder(stats).create()));
|
||
|
return msg;
|
||
|
}
|
||
|
|
||
|
@EventHandler(priority = EventPriority.HIGH)
|
||
|
public void onTpsCmd(PlayerCommandPreprocessEvent e) {
|
||
|
Player p = e.getPlayer();
|
||
|
if (!p.hasPermission("lagassist.use")) {
|
||
|
return;
|
||
|
}
|
||
|
String cmd = e.getMessage();
|
||
|
if (cmd.startsWith("/tps")) {
|
||
|
p.spigot().sendMessage(genOverview());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|