Помогите Получение TPS сервера командой [Решено]

  • Автор темы Автор темы vmpr
  • Дата начала Дата начала

vmpr

Активный участник
Пользователь
Баллы
61
Имя в Minecraft
vmpr
Здравствуйте, друзья!
Мне нужно получать TPS сервера своей командой
Как можно это сделать?
Мне нужен только код получения TPS
Пожалуйста, помогите.
 
Спасибо! Гуглил часа два, но запросы писал по-другому..
Сейчас пробую код с самой первой ссылки, отпишусь
Спасибо!
По первой же ссылке нашел код!
Сам код, может быть кому поможет:
Код:
package ru.simple48.tps;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class tpsCommand extends JavaPlugin implements Listener{
    @Override
    public void onDisable()
    {
        getServer().getScheduler().cancelTasks(this);
    }
    @Override
    public void onEnable()
        {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
        }
          public static int TICK_COUNT= 0;
          public static long[] TICKS= new long[600];
          public static long LAST_TICK= 0L;
        
          public static double getTPS()
          {
            return getTPS(100);
          }
        
          public static double getTPS(int ticks)
          {
            if (TICK_COUNT< ticks) {
              return 20.0D;
            }
            int target = (TICK_COUNT- 1 - ticks) % TICKS.length;
            long elapsed = System.currentTimeMillis() - TICKS[target];
        
            return ticks / (elapsed / 1000.0D);
          }
        
          public static long getElapsed(int tickID)
          {
            if (TICK_COUNT- tickID >= TICKS.length)
            {
            }
        
            long time = TICKS[(tickID % TICKS.length)];
            return System.currentTimeMillis() - time;
          }
        
          public void run()
          {
            TICKS[(TICK_COUNT% TICKS.length)] = System.currentTimeMillis();
        
            TICK_COUNT+= 1;
          }
    public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
        if(cmd.getName().equalsIgnoreCase("stats")){
            double tps = getTPS();
            double lag = Math.round((1.0D - tps / 20.0D) * 100.0D);
            sender.sendMessage("TPS = " + tps + " Lag = " + lag);
        }
        return true;
    }
}
 
Назад
Верх