Estou aqui para dar continuidade nos ensinamentos de programação de plugins
Para quem não leu meus últimos tópicos recomendo olhar
Hoje irei criar um novo código
Java #1: http://forum.craftlandia.com.br/ipb/index.php?/topic/810407-java-criando-um-comando-basico/#entry7065173
java #2: http://forum.craftlandia.com.br/ipb/index.php?/topic/810686-java-2-itens-e-primeiro-evento/#entry7067010
===============================================================================
Hoje irei ensinar como criar tags para chat
Primeiro devemos criar uma nova classe no mesmo projeto
Se você não sabe como criar uma classe é por que não leu o primeiro tópico
Bois bem a unica coisa que iremos modificar na hora de criar uma nova classes
alem do nome é claro
Vamos adicionar uma interface "Listener" que servira para que possamos criar eventos em outras classes para fazer isso
basta estar na janela de criação de classes e clicar em "Add"
Apos feito isso só dar um Finish
E pronto agora temos uma nova classes para criar nossos eventos
e o evento que vamos usar hoje sera o
AsyncPlayerChatEvent
Evento de quando o Player falar no chat então vamos começar com o bassicos
Código:
public void onChat(AsyncPlayerChatEvent e) {
Player p = e.getPlayer();
}
Ok definido nosso player e nosso evento
agora vamos para as confirmações
vou dar exemplo de duas tags aqui
vocês podem fazer quantas quiser só seguir a mesma logica
então vamos a primeira verificação
Código:
if(p.hasPermission("tag.membro")) {
}
Aqui o plugin vai verificar se o Player tem a permissão "tag.membro"
Para isso vocês vão ter que configurar as permissões do servidor e adicionar os grupos permissões etc
recomendo que usem o permissions ex
Se for de interesse posso tentar fazer um tópico explicando o basico dele
continuando
Abaixo da verificação vamos colocar
Aqui vamos falar para o plugin modificar a mensagem que o jogador enviou
e a mensagem sera modificada para oque estiver dentro dos parênteses
Ex
Código:
e.setFormat("§7[MEMBRO]§a" + p.getName() + "§f: §8" + e.getMessage());
ok vamos explicar
primeiro esse caractere "§" serve para modificar as cores de mensagens
para fazer ele é só apertar ALT Gr + "="
Server para que o plugin pegue o nome do player
Server par ao plugin pegar a mensagem enviada
Quando fomos colocar uma captura de valores por meio de variáveis para que sejam exibidas em mensagens devemos deixá-los fora dos aspas ""
e adicionar um "+" antes dele e casso tenha mais coisa depois da variável outro "+" depois dele assim como podem ver na exemplo que dei
Então vou só dar mais um exemplo
Código:
if(p.hasPermission("diretor.tag")) {
e.setFormat("§9[Diretor]§c" + p.getName() + "§f: §d " + e.getMessage());
}
Aqui vamos dar uma tag de diretor e chat rosa para o player que tiver a permissão "diretor.tag"
Como ficou os meus chats
![[IMG]](http://image.prntscr.com/image/2000b6758ea843519f0e538747f404af.png)
![[IMG]](http://image.prntscr.com/image/ee56a4cba5664b5ea86be6e90f5ba6bd.png)
Por fim só voltar no onEnable da sua classe main e registrar o evento
Código:
getServer().getPluginManager().registerEvents(new NOME DA SUA CLASSE (), this);
Sem isso para registrar eventos de outras classes o plugin vai basicamente ignorar oque você fez
então é isso agora só exportar e testar 
Bom esse foi um tutorial mais curto por esse sistema ser mais simples
E se vocês quiserem que eu tente passar alguma coisa sobre PEX
comenta no tópico
Para finalizar nosso código ficou assim
Código:
package com.imperiius.tutorial;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
public class Chat implements Listener {
@EventHandler
public void onChat(AsyncPlayerChatEvent e) {
Player p = e.getPlayer();
if(p.hasPermission("tag.membro")) {
e.setFormat("§7[MEMBRO]§a" + p.getName() + "§f: §8" + e.getMessage());
}
if(p.hasPermission("diretor.tag")) {
e.setFormat("§9[Diretor]§c" + p.getName() + "§f: §d " + e.getMessage());
}
}
}
Sugestões, pedidos, criticas, duvidas Mande um MP
ou comente ai no tópico
Vlw e até o próxima aula