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

Cuando Bukkit carga un plugin, necesita saber cierta información básica de este. Bukkit lee esta información del archivo YAML, llamado 'plugin.yml'. Este archivo consta de un conjunto de atributos, cada uno definido en una nueva línea y sin sangría.

Atributos
Atributo Requerido Descripcion Ejemplo Notas
name El nombre de tu plugin. name: MiPlugin
  • Puede utilizar todos los caracteres alfanuméricos y guiones bajos (a-z,A-Z,0-9, _)
  • Se utiliza para determinar el nombre de la carpeta de datos del plugin. Estas carpetas son guardadas en directorio ./plugins/ por defecto.
  • Es bueno colocar el mismo nombre al .jar y aquií.
version La versión del plugin. version: 1.4.1
  • El formato de la versión es una decisión suya, sin embargo el formato mas común es MajorRelease.MinorRelease.Build (ej: 1.4.1)
  • Normalmente esto se actualizara cada vez que lance una nueva actualización.
  • Se muestra cuando un jugador usa /version Plugin
description No Una descripción amigable para los humanos de la funcionalidad que proporciona tu plugin. description: Este plugin es el 31337. Puedes prenderte fuego a ti mismo.
  • La descripción puede tener varias lineas.
  • Se muestra cuando un jugador usa /version Plugin
load No Indique explícitamente cuando se debe cargar el plugin. Si no se indica, se establecerá de forma predeterminada a postworld. load: STARUP Hay dos valores posibles:
  • STARUP (Al iniciar el servidor)
  • POSTWORLD (Luego de cargar el mundo)
author No Identifica de forma única quién desarrolló el plugin. author: zuhir
  • Da crédito al desarrollador.
  • Se utiliza en algunos mensajes de error del servidor para proporcionar comentarios útiles sobre quién contactar cuando se produce algún error.
  • Colocar un nombre de bukkit.org o un email es recomendado
  • Se muestra cuando un jugador usa /version Plugin
authors No Permite enumerar varios autores, si se trata de un proyecto en colaboración. authors: [zuhir, verrier,EvilSeph]
  • Puede definir el autor y los autores, sin embargo se fusionaran en una lista internamente.
website No La página del plugin o autor. website: http://forums.bukkit.org/threads/MyPlugin.31337/
  • Si no tiene un sitio web dedicado se recomienda colocar el enlace a la página de Bukkit del plugin.
  • Se muestra cuando un jugador usa /version Plugin
main La clase que extiende el JavaPlugin. main: org.bukkit.plugin.MiPlugin
  • Ten en cuenta que esto debe contener el directorio completo, incluido el propio archivo de clase.
  • Si tu directorio es org.bukkit.plugin, y tu archivo de clase se llama MiPlugin entonces esto debe ser org.bukkit.plugin.MiPlugin
database No Establece a true si el plugin utiliza una base de datos. database: false
depend No Lista de plugins que este requiere para cargar. depend: [UnPlugin, OtroPlugin]
  • El valor debe ser en formato de lista YAML. (Vea https://es.wikipedia.org/wiki/YAML#Listas)
  • Utiliza el atributo "name" del plugin requerido para especificar la dependencia.
  • Si algún plugin de esta lista no esta en tu servidor este plugin no cargará
  • Si varios complementos se listan entre sí como dependientes, sin haber uno que pueda cargarse independientemente, ninguno cargara.
prefix No El nombre que se utilizara en la consola a la hora de iniciar el plugin en lugar del nombre del plugin. prefix: ex-why-zee
softdepend No Lista de plugins que este requiere para tener un funcionamiento completo. softdepend: [UnPlugin, OtroPlugin]
  • El valor debe ser en formato de lista YAML (Vea https://es.wikipedia.org/wiki/YAML#Listas)
  • Utiliza el atributo "name" del plugin requerido para especificar la dependencia.
  • Tu plugin se cargara luego de todos los que estén en esta lista.
  • Si dos plugins se listan aquí mutuamente se cargaran al azar.
loadbefore No Lista de plugins que deben cargar antes que este. loadbefore: [UnPlugin, OtroPlugin]
  • El valor debe ser en formato de lista YAML (Vea https://es.wikipedia.org/wiki/YAML#Listas)
  • Utiliza el atributo "name" del plugin requerido para especificar la dependencia.
  • Tu plugin se cargara luego de todos los que estén en esta lista.
  • Si dos plugins se listan aquí mutuamente se cargaran al azar.
commands No Comandos que el plugin desee registar, así como una lista opcional de atributos para estos. commands:

flagrate:

[atributos de comando opcionales]

  • El nombre del comando no debe contener el '/' inicial requerido para usarlo.
  • Puede elegir el nombre que quiera, pero a menudo los comandos más "comunes" como /kick están registrados. Utilice el atributo 'alias' para proporcionar nombres alternativos. @TODO verificamos que estamos felices con esto.
permissions No Permisos que el plugin desee registrar. Cada nodo representa un permiso a registrar. Cada permiso puede tener atributos adicionales. permissions:

inferno.*:

[atributos de permiso opcionales]

inferno.flagate:

[atributos de permiso opcionales]

inferno.burningdeaths:

[atributos de permiso opcionales]

  • El registro de permisos es opcional. También se puede hacer desde el código.
  • El registro de permisos le permite colocar descripciones, valores predeterminados y más.
  • Los nombres de los permisos deben mantenerse en el estilo de <plugin>.[categoría].[categoría].<permiso>

Un bloque de comandos comienza con el nombre de comando, y luego con una lista de atributos.

Atributo

de

Comando

Requerido Descripción Ejemplo Notas
description No Una breve descripción de lo que hace el comando. description: Te prende fuego a ti mismo.
  • Puede ser usado en conjunto con el /help
aliases No Nombres alternativos del comando que pueden

usar los usuarios en su lugar.

aliases: quemarme O

aliases: [quemar_me, quemarme, qme]

permission No El permiso más básico requerido para usar

el comando.

permission: inferno.flagrate
  • Este nodo de permiso se puede usar para determinar si un usuario debería poder ver este comando.
  • Algunos plugins utilizan este nodo para construir un /help personalizado.
permission-messge No Mensaje que se muestra cuando el jugador no tiene el permiso requerido. permission-message: No tienes el permiso <permission>
  • Se muestra cuando el jugador que usa el comando no tiene el permiso asociado.
  • <permission> es un macro que se reemplaza con el permiso requerido para usar el comando.
  • Puedes usar comillas vacias para indicar que no se debe mostrar nada.
usage No Una breve descripción de como se debe usar el comando. usage: ¡Error de sintaxis! ¿Tal vez quisiste decir /<command> Jugador?
  • Se muestra a quienquiera que haya usado el comando cuando el command handler del plugin (normalmente onCommand) no tiene return true.
  • <command> es una macro que se reemplaza con el comando usado.
  • Para usar la cadena "usage:" (es decir, usage: /god [jugador], rodee el texto luego del "usage:" con comillas dobles:

usage: "/god [Jugador]"

Un bloque de permisos comienza con el nombre del permiso, y luego con una lista de atributos.

Atributo

de

Permiso

Requerido Descripción Ejemplo Notas
description No Una breve descripción de lo que permite

este permiso.

description: Te permite prenderte fuego

a ti mismo.

  • Permite el acceso programático y ayuda a los administradores del servidor.
default No Establece el valor por defecto del permiso. default: true
  • Si este nodo no existe, el permiso por defecto es para OPs.
  • Los valores predeterminados validos son: false, true, op, not op
  • op default will be true if player is op
  • no op default is the opposite behavior (of op)

(No conseguí traducir esto)

children No Le permite configurar los "childrens" para el permiso.

Los nodos "child" son nombres de permisos.

children:

inferno.flagrate: true

inferno.burningdeaths: true

  • Cada nodo "child" debe estar configurado como true o false.
  • Un nodo "child" en true hereda el permiso principal.
  • Un nodo "child" en false hereda el permiso principal inverso.
  • También puede contener otros permisos.

(Estas traducciones pueden ser muy confusas, recomiendo verlas en ingles)

Ejemplo:

name: Inferno
version: 1.4.1
description: Este plugin es el 31337. Puedes prenderte fuego a ti mismo.
# Podríamos colocar a cada autor en la lista de autores, pero decidimos no hacerlo con 
# fines ilustrativos.
# Ademas, tener un autor distingue a esa persona como el líder del proyecto y asegura que 
# su nombre se muestre primero.

author: CaptainInflamo
authors: [zuhir, verrier, EvilSeph]
website: http://forums.bukkit.org/threads/MyPlugin.31337/

main: com.captaininflamo.bukkit.inferno.Inferno
database: false
depend: [NewFire, FlameWire]

commands:
  flagrate:
    description: Prendete fuego a ti mismo..
    aliases: [quemar_me, quemarme]
    permission: inferno.flagrate
    usage: ¡Error de sintaxis! Simplemente escribe /&lt;command&gt; para prenderte fuego a ti mismo.
  burningdeaths:
    description: Lista de cuantas veces has muerto quemado.
    aliases: [muertes_quemado, muertesquemado]
    permission: inferno.burningdeaths
    usage: |
      /&lt;command&gt; [player]
      Example: /&lt;command&gt; - mira cuantas veces has ardido hasta morir.
      Example: /&lt;command&gt; CaptainIce - mira cuantas veces ha muerto quemado CaptainIce

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
Advertisement