Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

Тема в разделе "Разработка плагинов для новичков", создана пользователем vmpr, 26 май 2016.

  1. Автор темы
    vmpr

    vmpr Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    vmpr
    Здравствуйте, друзья!
    Мне нужно получать TPS сервера своей командой
    Как можно это сделать?
    Мне нужен только код получения TPS
    Пожалуйста, помогите.
     
  2. Хостинг MineCraft
    <
  3. MrTrojan

    MrTrojan Активный участник Пользователь

    Баллы:
    98
    Skype:
    mrtrojan.ru
    Имя в Minecraft:
    MrTrojan
  4. Автор темы
    vmpr

    vmpr Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    vmpr
    Спасибо! Гуглил часа два, но запросы писал по-другому..
    Сейчас пробую код с самой первой ссылки, отпишусь[DOUBLEPOST=1464259835,1464259659][/DOUBLEPOST]
    Спасибо!
    По первой же ссылке нашел код!
    Сам код, может быть кому поможет:
    Код:
    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;
        }
    }
    
     

Поделиться этой страницей