Informatique, Internet, Programmation

Créer un plugin pour Craftbukkit

Si on cherche un peu sur le net, on trouve tout un tas de tutoriels pour installer des plugins avec Craftbukkit, mais aucun pour en créer, du moins aucun en français. Il existe pourtant une documentation plutôt mal mise en avant par Bukkit.org, à tel point que je pensais que la création de plugin était réservée uniquement à la communauté de développeurs de Craftbukkit. En réalité il n’en n’est rien, tout est bel et bien disponible via le site officiel mais uniquement en anglais. De plus la documentation n’est pas vraiment à jour, mais elle fait très bien l’affaire pour les personnes souhaitant débuter. M’étant déjà frotté à la création de plugins simples, je vais donc expliquer la démarche que j’ai suivi.

Attention : Ce tutoriel n’est pas destiné au développement d’un plugin à proprement parler, mais plutôt de la démarche à suivre et de son intégration à Craftbukkit. Il est impératif d’avoir de bonnes notions de développement Java ou autres langages orientés objets sans quoi vous ne pourrez pas développer vos propres plugins.

Téléchargements & Installations

Avant toute chose, il vous faudra quelques outils pour débuter la création d’un plugin.

Java JDK
La première chose à télécharger est la version de Java destinée aux développeurs nommée JDK pour Java Development Kit. Pour cela, rendez-vous sur la page suivante. Puis cliquez sur Download JDK.

La liste de systèmes d’exploitation s’affiche, cochez la case Accept License Agreement puis choisissez la version en fonction de l’architecture de votre processeur (32 ou 64 bits). Pour ma part j’ai Windows 7 en 64 bits, j’ai donc choisi le lien de la version Windows x64 (jdk-6u26-windows-x64.exe).

Eclipse
Ensuite il sera necessaire de télécharger Eclipse qui est un logiciel qui vous permettra de développer en Java et donc de créer vos plugins. Pour cela rendez-vous sur la page de téléchargements. Ici c’est la même chose qu’avec Java JDK, choisissez la version de Eclipse IDE for Java Developers selon l’architecture de votre processeur.

Une fois les deux outils téléchargés, installez Java et dézippez l’archive d’Eclipse.

Bukkit & Craftbukkit
Afin de pouvoir bénéficier de toutes les fonctions disponibles dans Craftbukkit, téléchargez les derniers builds recommandés de Bukkit et Craftbukkit.

Eclipse : Création de l’espace de travail

Tout est maintenant prêt à être utilisé.

- Lancez Eclipse.
- Il vous demande de choisir un répertoire de travail dans lequel il enregistrera tous vos projets. Choisissez-le avec précaution.
- Déplacez le bukkit-0.0.1-SNAPSHOT.jar et craftbukkit-0.0.1-SNAPSHOT.jar dans votre répertoire de travail précédemment choisi.

Création du projet
On peut maintenant débuter la création de notre plugin que l’on va nommer TestPlugin.
- Cliquez sur File › New › Java Project.
- Entrez le nom de votre plugin dans le champ Project name (TestPlugin pour l’exemple).
- Puis cliquez sur Finish.

Ajout des librairies
Dans le Package Explorer sur la gauche, apparaît le répertoire de votre plugin.
- Cliquez droit sur TestPlugin › Build Path › Configure Build Path…
- Cliquez sur Add External JARs
- Sélectionnez les fichiers JAR de Bukkit et Craftbukkit puis cliquez sur OK.

Création du Package
Les librairies Bukkit et Craftbukkit ajoutées, créons maintenant le premier fichier du plugin.
- Dans la fenêtre Package Explorer, cliquez droit sur votre projet New › Package…
- Dans le champ Name entrez votrepseudo.testplugin, puis cliquez sur Finish.

Création des fichiers
- Toujours dans la partie gauche d’Eclipse cliquez sur votrepseudo.testplugin New › Class.
- Dans le champ Name entrez TestPlugin. Le fichier principal de votre plugin est alors créé.
- Répétez la manipulation pour créer deux autres fichiers TestPluginBlockListener et TestPluginPlayerListener.

Autoriser Bukkit à exécuter le plugin
- Dans le Package Explorer cliquez droit sur src New › File.
- Dans le champ File name entrez plugin.yml.
- Le fichier s’ouvre, insérer ce qui suit en replaçant votrepseudo par votre pseudo :

name: TestPlugin
main: votrepseudo.testplugin.TestPlugin
version: 1.0

- Fermez le fichier.

Eclipse : Un peu de code

Vous avez remarqué que nous avons créé 3 fichiers, qui sont pour le moment vides de code. Ces 3 fichiers sont les parties de code de base du plugin.

- TestPlugin.java : Fichier principal du plugin qui va charger et décharger le code nécessaire au démarrage et à l’arrêt du plugin. C’est dans ce fichier que se trouvent les messages console « Testplugin 1.0 by Kazaam – Disabled! » par exemple. Contrairement aux 2 autres fichiers, celui-ci est vital pour le bon fonctionnement de votre plugin.

- TestPluginBlockListener.java : Tout le code surveillant les évènements se produisant avec les blocs se trouve ici.

- TestPluginPlayerListener.java : Même chose mais cette fois sur les joueurs.

Maintenant que vous connaissez l’utilité de ces 3 fichiers, il faut les remplir.
- Double cliquez sur TestPlugin.java et collez-y ce code.
- Double cliquez sur TestPluginBlockListener.java et collez-y ce code.
- Double cliquez sur TestPluginPlayerListener.java et collez-y ce code.
- Dans ces 3 fichiers modifiez la première ligne en changeant kazaam par votre pseudo.

Vos fichiers sont maintenant prêts à être utilisés et développés selon vos envies. Cependant il reste une chose, exporter votre plugin en fichier JAR.

Exportation en fichier JAR

Une fois tous les fichiers écrits et correctement débuggés, il faut exporter le plugin en fichier JAR.
- Cliquez sur File › Export.
- Sélectionnez JAR file puis cliquez sur Next.
- Cochez ensuite la case à droite du nom de votre plugin (ici TestPlugin).
- Choisissez un nom à votre plugin à indiquer dans le champ JAR file (TestPlugin.jar pour l’exemple).
- Cliquez sur Finish.

Quelques problèmes ?
- Si un message vous informe qu’ils reste des avertissements lors de l’exportation, ignorez-le, cliquez sur OK.
- Si la compilation échoue en retournant ce message « Resource is out of sync with the file system: ‘/TestPlugin/src/plugin.yml« .
« , quittez la fenêtre d’exportation, cliquez droit sur src › Refresh. L’exportation devrait fonctionner.

J’espère avoir été assez clair dans mes explications, je rédigerais prochainement le développement d’un petit plugin, dont j’ai récupéré le code source et que j’ai légèrement modifié, permettant de connaitre le propriétaire d’un loup lorsqu’on lui clique dessus.

N’hésitez pas à déposer vos commentaires si vous avez des problèmes. Bon développement !

Exprimez vous !

Soyez sympas. Gardez la page propre. Restez sur le sujet. Pas de spam.

* champs obligatoire