- Баллы
- 153
Прошу помощи в реализации такой фичи:
выполнять определенное действие по времени в майнкрафте.
Например, каждую полночь в мире World исполнять команду.
Обязательное условие, чтобы команда исполнялась ровно в полночь, ни тиком раньше, ни позже.
Вариант 1:
Регистрировать своё событие.
Каждый тик перебирать все зарегистрированные события и проверять совпадение времени. Если время совпало - исполняем команду.
Недостаток в том, что такой перебор будет слишком долгим и ресурсоемким.
Вариант 2:
Сутки длятся 24000 тиков. Поэтому можно запускать BukkitTask с периодом в 24000 тиков, и постоянно исполнять действие. Но вдруг кто изменит время? Тогда придется уничтожать BukkitTask, делать пересчет времени и потом запускать задачу снова. Это недостаток этого метода.
Есть ли более простой способ?
Подключаю к теме fromgate
Это был бы хороший активатор для ReActions и событие для VarScript
выполнять определенное действие по времени в майнкрафте.
Например, каждую полночь в мире World исполнять команду.
Обязательное условие, чтобы команда исполнялась ровно в полночь, ни тиком раньше, ни позже.
Вариант 1:
Регистрировать своё событие.
Каждый тик перебирать все зарегистрированные события и проверять совпадение времени. Если время совпало - исполняем команду.
Недостаток в том, что такой перебор будет слишком долгим и ресурсоемким.
Вариант 2:
Сутки длятся 24000 тиков. Поэтому можно запускать BukkitTask с периодом в 24000 тиков, и постоянно исполнять действие. Но вдруг кто изменит время? Тогда придется уничтожать BukkitTask, делать пересчет времени и потом запускать задачу снова. Это недостаток этого метода.
Есть ли более простой способ?
Подключаю к теме fromgate
Это был бы хороший активатор для ReActions и событие для VarScript
