BukkitWiki

Welcome to the BukkitWiki!

This Wiki is home to Bukkit's documentation and regulations surrounding the Bukkit Project and it's services. Want to help out? We would love to have you! Signup to get started!

READ MORE

BukkitWiki
Advertisement

Introduction[]

Ce tutoriel vous guidera à travers la façon de créer votre propre plugin de permissions qui définit les autorisations en utilisant la nouvelle API d'autorisations de Bukkit.

Prérequis[]

Ce tutoriel suppose que vous avez une bonne compréhension du langage Java, et le développement général de plugin. Ce tutoriel ne couvre que les détails de l'API d'autorisations de Bukkit.

Permis[]

Tout ce qui peut avoir des autorisations ensemble doit hériter de la classe Permissible. Actuellement ils ne comprennent uniquement que les classes Player et CommandSender, cependant, en théorie, tout peut avoir des autorisations. Pour l'avenir de ce tutoriel, nous allons parler du joueur plutôt qu'un objet admissible.

Permissions Annexes[]

Qu'est-ce qu'une permission annexe?[]

Un attachement d'autorisation est une façon pour un plugin pour gérer les autorisations d'un joueur, et même mieux, permet de multiples plugins pour gérer les autorisations du joueur sans interférences, à moins bien sûr qu'ils veulent mettre la même autorisation.

Comment les créer et les supprimer ?[]

Chaque joueur doit d'abord être "fixé" pour le plugin de sorte qu'il peut être géré. Pour créer une permission annexe, utilisez la commande suivante:

PermissionAttachment attachment = player.addAttachment(plugin);

Vous pouvez même créer une pièce jointe qui ne durera que pour un nombre limité de ticks:

PermissionAttachment attachment = player.addAttachment(plugin,ticks);

Cet annexe doit être stocké quelque part. La meilleure solution consiste à créer une

HashMap<UUID,PermissionAttachment>

 et le stocker dans l'ID unique du joueur. Ceci vous permettras plus tard de gérer les autorisations d'un joueur particulier via leur ID unique, et de supprimer la pièce jointe quand il n'est plus nécessaire. Les meilleurs endroits pour supprimer la pièce jointe sont dans les évènements onPlayerQuit et onPlayerKick , Et tout supprimer du plugin via l'évènement onDisable. Removing the attachment is as follows:

player.removeAttachment(attachment);

Attribuer des permissions[]

Il y a deux principales façons de définir l'autorisation d'un joueur:

  1. Via une chaîne. C'est probablement la méthode la plus simple, et celle que je vais vous expliquer d'abord.
  2. Via un objet d'autorisation. C'est un peu plus compliqué, mais il fonctionne exactement de la même manière que la première à l'intérieur, je ne vous en parlerais pas.


Pour définir l'autorisation d'un joueur, vous avez tout d'abord pour obtenir le PermissionAttachment (permission annexe) vous avez créé plus tôt de la HashMap. Une fois que vous avez ce réglage, les autorisations d'un joueur alors il est facile par le texte suivant:

attachment.setPermission(permissionName,permissionValue);

La variable permissionName est une chaîne, et permissionValue est un booléen. Vous pouvez ensuite désinitialiser la permission (différente de la mise à false) d'un joueur par le texte suivant:

attachment.unsetPermission(permissionName);

La raison pour laquelle il serait peut-être nécessaire de déconfigurer la permission d'un joueur est si vous voulez permettre à un des autorisations différentes Plugin pour le définir.

Conclusion[]

C'est tout ce qu'il y a à savoir sur l'écriture de votre propre autorisations plugin. La mise en œuvre effective du plugin est cependant à vous. Je peux cependant donner quelques exemples:

  • Un plugin RPG qui donne les autorisations de joueurs en fonction de leur XP
  • Un pont de forum qui relie les groupes / permissions d'un forum phpBB, comme aux autorisations de Bukkit


Translator / Traducteur: Airwaito.

  • [EN] If there's some problems contact me on Twitter.
  • [FR] S'il y a des soucis avec la traduction, merci de me contacter sur Twitter.
Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorskpolskiportuguêsрусскийlietuviųčeština
Advertisement