Plugin Obtenir les API Spigot et Bukkit avec Maven

nouch

Architecte en herbe
23 Octobre 2015
41
7
73
spigot.png
images

Les API Spigot et Bukkit

Bonjour, vu qu'à ma connaissance, aucun tutoriel concernant l'installation des différentes API n'a été fait jusqu'à présent, je me permets de proposer le mien.

Ce tutoriel vous expliquera comment obtenir les API.

Je vous souhaite donc une bonne lecture et j'espère que ce tutoriel sera assez clair pour pouvoir vous guider. Prenez en compte que j'utiliserai Eclipse et que je tourne sous Windows pour effectuer ce tutoriel, je ne peux donc pas vous fournir de support si vous vous trouvez sous une distribution Linux ou Mac OS ou un IDE différent.

Bukkit ou Spigot ?
Question épineuse. Il faut savoir qu'au niveau des API, il n'y a pas de réelles différences étant donné que Spigot est basé sur Bukkit (certes, certaines fonctions changeront mais c'est assez minime).
Néanmoins, Spigot se revendique comme étant plus optimisé que CraftBukkit sur certains (voire beaucoup de) points.
Pour ma part, je n'ai jamais essayé de comparer les deux mais je vais simplement citer un message venant du forum français de Spigot :
Aucune garantie n'est faite sur les gains de performance, c'est à vous [...] de tester et découvrir ce qui est le mieux pour votre serveur.
Notez tout de même que le wiki officiel de Spigot vous recommande de n'utiliser que l'API Spigot si vous voulez développer un plugin pour votre serveur Spigot.

Pourquoi Maven ?
Maven est très connu dans l'univers Java et permet de construire des projets de façon simple et efficace avec une seule commande. Grâce à cette méthode, vous pourrez obtenir n'importe quelle version disponible de l'API en étant sûr de la fiabilité de la source et sans ouvrir votre navigateur.

Pré-requis
Pour pouvoir réaliser ce tutoriel, il vous faut :
  • Un ordinateur qui marche.
  • Votre cerveau (quoi qu'éventuel).
  • Un IDE (Eclipse, NetBeans, IntelliJ ... il en existe beaucoup, vous pouvez même utiliser votre notepad et votre JDK si vous êtes anti-IDE).
  • JDK (il me semble que Maven ne demande pas que JRE).
Installer Maven
Pour commencer, vous devez installer Maven.
Pour cela, commencez par vous rendre sur la page de téléchargement officiel de Maven, vous devrez ensuite descendre un peu afin de voir les différents liens de téléchargement, sélectionnez ensuite le "Link" de "Binary zip archive".

1442936830-binary.png

Le fichier que vous devez prendre
Une fois le fichier téléchargé, vous devez le décompresser dans un endroit où vous êtes sûr qu'il ne disparaîtra pas (le mettre à l'arborescence de votre dossier utilisateur, dans Programs Files ou dans Appdata peut être une bonne idée).

Pour ma part, je l'ai mis au niveau de l'arborescence mon dossier utilisateur, ce qui donne : C:\Users\Emphonisme\apache-maven-3.3.3

Vous devez maintenant accéder à vos variables d'environnement pour accéder à Maven à partir d'une console depuis n'importe quel endroit.
Pour accéder à ces variables, vous avez plusieurs solutions :
  • Taper "variable" dans votre barre de recherche Windows :
    Quelque chose comme "Modifier les variables d'environnement pour votre compte" apparaîtra, sélectionnez-le.
  • Faire un clic droit sur "Ordinateur", puis Propriétés, puis Paramètres système Avancés et enfin Variable d'environnement.
D'autres méthodes existent, si celles-ci ne marchent pas ou que vous n'êtes pas sous un OS qui permet ces manipulations, Google vous aidera.
Une fois sur l'écran en question, vous devez entrer 3 variables utilisateurs que voici (pour ça, cliquez simplement sur Nouvelle...) :
  • M3_HOME qui aura pour valeur l'emplacement de votre dossier Maven.
  • M3 qui aura pour valeur %M3_HOME%\bin .
  • Path (si elle n'existe pas, crée-là, sinon complétez comme sur le screen ci-dessous) qui aura pour valeur %M3% .
Retenez bien que votre variable Path ne sera peut-être pas comme la mienne.
Pensez aussi à vérifier dans vos variables systèmes que vous ayez une variable JAVA_HOME qui comporte l'emplacement de votre dossier JDK.


Mes 3 variables. Si comme moi, votre variable Path existait déjà, rajouter la valeur %M3% au début suivie d'un point-virgule.
Une fois que tout ça est fait, ouvrez une console et tapez mvn --version. Si une liste de donnée apparaît, c'est que c'est bon, sinon, vous avez manquer une étape.

Installer les API
Maven est maintenant correctement installé.
Pour installer une (ou les deux) API, vous devez vous rendre sur le Github de Spigot pour télécharger la base nécessaire au téléchargement des API.
Une fois téléchargée, choisissez un endroit où décompresser l'archive et ouvrez le fichier.

Le but va être de demander à Maven d’exécuter le fichier pom.xml présent dans le dossier en exécutant une simple commande.

ATTENTION : Le fichier pom.xml présent dans l'archive que vous avez est obsolète et ne fonctionne plus, Spigot ne propose que les versions 1.8+ de l'API Bukkit et Spigot. Pour avoir des versions antérieures, fouillez le repo de Spigot. Pour obtenir une installation correcte, changez le code présent dans votre pom.xml par celui-ci.​

Pour changer la version de l'API que vous obtiendrez, il suffit de modifier cette ligne :
Code:
<version>1.8-R0.1-SNAPSHOT</version>
par la version de Minecraft que vous souhaitez (à partir de la 1.8)

Pour lancer l'opération, placez-vous dans le dossier de Spigot que vous avez décompressé et ouvrez une console dedans (Shift+Clic droit ou avec la commande cd) puis tapez mvn clean install.
  • Si plusieurs lignes démarrent et que la console télécharge des fichiers, c'est que tout va bien et que vous obtiendrez votre api sous la forme d'un jar dans le dossier target.
  • Si des lignes apparaissent mais qu'on vous prévient d'une erreur dans le fichier pom, c'est que celui-ci est corrompu, à vous de voir ce qui cloche.
  • Si rien ne s'affiche c'est que l'installation de Maven a échouée.

Une fois que le fichier est téléchargé, c'est fini.
Je vous souhaite de faire de merveilleux plugins !
 
  • J'aime
Reactions: Marc Duplessis
Pour bukkit, je suis pas sûr que ce soit encore utile de continuer d'utiliser l'API vu que c'est spigot qui la gère désormais. Autant directement se baser sur la leur non ?
Oui et non, si tu souhaites utiliser Cauldron ou n'importe quel autre émulateur qui n'est pas lié à Spigot, il vaut mieux utiliser Bukkit.
Après, dans la mesure où tous ces émulateurs se basent sur Bukkit, on peut imaginer que l'API Spigot fonctionnera bien sur l'ensemble de ces émulateurs, mais c'est simplement par précaution et souci de compatibilité.
Ça sera fait dès que je pourrais le faire. :)
 
Bonjour tout le monde, est-ce que quelqu'un peut m'aider?
Je suis bloqué sur l'étape du fouillage dans "les repos de Spigot". Je ne sait pas quel fichier télécharger.
Si quelqu'un peut me répondre je lui en serait grandement reconnaissant :)