Плагин для серверов Майнкрафт на Folia, который помогает запускать обычные плагины Paper, Bukkit и Spigot без изменения их исходного кода. Он заменяет устаревшие вызовы планировщика задач на механики Folia, исправляет синхронные телепортации и повторно пытается загрузить пропущенные при запуске плагины с учётом зависимостей.
Возможности
- Принимает плагины без отметки
folia-supported: true. - Перенаправляет старые вызовы
Bukkit.getScheduler()иBukkitRunnableна планировщики Folia: синхронные задачи выполняются в Global Region, асинхронные — черезAsyncScheduler. - Заменяет синхронный
Entity.teleport()наteleportAsync(), когда это необходимо. - Загружает пропущенные плагины в порядке зависимостей
depend,softdependиloadbefore, а при поздней ошибке повторяет попытку. - Выводит структурированные сообщения запуска с метками
[OK],[!!]и[XX].
Команды
/universalfolia status— показывает состояние агента, режим работы, обработанные классы и загруженные плагины./universalfolia rescue— вручную повторяет загрузку пропущенных плагинов.
Права
universalfolia.admin— доступ к командам; по умолчанию есть у операторов сервера.
Настройка
Настройки находятся в конфигурации плагина:
console-colors— цветные ANSI-сообщения в консоли.auto-attach— автоматическое подключение Java-агента, если параметр-javaagentне указан.rescue.enabled— восстановление пропущенных при запуске плагинов.rescue.instant— ранняя попытка загрузки, до регистрации расширений PlaceholderAPI.rescue.delay-ticks— задержка для повторных попыток и загрузки приrescue.instant: false.
Для первоочередного запуска агента в аргументы JVM добавляют -javaagent:plugins/UniversalFolia-x.x.jar. Если просто поместить файл плагина в папку plugins, он пытается подключить агент самостоятельно.
Требования
Работает на Folia и безопасно загружается на Paper, где слой совместимости планировщика не вмешивается в работу сервера. Нужна Java 21 или новее.
Ограничения Folia сохраняются: нельзя создавать миры во время работы сервера; плагины, читающие блоки за пределами своего региона, остаются ограничены архитектурой Folia. Плейсхолдеры, запрошенные из асинхронного контекста, могут получить неактуальные данные игрока или мира.
