Aller au contenu principal

Compatibilité de BetterFood

Cibles d'Exécution

Le dépôt actuel cible :

  • Version du plugin : 1.5.0
  • Bukkit api-version : 1.21.4
  • Cible de compilation Spigot API : 26.2-R0.1-SNAPSHOT
  • Java : 21

Commandes

Le plugin utilise :

  • /betterfood
  • /bf

Les sous-commandes destinées aux joueurs se concentrent sur l'activation/désactivation de :

  • l'alimentation automatique (toggleEating, ou simplement /betterfood sans arguments)
  • les messages de retour de consommation dans la barre d'action (toggleMessage)

Les sous-commandes administrateur (nécessitent betterfood.admin) exposent l'outillage Nightbreak partagé :

  • setup — ouvre le menu de configuration en jeu
  • recommendedplugins — affiche les plugins qui s'accordent bien avec BetterFood. BetterFood n'a actuellement aucune entrée dans le catalogue de recommandations partagé : le menu s'ouvre donc vide et vous indique qu'il n'y a pas de recommandation supplémentaire pour le moment (les expéditeurs console reçoivent la même note sous forme de message dans le chat)
  • downloadpluginupdate / downloadall — télécharge une mise à jour du plugin si elle est disponible
  • downloadallcontent — indique que BetterFood ne possède aucun paquet de contenu

La complétion par tabulation est filtrée par permission et par ce qui a déjà été saisi : toggleEating et toggleMessage ne sont suggérés qu'aux expéditeurs disposant de betterfood.user, et downloadpluginupdate, downloadallcontent, setup et recommendedplugins uniquement aux expéditeurs disposant de betterfood.admin. L'alias accepté downloadall n'est volontairement pas suggéré. Les deux bascules de joueur sont réservées aux joueurs — les sous-commandes explicites toggleEating / toggleMessage refusent les expéditeurs non-joueurs avec « BetterFood settings can only be changed in-game. », tandis que la commande /betterfood seule redirige les expéditeurs console vers la commande de mise à jour. Un joueur ne disposant pas de betterfood.user se voit répondre qu'il n'a pas la permission de modifier les paramètres de BetterFood. Une sous-commande non reconnue, ou plus d'un argument, affiche la ligne d'utilisation, et cette ligne d'utilisation tient elle-même compte des permissions : les administrateurs voient la liste complète, tous les autres ne voient que les deux bascules.

Commandes MagmaCore partagées

Parce que l'outillage MagmaCore partagé est embarqué, BetterFood enregistre également ces commandes au chargement — mais uniquement si rien d'autre ne les a déjà revendiquées : sur un serveur qui fait déjà tourner un autre plugin de MagmaGuy, le premier plugin chargé en est propriétaire et BetterFood journalise qu'il ignore l'enregistrement :

  • /nightbreak plugins — parcourt le catalogue de plugins, sous forme de menu en jeu et de liste dans le chat depuis la console (nightbreak.plugins, par défaut op). La commande /nightbreak seule affiche uniquement la ligne d'utilisation.
  • /nightbreaklogin <token> et /nightbreaklogout — connectent et déconnectent le jeton de compte Nightbreak partagé (nightbreak.login, par défaut op)
  • /logify — envoie le journal actuel du serveur vers mclo.gs (logify.*, par défaut op)
  • /betterfoodchangelog [dismiss|disable] — affiche les notes de version BetterFood non lues. Celle-ci est préfixée par plugin, elle n'entre donc pas en collision ; si /betterfoodchangelog est malgré tout déjà pris, elle se replie sur un libellé de type betterfood:betterfoodchangelog.

La commande de journal des modifications est réservée aux administrateurs et au jeu : elle répond aux expéditeurs sans permission d'administrateur (ou à la console) « This command is only available to plugin administrators in-game. » Un joueur est considéré comme administrateur s'il est op ou s'il possède betterfood.admin ou betterfood.*. Les administrateurs sont également avertis des notes de version non lues peu après leur connexion, sauf s'ils ont exécuté /betterfoodchangelog disable. L'état lu/ignoré est stocké par joueur dans plugins/BetterFood/nightbreak-changelogs.yml.

Consultez Jetons Nightbreak, Configuration de Nightbreak et Notifications de changelog pour le flux partagé.

Permissions

  • betterfood.user (par défaut true) — contrôle l'écouteur d'alimentation automatique et les bascules de joueur.
  • betterfood.admin (par défaut op) — contrôle le téléchargement de la mise à jour du plugin, le menu de configuration et la commande des plugins recommandés. Elle compte également comme permission d'administrateur pour la commande de journal des modifications.
  • nightbreak.plugins, nightbreak.login et logify.* (toutes par défaut op) — enregistrées par l'outillage MagmaCore embarqué pour les commandes partagées ci-dessus, elles ne sont pas déclarées dans le plugin.yml de BetterFood.

Autres Intégrations

  • Les métriques bStats sont activées (id de plugin 4557) — désactivez globalement via la configuration bStats si vous souhaitez vous désinscrire.
  • BetterFood embarque désormais l'outillage MagmaCore partagé. Il génère un fichier config.yml avec la bascule nightbreak.autoDownloadPluginUpdates (par défaut false) — c'est la seule clé que BetterFood lui-même place dans config.yml — et vérifie sur nightbreak.io la présence d'une version plus récente quelques minutes après le démarrage (le délai est décalé pour chaque plugin afin que plusieurs plugins de MagmaGuy n'appellent pas tous en même temps), puis environ une fois par heure. Les résultats ne sont journalisés que lorsqu'ils changent, la console n'est donc pas spammée toutes les heures. BetterFood ne transmet aucun ID de ressource SpigotMC et son entrée de catalogue n'en possède pas non plus, il n'y a donc pas de repli sur la version SpigotMC.
  • Les opérateurs qui se connectent alors qu'une mise à jour est en attente reçoivent, quelques secondes après la connexion, un message dans le chat contenant le lien de la page de téléchargement. Il est envoyé à chaque connexion tant que la version installée est en retard.
  • Le jeton de compte est stocké en dehors du dossier du plugin, dans le fichier partagé plugins/MagmaCore/nightbreak.yml : une seule liaison couvre donc tous les plugins de MagmaGuy présents sur le serveur.
  • Aucune dépendance de plugin externe ; la logique d'alimentation écoute uniquement l'événement vanilla FoodLevelChangeEvent.