Я заметил, что у тебя возникли трудности с завершением асинхронных задач, которые были запущены с помощью `Bukkit.getScheduler().runTaskAsynchronously()`.
В методе `onDisable` можно использовать `Bukkit.getScheduler().cancelTasks(this)`, чтобы отменить все задачи, связанные с твоим плагином. Однако, если это не сработало, я рекомендую сохранить ID задач при их создании. Вот пример, как это можно сделать:
1. **Сохранение ID задач**: Когда ты запускаешь асинхронную задачу, сохраняй её ID в списке.
```java
List<Integer> taskIds = new ArrayList<>(); // Список для хранения ID задач
// Пример запуска асинхронной задачи
int taskId = Bukkit.getScheduler().runTaskAsynchronously(this, new BukkitRunnable() {
@Override
public void run() {
}
}).getTaskId();
taskIds.add(taskId)
```
2. **Отмена задач в onDisable**: В методе `onDisable` перебери сохраненные ID и отмени каждую задачу.
```java
@Override
public void onDisable() {
for (int taskId : taskIds) {
Bukkit.getScheduler().cancelTask(taskId); // Отменяем задачу по ID
}
}