Помогите Как сделать чтобы каждые 30 секунд выводило сообщение всем

  • Автор темы Автор темы Welester
  • Дата начала Дата начала

Welester

Участник
Пользователь
Баллы
36
Имя в Minecraft
Welester
Вот мне надо чтобы каждые 30 секунд выводило сообщение, можно так сделать?
 
Код:
//создаем таймер
BukkitRunnable  timer = new BukkitRunnable() {
            @Override
            public void run() {
              //выполняем код, посылаем сообщения
                Bukkit.broadcastMessage("TEST");
              //рекамендую удалить таймер после срабатывания дабы не занимать оп. память.          
              // Это если у таймера нету time2
              timer.cansel();
              timer = null;
                }

        };
//запускаем таймер
timer.runTaskLater(this, time, time2);
//где
//this plugin
//time время первого срабатывания.
//time2 интервал срабатываний(можно не указывать, таймер сработает 1 раз.)

//Остановить таймер
timer.cancel();

//удалить таймер, дабы не занимал оп. память.
timer = null;

Таймер работает в тиках 20 тиков = 1 секунда.
 
Последнее редактирование:
Код:
@Oveeride
public void onEnable()
{
Main$1 scheduler = new Main$1();
scheduler.runTaskTimer(this, 0L, 20L);
//20L - одна секунда
}
В классе Main$1
Код:
public class Main$1 extends BukkitRunnable;

@Override
public void run()
{
Bukkit.broadcastMessage("Сообщение"));
}
 
Код:
@Oveeride
public void onEnable()
{
Main$1 scheduler = new Main$1();
scheduler.runTaskTimer(this, 0L, 20L);
//20L - одна секунда
}
В классе Main$1
Код:
public class Main$1 extends BukkitRunnable;

@Override
public void run()
{
Bukkit.broadcastMessage("Сообщение"));
}
Прекращай давать вредные советы.
 
//20L - одна секунда
Обьясните нубу зачем L пишется? Я же могу просто 20 написать без L, и работать будет....

Такую же хрень видел в Location. Где можно просто числа указать, но зачем то L приписывают. Или D

Я так понимаю что этими буквами мы компилятору говорим, какое число хотим отправить цельное или дробное? Например int или dooble.
 
Последнее редактирование:
Обьясните нубу зачем L пишется? Я же могу просто 20 написать без L, и работать будет....

Такую же хрень видел в Location. Где можно просто числа указать, но зачем то L приписывают. Или D

Я так понимаю что этими буквами мы компилятору говорим, какое число хотим отправить цельное или дробное? Например int или dooble.
Хз, читал где-то на форумах баккита. Там и нашел этот код, по сей день использую его в своих плагинах. Не знаю, что не нравится @Dereku
 
Да нафиг ваще иза таймера отдельный класс писать? Если там дофига таймеров тогда ладно. А так нафиг надо...
 
BukkitRunnable timer = new BukkitRunnable() {
@Override
public void run() {
// ...
}
Упс, это скомпилировалось в отдельный класс (анонимный).
class Main$1 extends BukkitRunnable
Другое дело, что нет причин начинающему программисту ввязываться в эти дебри и вообще думать про такое.
 
Я так понимаю что этими буквами мы компилятору говорим, какое число хотим отправить цельное или дробное? Например int или dooble.
Long - целочисленное, оно можнт быть преобразовано в int и обратно, чтобы их отличать пишут L https://ru.m.wikibooks.org/wiki/Jav...B2.D0.BD.D1.8B.D0.B5_.D1.82.D0.B8.D0.BF.D1.8B
 
Ты показал муть, которые делают декомпиляторы. На самом деле это пишется далеко не так.
Обьясните нубу зачем L пишется? Я же могу просто 20 написать без L, и работать будет....

Такую же хрень видел в Location. Где можно просто числа указать, но зачем то L приписывают. Или D

Я так понимаю что этими буквами мы компилятору говорим, какое число хотим отправить цельное или дробное? Например int или dooble.
Это для того, чтобы указать явный тип числа. Конечно, можно и без него, но когда ты начинаешь работать с числами тебе приходится указывать их тип, если ты их не будешь объявлять в переменных.
 
Последнее редактирование:
Упс, это скомпилировалось в отдельный класс (анонимный).

Другое дело, что нет причин начинающему программисту ввязываться в эти дебри и вообще думать про такое.
По этому я всегда создаю шедулеру отдельный класс, не люблю эту кашу с д$лларами.
P.s BukkitRunnable разве не зависит от тпс сервера? Может получится больше 20ти секунд при сдутом тпс.
 
Последнее редактирование:
По этому я всегда создаю шедулеру отдельный класс, не люблю эту кашу с д$лларами.
Начинать какой-то код всё-таки IMHO проще с внутренних и анонимных классов, и лично меня $... никак не напрягают, но с ростом любого проекта всегда наступает время to be refactored... :)
В общем, это личный выбор каждого, как ему нравится, результат в любом случае рабочий =)
 
Начинать какой-то код всё-таки IMHO проще с внутренних и анонимных классов, и лично меня $... никак не напрягают, но с ростом любого проекта всегда наступает время to be refactored... :)
В общем, это личный выбор каждого, как ему нравится, результат в любом случае рабочий =)
А мне нравиться, когда у всех классов свои имена, а не class$1 class$2 .. class$10 class$хренотень.
 
Назад
Верх