[Java #3] Tags no chat

Discussão em 'Botecolandia' iniciado por imperiius, 24 Abril 2017.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,087
    Curtidas Recebidas:
    914
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    2,547.00
    Nick:
    imperiius
    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"

    [​IMG]

    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 + "="

    [​IMG]

    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
    [​IMG]
    [​IMG]

    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 :D

    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
     
  2. Bielzilao

    Bielzilao Craftlandiano
    VIP

    Afiliado:
    3 Setembro 2012
    Mensagens:
    8,359
    Curtidas Recebidas:
    1,895
    Curtiu:
    0
    Sexo:
    Masculino
    Cubos:
    1,433.00
    Nick:
    iBieel
    Legal a iniciativa :).

    Dica: use [ code] [/code ] (sem os espaços) para colocar linhas de códigos em seu tópico, deixa muito mais organizado e legível.
     
    DangerousPlay e imperiius curtiram isso.
  3. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,087
    Curtidas Recebidas:
    914
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    2,547.00
    Nick:
    imperiius
    Vlw pela dica
     
  4. Ruztec

    Ruztec Excelente
    VIP

    Afiliado:
    25 Dezembro 2014
    Mensagens:
    2,101
    Curtidas Recebidas:
    210
    Curtiu:
    227
    Sexo:
    Masculino
    Localização:
    Goiânia - GO
    Cubos:
    873.00
    Nick:
    Ruztec
    Clan:
    NCR ❤ Necromancy
    Discord:
    Ruztec#4769
    Ótimo tópico, like :)
     
  5. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,087
    Curtidas Recebidas:
    914
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    2,547.00
    Nick:
    imperiius
    Vlw Manin <3
     
  6. Between

    Between Neutro
    Banido

    Afiliado:
    23 Abril 2017
    Mensagens:
    43
    Curtidas Recebidas:
    17
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Brasil
    Cubos:
    55.00
    Nick:
    Brights
    Realmente gostei dessa sua iniciativa de ensinar um pouco sobre JavaPlugin para os players, continue.
     
  7. yPedrao

    yPedrao Craftlandiano
    VIP

    Afiliado:
    19 Abril 2017
    Mensagens:
    5,937
    Curtidas Recebidas:
    1,031
    Curtiu:
    678
    Sexo:
    Masculino
    Cubos:
    1,028.00
    Nick:
    Pedrao1134
    Clan:
    Trupe
    Discord:
    Pedrao1134#4829
    Aí sim, continue assim! ;)
     
  8. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,087
    Curtidas Recebidas:
    914
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    2,547.00
    Nick:
    imperiius
    Vlw, vou continuar a ensinar e aprender mais tambem
     
  9. Between

    Between Neutro
    Banido

    Afiliado:
    23 Abril 2017
    Mensagens:
    43
    Curtidas Recebidas:
    17
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Brasil
    Cubos:
    55.00
    Nick:
    Brights
    Evento de particulas seria uma otima ideia pra se ensinar tambem !
     
  10. ZuWay

    ZuWay Craftlandiano
    VIP

    Afiliado:
    12 Fevereiro 2014
    Mensagens:
    6,509
    Curtidas Recebidas:
    578
    Curtiu:
    616
    Sexo:
    Masculino
    Localização:
    /home
    Cubos:
    499.00
    Nick:
    ZuWay
    Nice bom topico e muito informativo

    Enviado de meu TR71 usando Tapatalk
     
  11. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,087
    Curtidas Recebidas:
    914
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    2,547.00
    Nick:
    imperiius
    Se refere aquele sisteme de server minigame que tem varios efeitos diferentes que onde você vai o efeito vai junto?
     
  12. GamerCalibre

    GamerCalibre Excelente
    VIP

    Afiliado:
    23 Novembro 2015
    Mensagens:
    5,078
    Curtidas Recebidas:
    329
    Curtiu:
    319
    Sexo:
    Masculino
    Localização:
    Faro
    Cubos:
    391.00
    Nick:
    GamerCalibre
    Clan:
    FmL
    Nuss vai ajudar a staff a fazer otimos trabalhos com os servers era legal mudar as cores do nome do player da forma como queremos tlgd , otima inciativa !

    Enviado do meu GT-I8190 através de Tapatalk
     
    imperiius curtiu isso.
  13. imperiius

    imperiius Craftlandiano
    VIP

    Afiliado:
    4 Março 2014
    Mensagens:
    4,087
    Curtidas Recebidas:
    914
    Curtiu:
    465
    Sexo:
    Masculino
    Cubos:
    2,547.00
    Nick:
    imperiius
    Primeiro esse tipo de coisa teria que ter a aceitação da staff
    alem de que a staff que cuida dos plugins sabe 1000x mais que eu
     
  14. WiBrahhORG

    WiBrahhORG Razoavel
    Banido

    Afiliado:
    16 Abril 2016
    Mensagens:
    989
    Curtidas Recebidas:
    97
    Curtiu:
    0
    Sexo:
    Masculino
    Cubos:
    1,039.00
    Nick:
    xWiBr4hh
    Clan:
    No Existenty
    Legal mano

    Enviado de meu LG-E455f usando Tapatalk
     
  15. Between

    Between Neutro
    Banido

    Afiliado:
    23 Abril 2017
    Mensagens:
    43
    Curtidas Recebidas:
    17
    Curtiu:
    0
    Sexo:
    Masculino
    Localização:
    Brasil
    Cubos:
    55.00
    Nick:
    Brights
    Exato!
     
  16. Migunferox

    Migunferox Excelente
    VIP

    Afiliado:
    4 Novembro 2012
    Mensagens:
    1,071
    Curtidas Recebidas:
    262
    Curtiu:
    136
    Sexo:
    Masculino
    Localização:
    Goiânia - GO
    Cubos:
    1,324.00
    Nick:
    MigunMigun
    Boaa Negooww...
     
Status do Tópico:
Não esta aberto para novas mensagens.