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/betterfoodsans 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 jeurecommendedplugins— 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 disponibledownloadallcontent— 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éfautop). La commande/nightbreakseule affiche uniquement la ligne d'utilisation./nightbreaklogin <token>et/nightbreaklogout— connectent et déconnectent le jeton de compte Nightbreak partagé (nightbreak.login, par défautop)/logify— envoie le journal actuel du serveur vers mclo.gs (logify.*, par défautop)/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/betterfoodchangelogest malgré tout déjà pris, elle se replie sur un libellé de typebetterfood: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éfauttrue) — contrôle l'écouteur d'alimentation automatique et les bascules de joueur.betterfood.admin(par défautop) — 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.loginetlogify.*(toutes par défautop) — enregistrées par l'outillage MagmaCore embarqué pour les commandes partagées ci-dessus, elles ne sont pas déclarées dans leplugin.ymlde 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.ymlavec la basculenightbreak.autoDownloadPluginUpdates(par défautfalse) — c'est la seule clé que BetterFood lui-même place dansconfig.yml— et vérifie surnightbreak.iola 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.