-
-
Notifications
You must be signed in to change notification settings - Fork 27
Commandes (FR)
Ce composant simplifie la gestion des commandes, des sous-commandes et de leurs alias.
Documentation | JavaDoc |
Classe (pour loadComponents )
|
fr.zcraft.zlib.components.commands.Commands |
Chaque commande est une classe qui hérite de la classe Command
, avec l'annotation @CommandInfo
pour décrire la commande (nom, paramètres, aide, alias).
Un constructeur sans arguments est requis.
Dans votre sous-classe Command
, vous devez réécrire respectivement les méthodes run()
(et optionnellement complete()
) pour exécuter la commande et l'auto-compléter.
package fr.zcraft.ztoaster.commands;
import fr.zcraft.zlib.components.commands.Command;
import fr.zcraft.zlib.components.commands.CommandException;
import fr.zcraft.zlib.components.commands.CommandInfo;
@CommandInfo(name = "awesomeness")
public class AwesomeCommand extends Command
{
@Override
protected void run() throws CommandException
{
// Votre magnifique commande
sender.sendMessage(ChatColor.GOLD + "Such awesomeness");
sender.sendMessage(ChatColor.GREEN + "Very grassy");
sender.sendMessage(ChatColor.GRAY + "Wow.");
}
}
Parallèlement, quelques méthodes sont disponibles pour récupérer et analyser facilement les paramètres ou pour envoyer des réponses. Tout les attributs (comme sender
dans l'exemple au dessus) et méthodes sont expliqués dans la documentation de la classe Command
.
Les erreurs sont gérées avec des exceptions. Si quelque chose ne se passe pas correctement, une CommandException
est lancée contenant la raison. Les méthodes suivantes sont également à votre disposition.
Method | Description |
---|---|
error(String message) |
À appeler si quelque chose ne se passe pas correctement. |
throwInvalidArgument(String reason) |
À appeler si un argument est invalide (en expliquant avec reason ). |
playerSender() |
Retourne l’exécuteur de la commande en tant que Player ou lance une CommandException avec pour raison COMMANDSENDER_EXPECTED_PLAYER . |
getBooleanParameter(int i) getDoubleParameter(int i) getFloatParameter(int i) getIntegerParameter(int i) getLongParameter(int i) getEnumParameter(int i, Class<T> type)
|
Retourne le paramètre pour l'index renseigné et casté avec le type demandé, ou lance une CommandException avec la raison INVALID_PARAMETERS si ce n'est pas possible. |
Quand vos commandes sont prêtes, vous devez les enregistrer comme ceci.
// "toaster" est le nom de la commande principale: /toaster ...
Commands.register("toaster", AwesomeCommand.class, AnotherCommand.class);
Vous pouvez aussi enregister des raccourcis vers des sous-commandes depuis une commande simple. Par exemple, ceci execute la commande /toaster awesomeness
depuis /awesome
ou /aw
:
Commands.registerShortcut("toaster", AwesomeCommand.class, "awesome", "aw");
Attention ! Toutes les commandes principales doivent être déclarées dans le fichier plugin.yml
sans quoi une IllegalStateException
sera lancée.
Ici, /toaster
et /awersome
doivent être enregistrés explicitement et /aw
en tant qu'alias.
Ce composant génère automatiquement de la documentation pour l'utilisateur à travers une description lorsque la commande est exécutée sans sous-commande et une sous-commande "help" générée automatiquement.
Cette exemple est tiré du projet SpectatorPlus.
-
Commande exécutée sans sous-commande (
/command
) -
Aide générale d'une sous-commandes (
/command help
) -
Aide détaillée d'une sous-commande (
/command help subcommand
)
Ceci dit, la documentation ne vient pas de nulle part, vous en conviendrez. Elle est écrite dans un sous répertoire help
dans le répertoire ressources (au même niveau que le fichier plugin.yml
). Vous pouvez utiliser §
- les codes de formatage dans vos fichiers. Les sauts à la ligne sont conservés.
Localisation du fichier | Contenu |
---|---|
— | Le message affiché quand les commandes sont appelées sans arguments est généré automatiquement sur la base:
|
Localisation du fichier | Contenu |
---|---|
help/command.txt |
Contient l'aide principal de la commande.
|
Localisation du fichier | Contenu |
---|---|
help/command/subcommand.txt |
Contient l'aide de la sous-commande (préfixé avec le trait bleu), affiché sous le résumé d'utilisation de la commande. Les lignes sont automatiquement découpées de manière à correspondre correctement au chat donc évitez les lignes de 55-60 characters si vous ne voulez pas supprimer le trait bleu. |
Getting started
Components
Tools
Pour démarrer
Composants
- Commandes
- Configuration
- Internationalisation
- GUIs
- Barres latérales
- Services de travail en arrière plan
- NBT
-
Composants personnalisés
Outils