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
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
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
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
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
Por fim só voltar no onEnable da sua classe main e registrar o evento
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
Sugestões, pedidos, criticas, duvidas Mande um MP
ou comente ai no tópico
Vlw e até o próxima aula
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
Código:
e.setFormat("");
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 + "="

Código:
p.getname
Server para que o plugin pegue o nome do player
Código:
e.getMenssage
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


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