Compatibilidade do BetterFood
Alvos de Execução
O repositório atual tem como alvo:
- Versão do plugin:
1.5.0 - Bukkit
api-version:1.21.4 - Alvo de compilação Spigot API:
26.2-R0.1-SNAPSHOT - Java:
21
Comandos
O plugin usa:
/betterfood/bf
Os subcomandos voltados para o jogador focam em alternar:
- alimentação automática (
toggleEating, ou apenas/betterfoodsem argumentos) - mensagens de feedback de consumo na barra de ação (
toggleMessage)
Os subcomandos de administrador (requerem betterfood.admin) expõem as ferramentas compartilhadas do Nightbreak:
setup— abre o menu de configuração dentro do jogorecommendedplugins— mostra plugins que combinam bem com BetterFood. Atualmente o BetterFood não tem nenhuma entrada no catálogo compartilhado de recomendações, então isso abre um menu vazio e avisa que não há recomendações extras no momento (remetentes de console recebem o mesmo aviso em forma de chat)downloadpluginupdate/downloadall— baixa uma atualização do plugin se houver uma disponíveldownloadallcontent— informa que BetterFood não tem pacotes de conteúdo
O auto-completar de tab é filtrado por permissão e pelo que já foi digitado: toggleEating e toggleMessage só são sugeridos a remetentes com betterfood.user, e downloadpluginupdate, downloadallcontent, setup e recommendedplugins apenas a remetentes com betterfood.admin. O alias aceito downloadall intencionalmente não é sugerido. Os dois toggles do jogador são apenas para jogadores — os subcomandos explícitos toggleEating / toggleMessage recusam remetentes que não são jogadores com "BetterFood settings can only be changed in-game.", enquanto o comando /betterfood sem argumentos direciona remetentes de console para o comando de atualização. Um jogador sem betterfood.user é informado de que não tem permissão para alterar as configurações do BetterFood. Um subcomando não reconhecido, ou mais de um argumento, imprime a linha de uso, e essa própria linha de uso é sensível a permissões: administradores veem a lista completa, todos os outros veem apenas os dois toggles.
Comandos Compartilhados do MagmaCore
Como as ferramentas compartilhadas do MagmaCore estão incluídas, o BetterFood também registra estes comandos no carregamento — mas apenas se nada mais os tiver reivindicado ainda, então em um servidor que já roda outro plugin do MagmaGuy o primeiro plugin a carregar é o dono deles e o BetterFood registra que está pulando o registro:
/nightbreak plugins— navega pelo catálogo de plugins, como menu dentro do jogo e como lista no chat a partir do console (nightbreak.plugins, padrãoop). O/nightbreaksem argumentos apenas imprime a linha de uso./nightbreaklogin <token>e/nightbreaklogout— conectam e desconectam o token compartilhado da conta Nightbreak (nightbreak.login, padrãoop)/logify— envia o log atual do servidor para o mclo.gs (logify.*, padrãoop)/betterfoodchangelog [dismiss|disable]— mostra as notas de lançamento não lidas do BetterFood. Esse é nomeado por plugin, então não colide; se/betterfoodchangelogestiver de alguma forma ocupado, ele recorre a um rótulo no estilobetterfood:betterfoodchangelog.
O comando de changelog é apenas para administradores e apenas dentro do jogo: ele responde a remetentes sem uma permissão de administrador (ou ao console) com "This command is only available to plugin administrators in-game." Ele considera um jogador como administrador se ele for op ou tiver betterfood.admin ou betterfood.*. Administradores também são lembrados das notas de lançamento não lidas pouco depois de entrarem, a menos que tenham executado /betterfoodchangelog disable. O estado de leitura/dispensa é guardado por jogador em plugins/BetterFood/nightbreak-changelogs.yml.
Veja Tokens do Nightbreak, Configuração do Nightbreak e Notificações de Changelog para o fluxo compartilhado.
Permissões
betterfood.user(padrãotrue) — controla o listener de comer automaticamente e os toggles do jogador.betterfood.admin(padrãoop) — controla o download de atualização do plugin, o menu de configuração e os comandos de plugins recomendados. Também conta como permissão de administrador para o comando de changelog.nightbreak.plugins,nightbreak.loginelogify.*(todos padrãoop) — registrados pelas ferramentas incluídas do MagmaCore para os comandos compartilhados acima, e não declarados noplugin.ymldo BetterFood.
Outras Integrações
- As métricas do bStats estão ativadas (id do plugin
4557) — desative globalmente através da configuração do bStats se quiser optar por não participar. - BetterFood agora inclui as ferramentas compartilhadas do MagmaCore. Ele gera um
config.ymlcom o togglenightbreak.autoDownloadPluginUpdates(padrãofalse) — essa é a única chave que o próprio BetterFood coloca noconfig.yml— e verifica onightbreak.ioem busca de uma versão mais recente alguns minutos após a inicialização (o atraso é escalonado por plugin para que vários plugins do MagmaGuy não façam a chamada todos ao mesmo tempo), e depois cerca de uma vez por hora. Os resultados só são registrados quando mudam, então o console não é inundado novamente a cada hora. BetterFood não passa nenhum ID de recurso do SpigotMC e sua entrada no catálogo também não tem nenhum, portanto não há fallback de versão do SpigotMC. - Operadores que entram enquanto há uma atualização pendente recebem um aviso no chat com o link da página de download, alguns segundos depois de entrar. Ele é enviado em toda entrada enquanto a versão instalada estiver atrasada.
- O token da conta fica fora da pasta do plugin, no arquivo compartilhado
plugins/MagmaCore/nightbreak.yml, então vincular uma vez cobre todos os plugins do MagmaGuy no servidor. - Sem dependências de plugins externos; a lógica de alimentos ouve apenas o
FoodLevelChangeEventvanilla.