Commandes | Sous-commandes
Documentation pour l'API (Commandes et sous-commandes).
Gestion des commandes
Introduction
Les commandes sont une partie obligatoire pour réaliser un bon plugin, vous pouvez créer des commandes ainsi que des sous-commandes rapidement. Grâce à la modularité de dAPI, vous pouvez facilement :
Centraliser la gestion des commandes principales et sous-commandes.
Implémenter facilement des systèmes de permissions pour les commandes.
Ajouter la complétion automatique des commandes.
Création d'une commande
Étape 1 : Importer CommandBase
Pour commencer, importez la classe CommandBase
dans votre projet :
Étape 2 : Créer une classe qui hérite de CommandBase
Créez une classe qui étend CommandBase
pour définir la logique de la commande principale. Exemple :
Étape 3 : Enregistrer la commande dans votre plugin
Pour le faire, vous devez le faire comme pour une commande de base, y compris dans votreplugin.yml
:
Puis, dans votre méthode onEnable
:
Création d'une commande
Étape 1 : Importer CommandBase
Pour commencer, importez la classe SubCommand
dans votre projet :
Étape 2 : Créer une classe qui hérite de SubCommand
Créez une classe qui étend SubCommand
pour définir la logique de la commande principale. Exemple :
Étape 3 : Enregistrer la commande dans votre commande principale
Pour le faire, vous devez le faire dans le constructeur de la classe héritante de CommandBase :
Utilisation des permissions
Pour personnaliser le message lorsque l'utilisateur n'a pas la permission, utilisez la méthode setNoPermissionMessage
:
Autocomplétion
La méthode onTabComplete
de CommandBase
gère automatiquement la complétion des sous-commandes enregistrées. Si vous avez besoin de personnaliser la complétion pour une sous-commande, implémentez la méthode tabComplete
dans votre classe SubCommand
. Les joueurs ne verront que les sous-commandes où ils ont la permission d'exécuter.
Exemple complet
Voici un exemple d'utilisation de CommandBase
avec une commande principale et une sous-commande.
Classe principale de la commande
Sous-commande
Enregistrement dans le plugin
Méthodes disponibles
CommandBase
setNoPermissionMessage(String message)
Définit le message à afficher si l'utilisateur n'a pas la permission.
getNoPermissionMessage()
Retourne le message actuel de refus de permission.
registerSubCommand(String name, SubCommand subCommand)
Enregistre une sous-commande avec son nom.
onCommand(CommandSender sender, Command command, String label, String[] args)
Gère l'exécution de la commande principale ou d'une sous-commande.
onTabComplete(CommandSender sender, Command command, String alias, String[] args)
Gère la complétion automatique des sous-commandes et leurs arguments.
SubCommand
execute(CommandSender sender, String[] args)
Exécute la logique de la sous-commande.
hasPermission(CommandSender sender)
Vérifie si l'utilisateur a la permission pour exécuter la sous-commande.
tabComplete(CommandSender sender, String[] args)
Retourne une liste d'options pour la complétion automatique.
Avec cette structure, la gestion de vos commandes et sous-commandes devient claire et organisée ✨.
Last updated
Was this helpful?