Plugin Développer un plugin sur Spigot 1.10 - Les commandes

Plx0wn

Ancien
Ancien
20 Mars 2013
108
9
125
24
En France (Tu sauras pas plus coquin.)
Bonjour a tous! Aujourd'hui nous allons apprendre aujourd'hui à ajouter des commandes avec un plugin!

--- Pré-requis ---
- Les bases de la création d'un plugin:
Si vous ne savez pas comment créer la base d'un plugin je vous invite à aller voir mon tutoriel en cliquant ici.


- De la patience:
Développer demande beaucoup de patience, l'apprentissage est particulièrement long, mais il ne faut pas baisser les bras!

- Des connaissance en Java:
Même si ce tutoriel prendra en compte les débutants, il vaut mieux savoir les bases de la programmation!

- Un logiciel pour développer (IDE):
Personnellement j'utilise Eclispe, après libre à vous celui qui vous convient le mieux!

- Avoir spigot-1.10:
Pour cela télécharger BuildTools et suivait les indications afin de télécharger bukkit, craftbukkit et Spigot et prenez la version que vous voulez. (Pour ma part se sera 1.10!)

--- Ajouter des Commandes ---
Bien, pour ajouter des commandes il faut faire deux choses:
- Ajouter les commandes et leurs conséquences sur la classe principale
- Les recenser dans le "plugin.yml"

On peut avoir des commandes, donc en fais vous faîtes "/exemple" et il se passe quelque chose, ou alors on peut avoir des commandes avec des arguments "/exemple autreexemple"

Mais nous allons déjà commencer par le plus simple, il ne faut pas tout vouloir savoir d'un coup! Donc on commence par les commandes sans arguments, je vous ferais un autre tutoriel:

Donc dans votre classe principale ajouter ceci :

Code:
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
       // AJOUTER ICI
        return false;
    }

C'est la base des commandes, ici on va surtout utiliser le "sender", le "label" et "args" présent dans la fonction.

Pour ajouter une commandes, ajouter à la place du commentaire "// AJOUTER ICI"

Code:
        if (label.equalsIgnoreCase("exemple")) {
            // FAIRE QUELQUE CHOSE
        }

Quelques explications:
- Le "label" signifie le nom de la commande
- Le ".equalsIgnoreCase" veut dire que lorsque je taperais ma commandes les majuscules ne seront pas prisent en compte, si vous voulez ajouter des majuscules et qu'elles comptent remplacer ".equalsIgnoreCase" par ".equals"
- Le "exemple" est le nom de la commande. C'est à dire qu'en jeux, vous devrez faire "/exemple"

Bien maintenant nous allons apprendre comment nous envoyer un message!

Ajouter à la place du commentaire "// FAIRE QUELQUE CHOSE"

Code:
sender.sendMessage("Salut!");

Quelques explications:
- Le "sender" est l'entité qui a exécuté la commande. Cela peut être un joueur ou la console. Si vous voulez que ce soit seulement un joueur qui puisse faire la commande, il suffit de dire que le sender doit être un joueur sinon ça ne marche pas, remplacer "sender.sendMessage("Salut!")" par:

Code:
            if (sender instanceof Player) {
                sender.sendMessage("Salut!");
            }
        }

Voilà ! Nous avons notre première commande! Mais il faut la recenser dans le "plugin.yml"

Ajoutez après votres "main:" etc... :

Code:
commands:
   exemple:
      default: op
      description: Salut salut!

Quelques explications:
- "exemple" est le nom de la commande.
- "default: op"est les permissions par défaut, là seul les op auront le droit de l'exécuter, sinon vous pouvez remplacer le "op" par "true" pour que tout le monde puissent l'exécuter.
- "description:" est la description de la commande (merci Captain Obvious!)

Bien, dès que tout cela est fait exporter votre plugin (voir mon premier tutoriel si vous ne vous en souvenez pas) puis démarrer Minecraft aller sur votre serveur et tester "/exemple"

mk0Muqq.png


Et voilà ! N'hésitez pas à me demander des conseils etc... Dans les commentaires!
Je vous dis a bientôt, bisous!

--- Bonus ! ---
Je vais vous apprendre comment faire un message en couleur!

Ci-dessus nous avons ajouter "sender.sendMessage("Salut!");", pour faire des couleurs il suffit de l'écrire comme ça!

Code:
sender.sendMessage(ChatColor.GREEN + "Salut!");

Vous avez différentes couleurs:
- GREEN
- DARK_GREEN
- RED
- DARK_RED
- AQUA
- DARK_AQUA
- BLUE
- DARK_BLUE
- GRAY
- DARK_GRAY
- LIGHT_PURPLE
- DARK_PURPLE
- YELLOW
- GOLD
- BLACK

- BOLD
- ITALIC
- UNDERLINE
- STRIKETHROUGH - Aléatoire



--- Informations supplémentaires ---
Forums pour l'aide au développement:
- Bukkit (français)
- Bukkit (anglais)
- Spigot (anglais)
(dites moi dans les commentaires si vous en connaissez d'autre!)

Wikis:
- Bukkit (anglais)
- Bukkit (français)
- Spigot (anglais)
 
  • J'aime
Reactions: Pekka_NightYTB