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

Introdução[]

Neste tutorial você irá aprender a desenvolver seu próprio plugin para gerenciar permissões utilizando a nova API Bukkit permissions.

Pré-requisito[]

Este tutorial leva em consideração que você possui uma boa noção da linguagem Java, e um conhecimento geral de desenvolvimento de plugin. Este tutorial irá apenas abordar assuntos específicos da API Bukkit permissions.

Permissible[]

Tudo que tiver relação a uma nova permissão deve ser herdado da classe Permissible. Atualmente este inclui apenas as classes Player e CommandSender, no entanto, teoricamente qualquer coisa pode ter permissões. Futuramente, neste tutorial, iremos abordar mais o jogador do que o objeto permissible.

PermissionAttachments[]

O que é PermissionAttachment?[]

Permission Attachment é uma forma do plugin gerenciar permissões dos jogadores e muito mais, permite com que diversos plugins possam gerenciar as permissões dos jogadores sem interferências, a menos, é claro, que ambos usem exatamente a mesma permissão.

Como criar e removê-los[]

Todo jogador precisa, primeiramente, ser "conectado(attached)" ao plugin para que possa ser gerenciado. Para criar um PermissionAttachment, use o seguinte:

PermissionAttachment attachment = player.addAttachment(plugin);

Você pode até mesmo criar uma conexão(attachment) que irá funcionar por uma determinada quantia de ticks:

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

Essa conexão(attachment) precisa ser armazenada em algum lugar. A melhor solução é criar um

HashMap<UUID,PermissionAttachment>

 e armazená-la com a ID do jogador. Isso irá garantir que você consiga gerenciar as permissões de um determinado jogador via Unique ID, e remover a conexão(attachment) quando não for mais necessário. O melhor meio de remover um attachment é no evento onPlayerQuit, onPlayerKick, e apagar tudo no evento onDisable. Para remover uma conexão(attachment) use o seguinte:

player.removeAttachment(attachment);

Atribuindo permissões[]

Há dois caminhos principais para atribuir uma permissão a um jogador:

  1. Através de uma string. Este é, provavelmente, o método mais fácil, e será o primeiro que irei explicar.
  2. Através do objeto permission. Este é um pouco mais complicado, no entanto, ele funciona exatamente da mesma forma que o método anterior, então não irei me preocupar com isso.


Para atribuir permissão a um jogador você precisa primeiro pegar a conexão(PermissionAttachment) que você criou anteriormente com a HashMap. Uma vez que você tenha pego a conexão(attachment), atribuir as permissões ao jogador torna-se moleza. Basta fazer fazer o seguinte:

attachment.setPermission(permissionName,permissionValue);

A permissionName é uma String, e permissionValue é um boolean. Você pode, posteriomente, remover a permissão do jogador (diferente de apenas definir para false) fazendo o seguinte:

attachment.unsetPermission(permissionName);

A razão pela qual você possa querer retirar a permissão do jogador é se você quiser que um outro plugin de permissões atribua permissões diferentes.

Conclusão[]

Isso é tudo o que há para saber sobre como escrever seu plugin de permissões. A implementação real do plugin, no entanto, depende de você. No entanto, posso dar algumas sugestões:

  • Um plugin RPG que dá permissões baseado na XP
  • Uma ponte que "linka" grupos/permissões de um fórum como phpBB com as permissões Bukkit
Language   EnglishбеларускаяDeutschespañolsuomifrançaisitaliano한국어Nederlandsnorskpolskiportuguêsрусскийlietuviųčeština
Advertisement