package universalteam.universalcore.nick;
import codechicken.lib.packet.PacketCustom;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.PlayerEvent;
import net.minecraft.entity.player.EntityPlayer;
import universalteam.universalcore.network.PacketConstants;
import universalteam.universalcore.utils.ServerUtil;
public class NicknameHandler
{
@SubscribeEvent
public void onPlayerLogin(PlayerEvent.PlayerLoggedInEvent event)
{
String joinPlayerName = event.player.getGameProfile().getName();
if (!NicknameData.nicknames.containsKey(joinPlayerName))
NicknameData.nicknames.put(joinPlayerName, joinPlayerName);
NicknameData.updateNickname(joinPlayerName);
for (String name : ServerUtil.getAllPlayers_list())
{
EntityPlayer player = ServerUtil.getPlayerForUserName(name);
if (player == null)
return;
String username = player.getCommandSenderName();
String nickname = NicknameData.getNickname(username);
if (!nickname.equals(username))
sendNickPacket(username, nickname, event.player);
}
sendNickPacketToAll(joinPlayerName, NicknameData.getNickname(joinPlayerName));
}
@SubscribeEvent
public void onNameFormat(net.minecraftforge.event.entity.player.PlayerEvent.NameFormat event)
{
event.displayname = NicknameData.getNickname(event.entityPlayer.getCommandSenderName());
}
private void sendNickPacket(String username, String nickname, EntityPlayer player)
{
PacketCustom packet = new PacketCustom(PacketConstants.CHANNEL, PacketConstants.UPDATE_NICK_NAME);
packet.writeString(username);
packet.writeString(nickname);
packet.sendToPlayer(player);
}
private void sendNickPacketToAll(String username, String nickname)
{
PacketCustom packet = new PacketCustom(PacketConstants.CHANNEL, PacketConstants.UPDATE_NICK_NAME);
packet.writeString(username);
packet.writeString(nickname);
packet.sendToClients();
}
}