package net.minecraft.util;
import java.util.Iterator;
import java.util.List;
import net.minecraft.command.CommandException;
import net.minecraft.command.EntityNotFoundException;
import net.minecraft.command.ICommandSender;
import net.minecraft.command.PlayerSelector;
import net.minecraft.entity.Entity;
public class ChatComponentProcessor
{
private static final String __OBFID = "CL_00002310";
public static IChatComponent func_179985_a(ICommandSender p_179985_0_, IChatComponent p_179985_1_, Entity p_179985_2_) throws CommandException
{
Object var3 = null;
if (p_179985_1_ instanceof ChatComponentScore)
{
ChatComponentScore var4 = (ChatComponentScore)p_179985_1_;
String var5 = var4.func_179995_g();
if (PlayerSelector.hasArguments(var5))
{
List var6 = PlayerSelector.func_179656_b(p_179985_0_, var5, Entity.class);
if (var6.size() != 1)
{
throw new EntityNotFoundException();
}
var5 = ((Entity)var6.get(0)).getName();
}
var3 = p_179985_2_ != null && var5.equals("*") ? new ChatComponentScore(p_179985_2_.getName(), var4.func_179994_h()) : new ChatComponentScore(var5, var4.func_179994_h());
((ChatComponentScore)var3).func_179997_b(var4.getUnformattedTextForChat());
}
else if (p_179985_1_ instanceof ChatComponentSelector)
{
String var7 = ((ChatComponentSelector)p_179985_1_).func_179992_g();
var3 = PlayerSelector.func_150869_b(p_179985_0_, var7);
if (var3 == null)
{
var3 = new ChatComponentText("");
}
}
else if (p_179985_1_ instanceof ChatComponentText)
{
var3 = new ChatComponentText(((ChatComponentText)p_179985_1_).getChatComponentText_TextValue());
}
else
{
if (!(p_179985_1_ instanceof ChatComponentTranslation))
{
return p_179985_1_;
}
Object[] var8 = ((ChatComponentTranslation)p_179985_1_).getFormatArgs();
for (int var10 = 0; var10 < var8.length; ++var10)
{
Object var12 = var8[var10];
if (var12 instanceof IChatComponent)
{
var8[var10] = func_179985_a(p_179985_0_, (IChatComponent)var12, p_179985_2_);
}
}
var3 = new ChatComponentTranslation(((ChatComponentTranslation)p_179985_1_).getKey(), var8);
}
ChatStyle var9 = p_179985_1_.getChatStyle();
if (var9 != null)
{
((IChatComponent)var3).setChatStyle(var9.createShallowCopy());
}
Iterator var11 = p_179985_1_.getSiblings().iterator();
while (var11.hasNext())
{
IChatComponent var13 = (IChatComponent)var11.next();
((IChatComponent)var3).appendSibling(func_179985_a(p_179985_0_, var13, p_179985_2_));
}
return (IChatComponent)var3;
}
}