Ir para conteúdo
  • 0

[Resolvido] O chat não fica colorido!


Guest DevilSecktor

Pergunta

Guest DevilSecktor

Eae galera, o meu problema é o seguinte, o meu chat nao pega & mas no broadcast, placa etc pega menos no chat!

Ai meu codigo: 

package me.sanakits.Utils;

import org.bukkit.ChatColor;
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 onPlayerChatRank(AsyncPlayerChatEvent e)
	  {
	    Player p = e.getPlayer();
	    String msg = e.getMessage();
		e.setMessage(ChatColor.translateAlternateColorCodes('&', msg));
	    e.setFormat(p.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD + " > " + ChatColor.RESET + msg);
	  }

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

9 respostass a esta questão

Posts Recomendados

@EventHandler

public void onPlayerChatRank(AsyncPlayerChatEvent e)

{

Player p = e.getPlayer();

e.setFormat(p.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD + " > " + ChatColor.RESET + e.getMessage().replace("&", "§"));

}

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

 @EventHandler
	  public void onPlayerChatRank(AsyncPlayerChatEvent e)
	  {
	    Player p = e.getPlayer();
	    String msg = e.getMessage();
	    e.setMessage(msg.replace("&", "§"));
	    e.setFormat(p.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD + " > " + ChatColor.RESET + msg);
	  }

Assim é o maneira simples, e funciona.

 

o erro dele foi setar a mensagem depois de pegar a antiga, você fez a mesma coisa.

 

Código correto:

@EventHandler
public void onPlayerChatRank(AsyncPlayerChatEvent e) {
    Player p = e.getPlayer();
    e.setMessage(e.getMessage().replace("&", "§"));
    String msg = e.getMessage().replace("&", "§");
    e.setFormat(p.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD + " > " + ChatColor.RESET + msg);
}
Editado por BrineDev
Link para o comentário
Compartilhar em outros sites

      @EventHandler
      public void onPlayerChatRank(AsyncPlayerChatEvent e) {
        e.setFormat(e.getPlayer().getDisplayName() + ChatColor.GOLD + ChatColor.BOLD + " > " + ChatColor.RESET + e.getMessage().replace("&", "§"));
      }

 

Código mais simples e menos bugado possível e-e

 

@Edit Só vi agora que mais gente posto ;-;

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

@EventHandler

public void onPlayerChatRank(AsyncPlayerChatEvent e)

{

Player p = e.getPlayer();

e.setFormat(p.getDisplayName() + ChatColor.GOLD + ChatColor.BOLD + " > " + ChatColor.RESET + e.getMessage().replace("&", "§"));

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

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