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
Register
Advertisement

Lorsque Bukkit charge un plugin, il a besoin de connaître certains renseignements de base sur celui-ci. Il lit ces informations depuis un fichier YAML, 'plugin.yml'. Ce fichier est constitué d'un ensemble d'attributs, chacun défini sur une nouvelle ligne et sans indentation.

Attributs
Attributs Obligatoire Descriptions Exemples Notes
name oui Le nom de ce plugin. name: MonPlugin
  • Doit être composé de tous les caractères alphanumériques et caractères de soulignement (a-z, A-Z,0-9, _).
  • Utilisé pour déterminer le nom du dossier de données du plugin. Les dossiers de données sont placés par défaut dans le répertoire ./plugins/.
  • Il est bon de nommer votre jar de la même façon que cela, par exemple 'MonPlugin.jar'.
version oui La version de ce plugin. version: 1.4.1
  • La version est une valeur arbitraire, quoi qu'il en soit le format le plus commun est SortieMajeure.SortieMineure.Compilation (ex : 1.4.1).
  • Typiquement vous incrémenterez ceci chaque fois que vous sortirez une nouvelle fonctionnalité ou une correction de bug.
  • Affiché lorsqu'un utilisateur tape /version NomPlugin.
description non Une description facilement compréhensible de la fonctionnalité fournie par votre plugin. description: Ce plugin est tellement 31337. Vous pouvez vous mettre vous-meme en feu.
  • La description peut comporter plusieurs lignes.
  • Affiché lorsqu'un utilisateur tape /version NomPlugin.
load non Définit l'état du serveur où le plugin devrait être chargé. Si non précisé il sera par défaut "postworld". load: STARTUP A deux valeurs possibles :
  • STARTUP
  • POSTWORLD
author non Identifie de manière unique qui a développé ce plugin. author: CaptainInflamo
  • Donne du crédit pour le développeur.
  • Utilisé dans certains messages d'erreur du serveur pour fournir une aide utile en retour sur la personne à contacter en cas d'erreur.
  • Un lien forum sur bukkit.org ou une adresse mail est recommandé.
  • Affiché lorsqu'un utilisateur tape /version NomPlugin.
authors non Permet de lister plusieurs auteurs, s'il s'agit d'un projet collaboratif. Voir author. authors: [Cogito, verrier, EvilSeph]
  • Vous pouvez définir à la fois l'auteur et les auteurs, mais ils seront tout de même fusionnés en une seule liste interne.
website non Le site du plugin ou de l'auteur. website: http://forums.bukkit.org/threads/MyPlugin.31337/
  • Si vous n'avez pas de site dédié, un lien vers le post sur le forum Bukkit où ce plugin est listé est fortement recommandé.
  • Affiché lorsqu'un utilisateur tape /version NomPlugin.
main oui Pointe vers la classe qui hérite de JavaPlugin main: org.bukkit.plugin.MonPlugin
  • Notez que ceci doit contenir l'espace de nom complet incluant le fichier de classe lui-même.
  • Si votre espace de nom est org.bukkit.plugin et votre fichier de classe est nommé MonPlugin alors ceci doit être org.bukkit.plugin.MonPlugin.
database non Affectez la valeur true si ce plugin utilise une base de données. database: false
  • Utiliser une base de données n'est pas trivial.
depend non Une liste de plugins que requiert votre plugin pour se charger. depend: [UnPlugin, AutrePlugin]
  • La valeur depend doit être au format d'une liste YAML (Voir http://fr.wikipedia.org/wiki/YAML#Tableaux_de_listes).
  • Utilisez l'attribut "name" du plugin requis pour spécifier la dépendance.
  • Si l'un des plugins listés ici n'est pas trouvé votre plugin ne se chargera pas.
softdepend non Une liste de plugins qui sont requis pour votre plugin pour être pleinement fonctionnel. softdepend: [UnPlugin, AutrePlugin]
  • La valeur depend doit être au format d'une liste YAML (Voir http://fr.wikipedia.org/wiki/YAML#Tableaux_de_listes)
  • Utilisez l'attribut "name" du plugin requis pour spécifier la dépendance.
  • Si l'un des plugins listés ici sont trouvés votre plugin se chargera après le chargement de ceux-ci, autrement, il se chargera comme l'un des derniers plugins.
commands non Le nom de la commande que le plugin souhaite enregistré, ainsi qu'une liste facultative d'attributs de commande.

commands:
 flagrate:
   [attributs optionnel de commande]

  • Le nom de la commande ne doit pas contenir le premier '/' requis pour exécuter une commande.
  • Vous pouvez choisir n'importe quel nom de commande souhaité, cependant les commandes 'communes' tel que /kick sont souvent déjà enregistrées. Utilisez l'attribut de commande 'alias' pour fournir des noms alternatifs.
permissions non Les permissions que le plugin souhaite enregistrer. Chaque noeud représente une permission. Chaque permission peut avoir des attributs additionnels.
permissions:
  inferno.*:
    [attributs d'autorisation facultatif]
  inferno.flagate:
    [attributs d'autorisation facultatif]
  inferno.burningdeaths:
    [attributs d'autorisation facultatif]
  • L'enregistrement d'une permission est facultatif et peut également être effectué depuis le code.
  • L'enregistrement d'une permission vous permet de définir des descriptions, des valeurs par défaut et des relations parent-enfant.
  • Le nom d'une permission devrait garder le modèle suivant <nomduplugin>.[categorie].[categorie].<permission>.


Un bloc de commande commence par le nom de la commande et possède ensuite une liste d'attributs.

Attribut de Commande Obligatoire Description Exemple Notes
description non Une courte description de ce que la commande fait. description: Vous enflamme
  • Peut être utiliser en conjonction avec /help.
aliases non L'alias alternatif à une commande qui sera utilisé si le nom de la commande est déjà pris.
aliases: combust_me OR 
aliases: [combust_me, combustMe]
permission non Le noeud d'autorisation le plus basique requit pour utiliser la commande.
permission: inferno.flagrate
  • Ce noeud d'autorisation peut être utiliser pour déterminer si l'utilisateur peut voir cette commande.
  • Certain plugins utiliseront ce noeud pour construire une aide (/help) personnalisée.
usage non Une courte description de comment utiliser cette commande. usage: Erreur de syntaxe ! Peut être que vous vouliez /<command> NomJoueur ?
  • Affichées à quiconque ayant émis la commande quand le gestionnaire de commande du plugin (onCommand généralement) ne retourne pas vrai.
  • <command> est une macro qui est remplacée par la commande émise où qu'elle se produise.
  • Pour utiliser la chaîne "Usage:" (ex : usage: Utilisation : /god [player], entourez le texte après le label usage: avec des guillemets-doubles
    usage: "Utilisation : /god [player]"


Un bloc d'autorisation commence avec le nom de l'autorisation et est suivi par les attributs des noeuds.

Attribut d'Autorisation Obligatoire Description Exemple Notes
description non Une courte description de ce que permet cette autorisation.
description: Vous permet de vous brûlez vous-même.
  • Autorise un accès programmable et aide les administrateurs de serveur.
default non Détermine la valeur par défaut de l'autorisation.
default: true
  • Si le noeud n'existe pas l'autorisation par défaut est false.
  • Les valeurs par défauts possible sont : true, false, op, not op.
  • op sera par défaut true si le joueur est op.
  • no op par défaut est le comportement inverse (de op).
children non Vous permet de définir des enfants pour l'autorisation. Les noeuds enfants sont des noms d'autorisations.
children:
  inferno.flagrate: true
  inferno.burningdeaths: true
  • Chaque noeud enfant doit être true ou false.
    • un noeud enfant true hérite de l'autorisation du parent.
    • un noeud enfant false hérite de l'autorisation inverse du parent.
  • Peut aussi contenir d'autres noeuds d'autorisation {1}


Exemple :

 name: Inferno
 version: 1.4.1
 description: This plugin is so 31337. You can set yourself on fire.
 # On pourrait placer chaque auteur dans la liste "authors", mais j'ai choisi de ne pas
 # le faire à des fins d'illustrations. Aussi, définir "author" distingue cette personne
 # comme celle responsable du projet, et assure que son nom soit affiché en premier.
 author: CaptainInflamo
 authors: [Cogito, verrier, EvilSeph] 
 website: http://forums.bukkit.org/threads/MyPlugin.31337/
 
 main: com.captaininflamo.bukkit.inferno.Inferno
 database: false
 depend: [NewFire, FlameWire]
 
 commands:
   flagrate:
     description: Set yourself on fire.
     aliases: [combust_me, combustMe]
     permission: inferno.flagrate
     usage: Syntax error! Simply type /<command> to ignite yourself.
   burningdeaths:
     description: List how many times you have died by fire.
     aliases: [burning_deaths, burningDeaths]
     permission: inferno.burningdeaths
     usage: |
       /<command> [player]
       Example: /<command> - see how many times you have burned to death
       Example: /<command> CaptainIce - see how many times CaptainIce has burned to death
 
 permissions:
   inferno.*:
     description: Gives access to all Inferno commands
     children:
       inferno.flagrate: true
       inferno.burningdeaths: true
       inferno.burningdeaths.others: true
   inferno.flagrate:
     description: Allows you to ignite yourself
     default: true
   inferno.burningdeaths:
     description: Allows you to see how many times you have burned to death
     default: true
   inferno.burningdeaths.others:
     description: Allows you to see how many times others have burned to death
     default: op
     children:
       inferno.burningdeaths: true


Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorskpolskiportuguêsрусскийlietuviųčeština
Advertisement