Совместимость BetterFood
Целевые платформы
Текущий репозиторий нацелен на:
- Версия плагина:
1.5.0 - Bukkit
api-version:1.21.4 - Цель сборки Spigot API:
26.2-R0.1-SNAPSHOT - Java:
21
Команды
Плагин использует:
/betterfood/bf
Подкоманды для игроков сосредоточены на переключении:
- автоматического поедания (
toggleEatingили просто/betterfoodбез аргументов) - сообщений обратной связи о потреблении в панели действий (
toggleMessage)
Админские подкоманды (требуют betterfood.admin) предоставляют общий инструментарий Nightbreak:
setup— открывает внутриигровое меню настройкиrecommendedplugins— показывает плагины, которые хорошо сочетаются с BetterFood. Сейчас у BetterFood нет записей в общем каталоге рекомендаций, поэтому открывается пустое меню с сообщением о том, что дополнительных рекомендаций пока нет (отправители из консоли получают то же примечание в чате)downloadpluginupdate/downloadall— загружает обновление плагина, если оно доступноdownloadallcontent— сообщает, что у BetterFood нет пакетов контента
Автодополнение фильтруется по разрешениям и по уже введённому тексту: toggleEating и toggleMessage предлагаются только отправителям с betterfood.user, а downloadpluginupdate, downloadallcontent, setup и recommendedplugins — только отправителям с betterfood.admin. Принимаемый псевдоним downloadall намеренно не предлагается. Оба переключателя игрока доступны только игрокам — явные подкоманды toggleEating / toggleMessage отказывают отправителям-не-игрокам сообщением «BetterFood settings can only be changed in-game.», тогда как голая команда /betterfood перенаправляет отправителей из консоли к команде обновления. Игроку без betterfood.user сообщается, что у него нет разрешения изменять настройки BetterFood. Нераспознанная подкоманда или более одного аргумента приводят к выводу строки с описанием использования, и сама эта строка учитывает разрешения: администраторы видят полный список, все остальные — только два переключателя.
Общие команды MagmaCore
Поскольку общий инструментарий MagmaCore встроен, BetterFood также регистрирует эти команды при загрузке — но только если их ещё никто не занял, поэтому на сервере, где уже работает другой плагин MagmaGuy, ими владеет первый загрузившийся плагин, а BetterFood записывает в лог, что пропускает регистрацию:
/nightbreak plugins— просмотр каталога плагинов: в виде меню в игре и в виде списка в чате из консоли (nightbreak.plugins, по умолчаниюop). Голая команда/nightbreakтолько выводит строку с описанием использования./nightbreaklogin <token>и/nightbreaklogout— подключают и отключают общий токен аккаунта Nightbreak (nightbreak.login, по умолчаниюop)/logify— загружает текущий лог сервера на mclo.gs (logify.*, по умолчаниюop)/betterfoodchangelog [dismiss|disable]— показывает непрочитанные заметки о выпусках BetterFood. Эта команда снабжена пространством имён для каждого плагина, поэтому конфликтов не возникает; если/betterfoodchangelogвсё же занята, используется запасное имя видаbetterfood:betterfoodchangelog.
Команда просмотра изменений доступна только администраторам и только в игре: отправителям без админского разрешения (или из консоли) она отвечает «This command is only available to plugin administrators in-game.» Игрок считается администратором, если он op либо имеет betterfood.admin или betterfood.*. Администраторам также напоминают о непрочитанных заметках о выпусках вскоре после входа, если только они не выполнили /betterfoodchangelog disable. Состояние «прочитано/скрыто» хранится для каждого игрока в plugins/BetterFood/nightbreak-changelogs.yml.
Об общем потоке смотрите Токены Nightbreak, Настройка Nightbreak и Уведомления о списке изменений.
Разрешения
betterfood.user(по умолчаниюtrue) — управляет обработчиком автоматического поедания и переключателями игрока.betterfood.admin(по умолчаниюop) — управляет загрузкой обновления плагина, меню настройки и командой рекомендуемых плагинов. Также считается админским разрешением для команды просмотра изменений.nightbreak.plugins,nightbreak.loginиlogify.*(все по умолчаниюop) — регистрируются встроенным инструментарием MagmaCore для перечисленных выше общих команд и не объявлены вplugin.ymlсамого BetterFood.
Прочие интеграции
- Включена статистика bStats (id плагина
4557) — отключите глобально через конфигурацию bStats, если хотите отказаться от сбора данных. - BetterFood теперь поставляется с общим инструментарием MagmaCore. Он создаёт
config.ymlс переключателемnightbreak.autoDownloadPluginUpdates(по умолчаниюfalse) — это единственный ключ, который BetterFood сам добавляет вconfig.yml, — и проверяетnightbreak.ioна наличие более новой версии через несколько минут после загрузки (задержка разнесена по плагинам, чтобы несколько плагинов MagmaGuy не обращались наружу одновременно), а затем примерно раз в час. Результаты записываются в лог только при изменении, поэтому консоль не засоряется каждый час. BetterFood не передаёт идентификатор ресурса SpigotMC, и в его записи каталога его тоже нет, поэтому резервного варианта с версией SpigotMC не существует. - Операторы, заходящие на сервер, когда доступно обновление, получают через несколько секунд после входа сообщение в чат со ссылкой на страницу загрузки. Оно отправляется при каждом входе, пока установленная версия отстаёт.
- Токен аккаунта хранится вне папки плагина, в общем файле
plugins/MagmaCore/nightbreak.yml, поэтому одной привязки достаточно для всех плагинов MagmaGuy на сервере. - Никаких внешних зависимостей от плагинов; логика еды прослушивает только ванильное событие
FoodLevelChangeEvent.