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

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

Discussion in 'Разработка плагинов для новичков' started by waterwalker, Nov 15, 2016.

Thread Status:
Not open for further replies.
  1. Автор темы
    waterwalker

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

    Trophy Points:
    61
    Имя в Minecraft:
    SeemsGood
    Столкнулся с проблемой:
    Мне нужно запустить таймер из одного класса. Затем, нужно его отменить в другом классе. После этого мне нужно опять запустить этот же таймер. Как это сделать?
    1 класс:
    Code:
    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 класс:
    Code:
    public class onBreak implements Listener {
    @EventHandler
    public void onBreak(BlockBreakEvent e) {
    //Здесь должна быть отмена таймера, при этом, если произойдет событие, описанное в первом классе, ошибку не выдаст и будет нормально работать.
    }
    
    }
    
    Заранее спасибо.

    З.Ы.
    <...> - некий код.
     
  2. Хостинг MineCraft
    <
  3. xDark

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

    Trophy Points:
    96
    Skype:
    ailyashevich
    Имя в Minecraft:
    xDark
    boolean
     
  4. Автор темы
    waterwalker

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

    Trophy Points:
    61
    Имя в Minecraft:
    SeemsGood
    Можно пример? Не совсем понимаю, что Вы имеете ввиду.[DOUBLEPOST=1479227357,1479222121][/DOUBLEPOST]Up!
     
  5. DonDays

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

    Trophy Points:
    96
    Имя в Minecraft:
    DonDays
    WTF? 1 класс на евент?
    BukkitTask
     
  6. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    cancel() не?
     
  7. Автор темы
    waterwalker

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

    Trophy Points:
    61
    Имя в Minecraft:
    SeemsGood
    При повторном запуске таймера выдает ошибку если cancel[DOUBLEPOST=1479232159,1479232090][/DOUBLEPOST]
    Пример можно, пожалуйста...
     
  8. alexandrage

    alexandrage Администратор

    Trophy Points:
    173
    Skype:
    alexandr0116
    Ну так тебе его нужно по новой определить, таймер t = new таймер() t.schedule
     
    Last edited: Nov 16, 2016
  9. DonDays

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

    Trophy Points:
    96
    Имя в Minecraft:
    DonDays
    new BukkitRunnable()?
     
  10. Автор темы
    waterwalker

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

    Trophy Points:
    61
    Имя в Minecraft:
    SeemsGood
    Всем спасибо, реализовал через BukkitRunnable с условием. Тогда и выключать не надо.
     
Thread Status:
Not open for further replies.

Share This Page