Saltar para o conteúdo principal

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 toggleEating ou simplesmente /betterfood sem 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:

  • setup abre o menu de configuração no jogo.
  • recommendedplugins mostra 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 / downloadall descarrega uma atualização do plugin se existir.
  • applypluginupdate aplica uma atualização do plugin já descarregada sem reiniciar o servidor (consulte Atualizações do plugin sem reinício).
  • downloadallcontent informa 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 plugins permite consultar o catálogo de plugins através de um menu no jogo ou de uma lista de texto na consola. Exige nightbreak.plugins, predefinida como op. /nightbreak sem argumentos só apresenta as instruções de utilização.
  • /nightbreaklogin <token> e /nightbreaklogout ligam e desligam o token partilhado da conta Nightbreak. Exigem nightbreak.login, predefinida como op.
  • /logify envia o registo atual do servidor para mclo.gs. Exige logify.*, predefinida como op.
  • /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 /betterfoodchangelog já estiver ocupado, usa um nome como betterfood: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 como true, controla o listener de alimentação automática e as duas opções do jogador.
  • betterfood.admin, predefinida como op, 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.login e logify.*, todas predefinidas como op, são registadas pelas ferramentas MagmaCore incluídas para os comandos partilhados acima. Não estão declaradas no plugin.yml do 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.yml com duas chaves: a opção nightbreak.autoDownloadPluginUpdates, predefinida como false, e nightbreak.applyPluginUpdatesWithoutRestart, predefinida como never (consulte Atualizações do plugin sem reinício). Procura uma versão mais recente em nightbreak.io alguns 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:

ValorComportamento
neverPredefiniçã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-emptyAplica 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
immediatelyAplica a atualização assim que a descarga termina

Qualquer outro valor funciona como never.