protected void sendLagMeter(CommandSender sender) { String wrapColor = white.toString(); if (sender instanceof Player) wrapColor = gold.toString(); String lagMeter = ""; float tps = 0f; if (useAverage) { tps = history.getAverage(); } else { tps = ticksPerSecond; } if (tps < 21) { int looped = 0; while (looped++ < tps) { lagMeter += "#"; } // lagMeter = String.format("%-20s",lagMeter); lagMeter += white; while (looped++ <= 20) { lagMeter += "_"; } } else { sender.sendMessage(wrapColor + "LagMeter just loaded, please wait for polling."); return; } String color = wrapColor; if (tps >= 20) { color = green.toString(); } else if (tps >= 18) { color = green.toString(); } else if (tps >= 15) { color = yellow.toString(); } else { color = red.toString(); } sender.sendMessage(wrapColor + "[" + color + lagMeter + wrapColor + "] " + tps + " TPS"); if (displayEntities) { int totalEntities = 0; List<World> worlds = getServer().getWorlds(); for (World world : worlds) { String worldName = world.getName(); int i = getServer().getWorld(worldName).getEntities().size(); totalEntities += i; sender.sendMessage(wrapColor + "Entities in world \"" + worldName + "\": " + i); } sender.sendMessage(wrapColor + "Total entities: " + totalEntities); } }
@Override public void onEnable() { pdfFile = this.getDescription(); LagMeterConfig.loadConfig(); vault = checkVault(); if (!logsFolder.exists() && useLogsFolder && enableLogging) { info("Logs folder not found. Creating one for you."); logsFolder.mkdir(); if (!logsFolder.exists()) { severe("Error! Couldn't create the folder!"); } else { info("Logs folder created."); } } if (enableLogging) { poller.setLogInterval(logInterval); if (!logger.enable()) { severe("Logging is disabled because: " + logger.getError()); } } history.setMaxSize(averageLength); getServer().getScheduler().scheduleSyncRepeatingTask(this, poller, 0, interval); if (checkVault()) { info("Vault hooked successfully."); vault = true; setupPermissions(); } else { info("You don't have Vault. Defaulting to OP/Non-OP system."); } String loggingMessage = enableLogging ? "Logging to " + logger.getFilename() : ""; info("Enabled! Polling every " + interval + " server ticks." + loggingMessage); if (AutomaticLagNotificationsEnabled) lwTaskID = Bukkit.getServer() .getScheduler() .scheduleAsyncRepeatingTask( this, new LagWatcher(), lagNotifyInterval * 1200, lagNotifyInterval * 1200); else lwTaskID = -1; if (AutomaticMemoryNotificationsEnabled) mwTaskID = Bukkit.getServer() .getScheduler() .scheduleAsyncRepeatingTask( this, new MemoryWatcher(), memNotifyInterval * 1200, memNotifyInterval * 1200); else mwTaskID = -1; }
/** * Gets the ticks per second. * * @since 1.8 * @return ticksPerSecond */ public float getTPS() { if (useAverage) return history.getAverage(); return ticksPerSecond; }