Плагин для серверов Майнкрафт, который служит общей инфраструктурой для других плагинов. Он даёт асинхронные сервисы, обмен сообщениями между плагинами и безопасную работу на многопоточном Folia, чтобы тяжёлые операции не задерживали тики сервера.
Возможности
- Реестр сервисов с приоритетами и ожиданием регистрации через
onServiceReady, без жёсткой зависимости от порядка загрузки плагинов. - Каналы Pub/Sub и асинхронные запросы-ответы между плагинами через
RelayMessenger; прямые зависимости на.jarдругих плагинов не нужны. - Сервисы экономики с несколькими валютами и точными расчётами
BigDecimal, кулдаунов, общих типизированных данных, групп и проверки прав. - Инструменты для команд и данжей: группы, проверка союзников и отключение урона по своим.
- Сбор метрик выполнения, задержек и предупреждения о просадках производительности.
- Голограммы на сущностях
TextDisplay, виртуальные меню-сундуки с защитой от дюпа и слишком частых нажатий, уведомления в ActionBar, BossBar, всплывающих окнах и заголовках. - Табло и список игроков без мерцания: отдельные строки для каждого игрока, динамические значения, анимированные заголовки.
- Единый планировщик задач для сущностей, регионов, мира и асинхронного выполнения. При отключении использующего плагина Relay очищает его задачи, голограммы, меню, BossBar, табло, подписки и временные данные.
Команды
/relay status— показывает активные сервисы, каналы, голограммы, меню, задачи и табло./relay services— выводит зарегистрированные сервисы и их приоритеты./relay topics— показывает каналы сообщений и число подписчиков./relay metrics— выводит показатели производительности./relay metrics reset— очищает собранные метрики./relay holograms— выводит отслеживаемые голограммы и их расположение./relay menus— показывает открытые виртуальные меню./relay scoreboards— показывает активные табло./relay notify <игрок> <actionbar|bossbar|toast|title> [сообщение]— отправляет игроку тестовое уведомление.
Права
relay.admin— доступ к административным командам; по умолчанию есть у OP.
Требования
Работает на серверах Paper, Purpur и Folia. Для разработки плагинов, использующих инфраструктуру Relay, подключается модуль relay-api; ему требуется Java 21.
