Kredwi Опубликовано 16 августа, 2024 Поделиться Опубликовано 16 августа, 2024 Как в методе onDisable завершить все асинхронные таски которые запустил мой плагин, я запускал их с помощью: Bukkit.getScheduler().runTaskAsynchronously(Plugin, BukkitRunnable); Почему-то вот это: Bukkit.getScheduler().cancelTasks(this); Не работает. Возможно ли это? Есть ли специальный метод? Или обязательно нужно сохранять ID-тасков? Ссылка на комментарий Поделиться на другие сайты Поделиться
De1fy Опубликовано 24 сентября, 2024 Поделиться Опубликовано 24 сентября, 2024 Я заметил, что у тебя возникли трудности с завершением асинхронных задач, которые были запущены с помощью `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 } } Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 24 сентября, 2024 Поделиться Опубликовано 24 сентября, 2024 @De1fy Ты это у телеграммного ChatGPT спрашивал? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 3 сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти