Войти или зарегистрироваться

Помогите Scheduler не выключается

Статус
Закрыто для дальнейших ответов.

Shockwave

Старожил
Пользователь
Баллы
103
Вот код
Код:
Bukkit.getScheduler().runTaskTimer(plugin, new BukkitRunnable(){
  int st = Utils.st.get(pd.getName());
        @Override
        public void run(){
        pd.sendMessage(""+st);
        st++;
        byte[] bytes = new byte[st];
        pd.sendPluginMessage(plugin, "st", bytes);
        if(st == 10)
        {
        Utils.st.put(pd.getName(), 10);
        byte[] bytes2 = new byte[me];
        pd.sendPluginMessage(plugin, "st", bytes2);
        this.cancel();
        return;}
            
}}, 60L, 30L);
Когда st доходит до 10 консоль выкидывает ошибку что не может выключить таск и таск продолжает дальше бесконечно.
Ошибка: java.lang.IllegalStateException: Not scheduled yet
Прошу помочь
 
Нельзя остановить его изнутри. Используйте Bukkit.getScheduler().getTaskByID(id).cancel(). Id берётся из getTaskId() из BukkitTask которую возвращает runTaskTimer().
 
Нельзя остановить его изнутри. Используйте Bukkit.getScheduler().getTaskByID(id).cancel(). Id берётся из getTaskId() из BukkitTask которую возвращает runTaskTimer().
Спасибо, я вот еще слышал есть такой таск который свой айди возвращает
 
Нельзя остановить его изнутри. Используйте Bukkit.getScheduler().getTaskByID(id).cancel(). Id берётся из getTaskId() из BukkitTask которую возвращает runTaskTimer().

Ээ, как это нельзя? В документации написан пример, который сам себя выключает после 10 тиков.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх