Les commandes Minecraft modernes reposent sur Brigadier, pas sur plugin.yml

Les auteurs de serveurs Minecraft câblent les commandes de la même manière depuis des années : les déclarer dans plugin.yml, convertir args[0] en joueur, croiser les doigts et maintenir un TabCompleter distinct qui doit rester parfaitement synchronisé. Ça fonctionne, mais c'est fragile, difficile à déboguer et oblige les développeurs à réinventer la roue pour des fonctionnalités comme la correspondance partielle de noms ou les arguments conditionnels. L'intégration native de Brigadier dans Paper change la donne.
Adieu plugin.yml, bienvenue aux arbres de commandes
Paper embarque la bibliothèque Brigadier de Mojang — le même framework qui alimente toutes les commandes vanilla — et l'expose via un crochet de cycle de vie appelé LifecycleEvents.COMMANDS. Au lieu de lister les commandes dans un fichier YAML plat, les plugins enregistrent un arbre de littéraux et d'arguments directement dans le code. Chaque nœud peut porter sa propre vérification de permissions, donc l'autocomplétion respecte automatiquement la visibilité sans configuration supplémentaire. Dans un plugin de modération, par exemple, /punish n'apparaît dans la liste de suggestions que pour le personnel disposant effectivement de la permission modgui.punish.*.
Arguments qui s'adaptent à la configuration
Le vrai bénéfice se révèle lorsque les commandes doivent évoluer en fonction des paramètres. Une commande /report peut accepter normalement une cible et un message, mais si le serveur active des niveaux de gravité dans sa configuration, l'arbre peut se ramifier en conséquence — tout cela construit uniquement au démarrage du serveur, donc les joueurs ne voient jamais de suggestions invalides. Plus de logique conditionnelle emmêlée dans le gestionnaire de commandes ni de décalages entre les autocomplétions.
Ce que les développeurs y gagnent
La correspondance exacte de noms est remplacée par ArgumentTypes.player(), qui gère les correspondances partielles et les sélecteurs. Les permissions sont définies sur l'arbre, pas dans l'exécuteur de commande, donc Brigadier les applique lors de l'exécution comme lors de l'autocomplétion. Résultat : un code plus propre, moins de surprises à l'exécution et des commandes aussi abouties que celles du vanilla. Pour les créateurs de serveurs fatigués de bricoler les mêmes structures dans chaque plugin, l'intégration de Brigadier dans Paper est la mise à niveau qu'ils ne savaient pas attendre.
Source : DEV Community. Synthèse éditoriale assistée par IA — TechnoExpress.

