Create button
How to create a button
Dernière mise à jour
How to create a button
Dernière mise à jour
L'une des grandes caractéristiques de zMenu est la personnalisation des boutons. Vous pourrez créer des boutons pour vos plugins, ce qui permettra aux utilisateurs de n'avoir qu'un seul plugin d'inventaire pour l'ensemble du serveur. L'objectif de zMenu est de faire en sorte que le plus grand nombre possible de plugins utilisent son API, afin que les utilisateurs n'aient qu'un seul type de configuration d'inventaire pour l'ensemble de leur serveur.
Pour créer un bouton, vous aurez besoin d'au moins deux classes. Une première pour le bouton et une seconde pour le modifier. Vous pouvez également créer une interface pour implémenter votre bouton, mais ce n'est pas obligatoire.
Le code final est disponible ici :
Nous allons créer un simple bouton avec une action qui sera exécutée lorsqu'il sera cliqué.
Il faut d'abord créer une classe qui sera étendue à partir de ZButton
:
Vous venez de créer un bouton, il ne vous reste plus qu'à implémenter les méthodes et à l'enregistrer.
Pour l'exemple, nous ferons en sorte que lorsque le joueur clique, l'inventaire se ferme, un message lui est envoyé et il est envoyé dans le ciel.
Pour détecter le clic d'un joueur, vous devez implémenter la méthode .
Dans cette méthode, nous avons le lecteur, l'événement click et l'objet InventoryDefault. Cet objet permet de gérer toutes les actions de l'inventaire. Il vous permettra de récupérer des informations sur la page, sur l'objet Inventory du spigot et bien d'autres choses.
Nous pouvons maintenant implémenter cette méthode :
Voici la classe avec toutes les implémentations :
Pour récupérer le fournisseur, voici une méthode très utile :
Avec le NoneLoader, vous devez spécifier le nom de votre bouton. Nous vous conseillons de mettre le <nom de votre plugin>_<le nom du bouton>
Voici la classe complète :
Nous vous conseillons de mettre le <nom de votre plugin>_<le nom du bouton>
Ensuite, comme dans le premier exemple, vous devez enregistrer le bouton.
4. Inventory
Vous devez maintenant créer un inventaire pour pouvoir gérer la pagination.
Vous pouvez voir que dans cet exemple, nous faisons référence à this.plugin. Il est important de savoir que le constructeur de votre bouton peut avoir un constructeur vide ou un constructeur avec l'attribut . Vous pouvez ensuite intégrer l'interface du plugin dans votre plugin. (Cf #3 Register button)
Vous devez maintenant enregistrer le bouton. Pour enregistrer un bouton, vous avez besoin d'un . Dans cet exemple, nous n'avons pas besoin d'un chargeur complexe. Nous pouvons donc utiliser la fonction . Ce loader vous permettra de charger un bouton très simplement. Comme nous l'avons dit dans la deuxième partie, la fonction vous permettra de charger votre classe avec ou sans l'élément .
Allez dans votre classe principale. Vous devrez obtenir le fichier et utiliser la méthode d'enregistrement pour un bouton.
Il suffit d'utiliser les méthodes pour enregistrer un bouton. Avant d'enregistrer vos boutons, il est conseillé de supprimer tous les boutons de votre plugin à l'aide de la méthode .
Nous allons créer un bouton pour faire de la pagination. Le bouton affichera les éléments sur plusieurs emplacements en fonction de la page. Nous devons donc créer un bouton qui sera étendu à partir de ZButton. Nous allons également créer une interface PaginationButton qui sera étendue à partir de .
zMenu utilise le TemplatePlugin. Ce plugin possède donc de nombreuses classes utilitaires. Ici, nous utiliserons la classe . Cette classe permet de trier une liste en fonction d'un nombre d'éléments et d'une page.
Un inventaire qui sera étendu à partir de slotButton aura un rendu spécial avec la méthode . Vous pouvez activer le rendu spécial à l'aide de la méthode .
Pour enregistrer ce bouton, nous devons créer une class .
Vous devez ensuite mettre en œuvre les 4 méthodes. La méthode vous devez retourner le bouton, ici vous devez retourner le PaginationButton.class
Pour la méthode le plugin vous fournira une YamlConfiguration et le chemin d'accès à la configuration. Vous devez ensuite renvoyer l'implémentation de votre bouton. Pour pouvoir charger une liste de slots, vous disposez de la méthode qui, à partir d'une liste de chaînes de caractères, renvoie une liste d'entiers.