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!

We have begun migration of most wikis to our new host, Amazon Web Services. All but the top 100 wikis are in read-only mode until the migration is complete. Estimated completion: End of Week.

Plugin YAML/pt

From BukkitWiki
Jump to: navigation, search

Quando Bukkit carrega um plugin, ele precisa saber algumas informações básicas sobre ele. Ele lê essas informações de um arquivo YAML, 'plugin.yml'. Este arquivo é composto por um conjunto de atributos, cada um definido em uma linha e sem recuo.

Attributes
Atributo Requerido? Descrição Exemplo Notas
name sim O nome de seu plugin name: MeuPlugin
  • Deve conter apenas caracteres alfanuméricos e sublinhado (a-z,A-Z,0-9, _)
  • Usado para determinar a pasta de dados do plugin. As pastas de dados são colocados na pasta ./plugins/ por padrão.
  • É recomendado colocar o mesmo nome na jar, por exemplo 'MeuPlugin.jar'
version sim A versão de seu plugin version: 1.4.1
  • Version é uma seqüência arbitrária, no entanto, o formato mais comum é LançamentoMaior.LançamentoMenor.Construção (ex: 1.4.1).
  • Normalmente você vai aumentar esse valor a cada vez que você lançar um novo recurso ou correção de bug.
  • É exibido quando um usuário digita /version NomeDoPlugin
description não Uma descrição sobre a funcionalidade que seu plugin proporciona description: Esse plugin permite que você se coloque em chamas.
  • A descrição pode conter várias linhas.
  • É exibida quando um usuário digita /version NomeDoPlugin
load não Especifica quando seu plugin será carregado. Se não for definido, o padrão será POSTWORLD. load: STARTUP Tem 2 valores possíveis.
  • STARTUP
  • POSTWORLD
author não Identifica quem desenvolveu o plugin. author: CaptainInflamo
  • Dá credito ao desenvolvedor.
  • Usado em algumas mensagens de erro para fornecer comentários úteis sobre quem contatar quando ocorre um erro.
  • É recomendado usar seu nick do bukkit.org ou seu endereço de e-mail.
  • É exibido quando um usuário digita /version NomeDoPlugin
authors não Permite listar vários autores, se for um trabalho coletivo. Veja author. authors: [Cogito, verrier, EvilSeph]
  • Você pode definir tanto o autor e os autores, porém eles serão mesclados em um lista interna.
website não O website do plugin ou do autor. website: http://forums.bukkit.org/threads/MyPlugin.31337/
  • Se você não tem site dedicado, é recomendado usar um link para o post no fórum Bukkit onde este plugin está listado.
  • É exibido quando um usuário digita /version NomeDoPlugin
main sim Aponta a classe que você usa 'extends JavaPlugin' main: org.bukkit.plugin.MyPlugin
  • Note que isso deve conter o endereço completo para a classe, incluindo o nome da classe.
  • Se seu namespace for org.bukkit.plugin, e sua classe se chama MyPlugin então isso deve ser org.bukkit.plugin.MyPlugin
database não Marque true se seu plugin usa uma base de dados. database: false
depend não Uma lista de plugins que o seu plugin requer para carregar. depend: [UmPlugin, OutroPlugin]
  • O valor deve estar em um formato de lista YAML (Veja http://pt.wikipedia.org/wiki/YAML#Listas )
  • Use o atributo "name" do plugin necessário para especificar a dependência.
  • Se algum plugin listado aqui não for encontrado o seu plugin não irá carregar.
  • Se você definir uma lista de vários plugins e eles forem dependentes uns aos outros, todos irão falhar ao carregar.
  • (Veja: Wiki: Plugin_Dependencies)
prefix não O nome a ser usado para exibir no log do console, em vez do nome do plugin. prefix: prefixo-exibido
softdepend não Uma lista de plugins que são necessários para o seu plugin para ter uma funcionalidade completa. softdepend: [UmPlugin, OutroPlugin]
  • O valor deve estar em um formato de lista YAML (Veja http://pt.wikipedia.org/wiki/YAML#Listas )
  • Use o atributo "name" do plugin necessário para especificar a dependência.
  • Seu plugin irá carregar depois dos plugins listados aqui.
  • softdepend's circulares são carregados de forma arbitrária.
  • (Veja: Wiki: Plugin_Dependencies)
loadbefore não Uma lista de plugins que devem ser carregados após o seu plugin. loadbefore: [UmPlugin, OutroPlugin]
  • O valor deve estar em um formato de lista YAML (Veja http://pt.wikipedia.org/wiki/YAML#Listas )
  • Seu plugin será tratado como softdepend dos plugins listados.
  • Use o atributo "name" do plugin necessário para especificar a dependência.
  • Seu plugin irá carregar antes de todos plugins listados aqui.
  • softdepend's circulares são carregados de forma arbitrária.
  • (Veja: Wiki: Plugin_Dependencies)
commands não Os comandos que o plugin quer registrar, e também uma lista opcional de atributos.

commands:
 flagrate:
   [atributos opcionais de comandos]

  • O comando não pode conter o iniciante '/' que deve ser colocado para emitir um comando.
  • Você pode escolher o nome que você deseja para o comando no entanto, comandos 'comuns' como /kick muitas vezes já estão registrados. Use o atributo 'alias' para registrar comandos alternativos. @TODO: nós estamos felizes com isso.
permissions não Permissões que o plugin deseja registrar. Cada node representa uma permissão para se registrar. Cada permissão pode ter atributos adicionais.
permissions:
  inferno.*:
    [atributos opcionais de permissões]
  inferno.flagate:
    [atributos opcionais de permissões]
  inferno.burningdeaths:
    [atributos opcionais de permissões]
  • O registro de permissões é opcional, também pode ser feito a partir do código.
  • O registro de permissões permite que você defina as descrições, padrões e permissões pai e filhas.
  • Nomes de permissão devem ser mantidas no estilo de <nome do plugin>.[categoria].[categoria].<permissão>


Um bloco de comando inicia com o nome do comando, e em seguida a lista de atributos.

Atributo Requerido? Descrição Exemplo Notas
description não Uma curta descrição do que seu comando faz. description: Coloca fogo em si mesmo.
  • Pode ser utilizado em conjunto com /help
aliases não Nomes de comandos alternativos que um usuário pode usar no lugar do comando original.
aliases: combust_me OU 
aliases: [combust_me, combustMe, cm]
permission não O node de permissão mais básico requerido para usar o comando.
permission: inferno.flagrate
  • Este node de permissão pode ser usado para determinar se um player deve ser capaz de ver o comando
  • Alguns plugins podem usar isso para fazerem um /help personalizado.
permission-message não Uma mensagem para quando não há permissão. permission-message: Você não tem a permissão /<permission>
  • Exibito a um player que tenta usar o comando, mas não tem a permissão associada.
  • <permission> e um macro que é substituído com o node de permissão que é necessário para usar o comando.
  • Você pode usar aspas vazias para indicar nada deve ser exibido.
usage não Uma curta descrição de como deve ser usado o comando. usage: Esso de sintaze! Talvez você queira dizer /<command> NomeDoPlayer?
  • Exibido para quem emitiu o comando quando o handler de comando do plugin (tipicamente onCommand) retorna com return false.
  • <command> é uma macro que é substituída pelo comando emitido onde quer que ocorra.
  • Para usar a string "Uso:" (ex: usage: Uso: /god [player], coloque o texto após usage: entre aspas duplas:
    usage: "Uso: /god [player]"


Um bloco de permissão começa com o nome da permissão, e em seguida uma lista de atributos

Atributo Requerido? Descrição Exemplo Notas
description não Uma curta descrição do que a permissão permite
description: Permite que o player coloque fogo em si mesmo
  • Permite o acesso programado, e ajuda os administradores dos servidores.
default não Marca o valor padrão da permissão
default: true
  • Se não existir o padrão será marcado para OP
  • valores permitidos: true, false, op, not op
  • padrão op significa que o player terá permissão se ele for op
  • not op significa o contrário(sem op)
children não Permite que você defina as permissões-filhas da permissão. Nodes filhas são geralmente nomes de permissão
children:
  inferno.flagrate: true
  inferno.burningdeaths: true
  • Cada node de permissões filhas deve ser defina como true ou false
    • Uma node com true faz a permissão pai herda-la
    • Uma node com false herda a permissão inversa.
  • Também pode conter outros nodes de permissão {1}


Exemplo:

 name: Inferno
 version: 1.4.1
 description: Esse plugin permite que você se coloque em chamas.
 # We could place every author in the authors list, but chose not to for illustrative purposes
 # Also, having an author distinguishes that person as the project lead, and ensures their 
 # name is displayed first
 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: Coloca fogo em si.
     aliases: [combust_me, combustMe]
     permission: inferno.flagrate
     usage: Erro de sintaxe! Use simplesmente /&lt;command&gt; para colocar fogo em si.
   burningdeaths:
     description: Lista quantas vezes voce ja morreu pelo fogo.
     aliases: [burning_deaths, burningDeaths]
     permission: inferno.burningdeaths
     usage: |
       /&lt;command&gt; [player]
       Exemplo: /&lt;command&gt; - ve quantas vezes você foi queimado ate a morte
       Exemplo: /&lt;command&gt; CaptainIce - ve quantas vezes CaptainIce foi queimado ate a morte
 
 permissions:
   inferno.*:
     description: Da acesso a todos comandos do Inferno
     children:
       inferno.flagrate: true
       inferno.burningdeaths: true
       inferno.burningdeaths.others: true
   inferno.flagrate:
     description: Permite colocar fogo em si
     default: true
   inferno.burningdeaths:
     description: Permite ver quantas vezes voce foi queimado ate a morte
     default: true
   inferno.burningdeaths.others:
     description: Permite ver quantas vezes outros players foram queimados ate a morte
     default: op
     children:
       inferno.burningdeaths: true
Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorsk bokmålpolskiportuguêsрусскийlietuviųčeština