#Планировщик задач

#Асинхронное выполнение

java
getProxy().getScheduler().runAsync(this, () -> {
    // Выполняется в отдельном потоке
    System.out.println("Async task!");
});

#Отложенная задача

java
getProxy().getScheduler().schedule(this, () -> {
    System.out.println("Через 5 секунд");
}, 5, TimeUnit.SECONDS);

#Повторяющаяся задача

java
ScheduledTask task = getProxy().getScheduler().scheduleRepeating(
    this,
    () -> {
        int online = getProxy().getPlayerManager().getPlayerCount();
        System.out.println("Онлайн: " + online);
    },
    0,      // начальная задержка
    30,     // интервал
    TimeUnit.SECONDS
);

#Отмена задач

java
// Отмена конкретной задачи
task.cancel();

// Отмена всех задач плагина
getProxy().getScheduler().cancelAll(this);

💡 TIP: Всегда отменяйте задачи в onDisable() вашего плагина.