Помогите Выход из шедуллера runTaskTimer

SpokeKamchatka

Активный участник
Пользователь
Баллы
66
[РЕШЕНО]​
Привет
Нужно после выполнения условия в run(){} код выходил из шедуллера и шел дальше, пробовал ставить if(someboolean) return;
Но шедуллер идет дальше...

Хочу сделать что-то наподобие "Таймера для отсчета игры"

Вот, что у меня сейчас...
PHP:
Bukkit.getScheduler().runTaskTimer(this, new Runnable(){
                int k = 20;
                @Override
                public void run() {
                    k--;
                    p.playSound(p.getLocation(), Sound.BLOCK_LEVER_CLICK, 1, 1);
                    p.sendMessage(colorTranslator("&aИгра начнется через " + k + " секунд(а/у)"));
                    if(k <= 1) return;
                }
            }, 20, 20);
//colorTranslator(String) заменяет "&" на \u007a
//return не помогает...

Алекс Рендж, жду тебя : D
 
Последнее редактирование:
Ты скок раз вызываешь метод с блокировкой?) Дохрена? Сколько раз ты вызываешь бакитовский мтеод cancel() ? Та и я почти уверен то, что у тебя даже тест написан неправильно. Та и вообще я без понятия как ты мог не работать асинхроно с шедулером, ну ладно, у меня это каждый второй таск
Но если он дольше то смысл? Объясни смысл! А насчет асинхронного шедулера. Я имел ввиду, что мне нафиг не нужны блокировки, тк код в них обычно линеен и изменение происходит только лишь в начале, при запуске шедулера. Но ради вас, могу добавить ключевое слово volatile.
 
Назад
Верх