Ir para conteúdo

Colocar mais de 2 json na mesma linha.


Cassiano_14

Posts Recomendados

eu tenho uma classe utilitária que pode te ajudar ai

exemplo:

new FancyMessage("Criativo").command("/gamemode 1").text(" ").text("Sobrevivência").command("/gamemode 0").send(player);

 

Link para o comentário
Compartilhar em outros sites

TextComponent a = new TextComponent("Oi");

Adiciona as ações de a... (a.setHoverEvent, a.setClickEvent)

TextComponent b = new TextComponent("Tchau");

Adiciona as ações de b... (b.setHoverEvent, b.setClickEvent);

a.addExtra(b);

Se quiser adicionar um texto sem nada antes, é só criar um TextComponent e não adicionar nenhuma ação.

Link para o comentário
Compartilhar em outros sites

11 minutos atrás, Lightwood disse:

TextComponent a = new TextComponent("Oi");

Adiciona as ações de a... (a.setHoverEvent, a.setClickEvent)

TextComponent b = new TextComponent("Tchau");

Adiciona as ações de b... (b.setHoverEvent, b.setClickEvent);

a.addExtra(b);

Se quiser adicionar um texto sem nada antes, é só criar um TextComponent e não adicionar nenhuma ação.

Não entendi.

 

26 minutos atrás, jeta disse:

eu tenho uma classe utilitária que pode te ajudar ai

exemplo:


new FancyMessage("Criativo").command("/gamemode 1").text(" ").text("Sobrevivência").command("/gamemode 0").send(player);

 

Não deu certo.

 

Vo enviar um exemplo de um server http://prntscr.com/klpb7e

Editado por Cassiano_14
Link para o comentário
Compartilhar em outros sites

Hum, acho que você tem 3 opções:

  1. Usar o "TextComponent" como o @Lightwood comentou;(Apenas para Spigot. TUTORIAL)
  2. O "FancyMessage" do @jeta;(Ele usa o "TextComponent" como base e deixa tudo mais fácil. TÓPICO)
  3. Ou você pode aprender "JSON", escrever tudo na mão e mandar o "packet";(PROTOCOL e COMPONENTS)

Utilizando o "TextComponent":
 

public void sendMessage(Player player){
    //Criando a mensagem
    TextComponent message = new TextComponent("Olá, ");
  
    //Colocando um texto quando passar em cima dela
    message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("rélouu").create()));
  	
    //Criando uma outra mensagem
    TextComponent message2 = new TextComponent("e boa noite.");
  
    //Colocando um texto quando passar em cima dela
    message2.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Goodi naiti").create()));
  
    //Juntando a segunda mensagem com a primeira  
    message.addExtra(message2);
    
    //Mandando para o jogador
    player.spigot().sendMessage(message);
}

Utilizando o "FancyMessage":

public void sendMessage(Player player){
    //Criando a mensagem
    FancyMessage message = new FancyMessage("Olá, ");
  
    //Colocando um texto quando passar em cima dela
    message.hover("rélouu");
  
    //Criando outra mensagem, e ela já vai ser junta com a primeira
    message.text("e boa noite.");
  
    //Colocando um texto quando passar em cima dela
    message.hover("Goodi naiti");
  
    //Mandando para o jogador
    message.send(player);
}

Escrevendo tudo na mão:

public void sendMessage(Player player){
    String json = "{text: 'Olá, ', hoverEvent: {action: 'show_text', value: 'rélouu'}, extra:[{text: 'e boa noite.', hoverEvent: {action: 'show_text', value: 'Goodi naiti'}}]}";
    Packet packet = new PacketPlayOutChat(ChatSerializer.a(json), 1);
    ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);
}

 

Editado por bieel1503
Esqueci de adicionar links.
Link para o comentário
Compartilhar em outros sites

56 minutos atrás, bieel1503 disse:

Hum, acho que você tem 3 opções:

  1. Usar o "TextComponent" como o @Lightwood comentou;(Apenas para Spigot. TUTORIAL)
  2. O "FancyMessage" do @jeta;(Ele usa o "TextComponent" como base e deixa tudo mais fácil. TÓPICO)
  3. Ou você pode aprender "JSON", escrever tudo na mão e mandar o "packet";(PROTOCOL e COMPONENTS)

Utilizando o "TextComponent":
 


public void sendMessage(Player player){
    //Criando a mensagem
    TextComponent message = new TextComponent("Olá, ");
  
    //Colocando um texto quando passar em cima dela
    message.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("rélouu").create()));
  	
    //Criando uma outra mensagem
    TextComponent message2 = new TextComponent("e boa noite.");
  
    //Colocando um texto quando passar em cima dela
    message2.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new ComponentBuilder("Goodi naiti").create()));
  
    //Juntando a segunda mensagem com a primeira  
    message.addExtra(message2);
    
    //Mandando para o jogador
    player.spigot().sendMessage(message);
}

Utilizando o "FancyMessage":


public void sendMessage(Player player){
    //Criando a mensagem
    FancyMessage message = new FancyMessage("Olá, ");
  
    //Colocando um texto quando passar em cima dela
    message.hover("rélouu");
  
    //Criando outra mensagem, e ela já vai ser junta com a primeira
    message.text("e boa noite.");
  
    //Colocando um texto quando passar em cima dela
    message.hover("Goodi naiti");
  
    //Mandando para o jogador
    message.send(player);
}

Escrevendo tudo na mão:


public void sendMessage(Player player){
    String json = "{text: 'Olá, ', hoverEvent: {action: 'show_text', value: 'rélouu'}, extra:[{text: 'e boa noite.', hoverEvent: {action: 'show_text', value: 'Goodi naiti'}}]}";
    Packet packet = new PacketPlayOutChat(ChatSerializer.a(json), 1);
    ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);
}

 

Cara tu poderia passar algum exemplo tipo dar /gb e aparacer no lado esquerdo "BOM" e no lado direito "RUIM" dai o "BOM" executa o comando "/say bom" e o "RUIM" executa o comando "/say ruim" 

Link para o comentário
Compartilhar em outros sites

...

public void sendMessage(Player player){
    TextComponent message = new TextComponent("BOM ");
    message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/say bom"));
    TextComponent message2 = new TextComponent("RUIM");
    message2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/say ruim"));
    message.addExtra(message2);
    player.spigot().sendMessage(message);
}

 

Editado por bieel1503
Link para o comentário
Compartilhar em outros sites

22 horas atrás, bieel1503 disse:

...


public void sendMessage(Player player){
    TextComponent message = new TextComponent("BOM ");
    message.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/say bom"));
    TextComponent message2 = new TextComponent("RUIM");
    message2.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/say ruim"));
    message.addExtra(message2);
    player.spigot().sendMessage(message);
}

 

Resolvido eu precisava só disso    message.addExtra(message2);

Podem fechar o topico!

Editado por Cassiano_14
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...