Помогите Таймер в BlockBreakEvent или BlockPlaceEvent

  • Автор темы Автор темы Jony
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Jony

Ньюби
Баллы
1
Имя в Minecraft
_Jony
Здрасте, я заметил что таймер for или white не работают при использовании BlockBreakEvent или BlockPlaceEvent
как можно сделать таймер в этих Евентах, вот скрипт:

@EventHandler
public void onDestroy(BlockBreakEvent p){
if(p.getBlock().getType() != Material.DIAMOND_BLOCK)return;
for(int i = 0;i < 10;i++){
p.getPlayer().sendMessage(""+i);
}
}
 
А никого не смутило, что он for и while назвал таймерами?
 
Это циклы, а не таймеры, и 10 повторов он сделает за ~0.01 ms
 
Здрасте, я заметил что таймер for или white не работают при использовании BlockBreakEvent или BlockPlaceEvent
как можно сделать таймер в этих Евентах, вот скрипт:

@EventHandler
public void onDestroy(BlockBreakEvent p){
if(p.getBlock().getType() != Material.DIAMOND_BLOCK)return;
for(int i = 0;i < 10;i++){
p.getPlayer().sendMessage(""+i);
}
}
Это не таймеры, если тебе нужен таймер юзай BukkitRunnable

Пример:

Код:
public class Sample extends BukkitRunnable {
    private int i;
    public void run() {
        Bukkit.broadcastMessage("Какой нибудь текст. " + i);
        i++;
    }
}

Чтобы запустить:
Код:
BukkitTask task = new Sample().runTaskTimer(plugin, 0L, 20 * 10);
т.е если ты запускаешь таймер который повторяется каждые 10 секунд.

Чтобы остановить: task.cancel();
 
Хм... Наверное, тебе помогут шедулер if и логический оператор public.
 
P.S. Я уверен, что ты даже класс-слушатель не зарегистрировал.
 
public class Sample extends BukkitRunnable {
private int i;
public void run() {
Bukkit.broadcastMessage("Какой нибудь текст. " + i);
i++;
}
}

BukkitTask task = new Sample().runTaskTimer(plugin, 0L, 20 * 10);


Да, ещё присобачь к этому reload server и будет ваще отлично!
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх