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

Интервалы времени!

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

Статус темы:
Закрыта.
  1. Dymeth

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

    Баллы:
    76
    instance - экземпляр текущего плагина,
    run - выполняемый код
    delay - время, через которое Runnable выполнится первый раз (в тиках)
    period - время, через которое Runnable будет выполняться в последующие разы (опять же в тиках)
     
  2. Хостинг MineCraft
    <
  3. AtomicInteger

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

    Баллы:
    46
    Вот, почитай.
     
  4. Deamonish

    Deamonish Активный участник

    Баллы:
    61
    Для тех, кто считает. Что тики, зависят от ТПС. Написал простенькую команду. Результат на скрине.
    TPS.jpg
    Код:
    @Override
        public boolean execute(CommandSender sender, String[] args) {
            Player p = (Player) sender;
            long startTime = System.currentTimeMillis();
    
            Bukkit.getScheduler().runTaskLater(LobbyPlugin.getInstance(), () -> {
                long time = (System.currentTimeMillis() - startTime);
                double seconds = time/1000;
                p.performCommand("tps");
                Bukkit.broadcastMessage("Шедуллер выполнился за: " + seconds + " секунд.");
                Bukkit.broadcastMessage("Шедуллер выполнился за: " + time + " милисекунд.");
            }, 20);
            return false;
        }
    Можно, такое конечно же выпилить в асинхронном виде.
    Bukkit.getScheduler().runTaskLaterAsynchronously();
    Для этого руннейбла, создаст свой BukkitWorker и отдельный поток.
    Но будут небольшие проблемы с многопоточностью. К примеру, если в цикле будет итерация по непотокобезопасной коллекции, и в этот момент например в другом потоке удалят элемент из коллекции, будет ConcurrentModificationException. Парень если такое спрашивает, новичок. Ему не нужны сложные, и суперточные до милисекунд решения.
     
  5. Автор темы
    AlexMor

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

    Баллы:
    66
    Спасибо, помогли, все работает)
     
Статус темы:
Закрыта.

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