Compatibilidade do BetterFood
Versões de destino
O repositório atual usa:
- Versão do plugin:
1.5.5 - Bukkit
api-version:1.21.4 - Spigot API de compilação:
26.3-R0.1-SNAPSHOT - Java:
21
Comandos
O plugin utiliza:
/betterfood/bf
Os subcomandos para jogadores permitem ativar ou desativar:
- a alimentação automática, com
toggleEatingou simplesmente/betterfoodsem argumentos - as mensagens de consumo na barra de ação, com
toggleMessage
Os subcomandos de administrador exigem betterfood.admin e dão acesso às ferramentas partilhadas do Nightbreak:
setupabre o menu de configuração no jogo.recommendedpluginsmostra plugins que funcionam bem com o BetterFood. Atualmente, o BetterFood não tem entradas no catálogo partilhado de recomendações. Por isso, abre um menu vazio e informa que não existem recomendações adicionais. A consola recebe a mesma informação em texto.downloadpluginupdate/downloadalldescarrega uma atualização do plugin se existir.applypluginupdateaplica uma atualização do plugin já descarregada sem reiniciar o servidor (consulte Atualizações do plugin sem reinício).downloadallcontentinforma que o BetterFood não tem pacotes de conteúdo.
As sugestões ao premir Tab dependem das permissões e do texto já introduzido. toggleEating e toggleMessage só são sugeridos a quem tem betterfood.user. downloadpluginupdate, applypluginupdate, downloadallcontent, setup e recommendedplugins só aparecem para quem tem betterfood.admin. O alias downloadall é aceite, mas não é sugerido. As duas opções do jogador só podem ser alteradas no jogo. Os subcomandos explícitos toggleEating / toggleMessage recusam outros remetentes com a mensagem "BetterFood settings can only be changed in-game.". Já /betterfood sem argumentos indica à consola o comando de atualização. Um jogador sem betterfood.user recebe uma mensagem a informar que não tem permissão para alterar as definições. Um subcomando desconhecido ou mais de um argumento apresenta as instruções de utilização. Os administradores veem as duas opções e os comandos de atualização, configuração e recomendações; os restantes veem apenas as duas opções. As instruções omitem downloadallcontent, embora o comando seja aceite e apareça nas sugestões para administradores.
Comandos partilhados do MagmaCore
As ferramentas MagmaCore incluídas acrescentam os seguintes comandos durante o arranque. Os comandos globais são registados durante o carregamento apenas se os nomes estiverem disponíveis. Num servidor com outros plugins do MagmaGuy, o primeiro registo mantém cada nome. O comando de notas de lançamento do BetterFood é inicializado quando o plugin é ativado:
/nightbreak pluginspermite consultar o catálogo de plugins através de um menu no jogo ou de uma lista de texto na consola. Exigenightbreak.plugins, predefinida comoop./nightbreaksem argumentos só apresenta as instruções de utilização./nightbreaklogin <token>e/nightbreaklogoutligam e desligam o token partilhado da conta Nightbreak. Exigemnightbreak.login, predefinida comoop./logifyenvia o registo atual do servidor para mclo.gs. Exigelogify.*, predefinida comoop./betterfoodchangelog [dismiss|disable]mostra as notas de lançamento do BetterFood ainda não lidas. Este comando tem um nome próprio por plugin, evitando colisões. Se/betterfoodchangelogjá estiver ocupado, usa um nome comobetterfood:betterfoodchangelog.
O comando de notas de lançamento só está disponível para administradores dentro do jogo. Quem não tem uma permissão de administrador, assim como a consola, recebe "This command is only available to plugin administrators in-game.". Um jogador conta como administrador se for op ou tiver betterfood.admin ou betterfood.*. Os administradores também recebem um lembrete sobre notas por ler pouco depois de entrar, exceto se tiverem executado /betterfoodchangelog disable. O estado de leitura ou dispensa é guardado por jogador em plugins/BetterFood/nightbreak-changelogs.yml.
Consulte Tokens do Nightbreak, Configuração do Nightbreak e Notificações de notas de lançamento para conhecer o processo partilhado.
Permissões
betterfood.user, predefinida comotrue, controla o listener de alimentação automática e as duas opções do jogador.betterfood.admin, predefinida comoop, controla a descarga e a aplicação de atualizações 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 notas de lançamento.nightbreak.plugins,nightbreak.loginelogify.*, todas predefinidas comoop, são registadas pelas ferramentas MagmaCore incluídas para os comandos partilhados acima. Não estão declaradas noplugin.ymldo BetterFood.
Outras integrações
- As métricas bStats estão ativas, com o identificador de plugin
4557. Pode desativá-las globalmente na configuração do bStats. - O BetterFood inclui as ferramentas partilhadas do MagmaCore. Gera um
config.ymlcom duas chaves: a opçãonightbreak.autoDownloadPluginUpdates, predefinida comofalse, enightbreak.applyPluginUpdatesWithoutRestart, predefinida comonever(consulte Atualizações do plugin sem reinício). Procura uma versão mais recente emnightbreak.ioalguns minutos após o arranque, com um atraso diferente por plugin para evitar pedidos simultâneos de vários plugins do MagmaGuy. Depois, repete a verificação aproximadamente de hora a hora. Só regista resultados quando mudam, evitando repetir mensagens na consola. O BetterFood não fornece um identificador de recurso SpigotMC, nem o tem na sua entrada de catálogo. Por isso, não recorre ao SpigotMC como alternativa para consultar versões. - Os operadores que entram enquanto existe uma atualização pendente recebem, alguns segundos depois, um aviso no chat com a ligação para a página de descarga. O aviso repete-se em cada entrada enquanto a versão instalada estiver desatualizada.
- O token da conta fica fora da pasta do plugin, no ficheiro partilhado
plugins/MagmaCore/nightbreak.yml. Uma única ligação da conta abrange todos os plugins do MagmaGuy no servidor. - Não existem dependências de plugins externos. A lógica dos alimentos escuta apenas o evento vanilla
FoodLevelChangeEvent.
Atualizações do plugin sem reinício
Uma atualização do plugin descarregada fica à espera na pasta de atualizações do servidor. /betterfood applypluginupdate instala-a sem reiniciar o servidor: o BetterFood é desativado, o jar é substituído e a nova versão é carregada e ativada. As opções de alimentação e de mensagens de cada jogador ficam guardadas no próprio jogador, por isso mantêm-se.
O comando recusa, com uma mensagem, quando não há nenhuma atualização descarregada à espera, quando a atualização à espera não é mais recente do que a versão em execução ou o seu jar não é válido, quando um plugin de outro autor depende (ou tem uma dependência opcional) do BetterFood, ou quando já está a decorrer outra troca de plugin. Se a nova versão não conseguir ativar, o jar anterior é carregado novamente e a atualização fica na pasta de atualizações para o próximo reinício.
nightbreak.applyPluginUpdatesWithoutRestart no config.yml decide o que acontece logo após qualquer descarga de uma atualização do plugin, seja através de downloadpluginupdate, downloadall, do menu de configuração ou de uma descarga automática:
| Valor | Comportamento |
|---|---|
never | Predefinição. A atualização aguarda o próximo reinício. Os administradores online com betterfood.admin ou betterfood.* são informados de que é necessário reiniciar e veem o comando applypluginupdate |
when-empty | Aplica a atualização imediatamente se não houver jogadores online; caso contrário, verifica a cada 30 segundos e aplica-a quando o servidor ficar vazio |
immediately | Aplica a atualização assim que a descarga termina |
Qualquer outro valor funciona como never.