1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как выключить таймер, чтобы его можно было потом запустить?

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

Статус темы:
Закрыта.
  1. Автор темы
    waterwalker

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

    Баллы:
    61
    Имя в Minecraft:
    TheSeems
    Столкнулся с проблемой:
    Мне нужно запустить таймер из одного класса. Затем, нужно его отменить в другом классе. После этого мне нужно опять запустить этот же таймер. Как это сделать?
    1 класс:
    Код:
    public class OnMove implements Listener {
    public static java.util.Timer tim = new Timer();
    @EventHandler
    public void onMove(PlayerMoveEvent e){
    <...>
    TimerTask a = new TimerTask() {
    @Override
    public void run() {
    b.getWorld().playEffect(b.getLocation().add(0.5,1,0.5), Effect.valueOf(getCfg().getString(name+".Effect")), var1);
    //Вызов частиц. b - Блок
    };
    tim.schedule(a, 0, nb.getInt("Delay"));
    }
    
    }
    
    2 класс:
    Код:
    public class onBreak implements Listener {
    @EventHandler
    public void onBreak(BlockBreakEvent e) {
    //Здесь должна быть отмена таймера, при этом, если произойдет событие, описанное в первом классе, ошибку не выдаст и будет нормально работать.
    }
    
    }
    
    Заранее спасибо.

    З.Ы.
    <...> - некий код.
     
  2. xDark

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

    Баллы:
    96
    boolean
     
  3. Автор темы
    waterwalker

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

    Баллы:
    61
    Имя в Minecraft:
    TheSeems
    Можно пример? Не совсем понимаю, что Вы имеете ввиду.
    Up!
     
  4. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    WTF? 1 класс на евент?
    BukkitTask
     
  5. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    cancel() не?
     
  6. Автор темы
    waterwalker

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

    Баллы:
    61
    Имя в Minecraft:
    TheSeems
    При повторном запуске таймера выдает ошибку если cancel
    Пример можно, пожалуйста...
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну так тебе его нужно по новой определить, таймер t = new таймер() t.schedule
     
    Последнее редактирование: 16 ноя 2016
  8. DonDays

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

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    new BukkitRunnable()?
     
  9. Автор темы
    waterwalker

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

    Баллы:
    61
    Имя в Minecraft:
    TheSeems
    Всем спасибо, реализовал через BukkitRunnable с условием. Тогда и выключать не надо.
     
Статус темы:
Закрыта.

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