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:
- Através de uma string. Este é, provavelmente, o método mais fácil, e será o primeiro que irei explicar.
- 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 • беларуская • Deutsch • español • suomi • français • italiano • 한국어 • Nederlands • norsk • polski • português • русский • lietuvių • čeština |
---|