package net.minecraft.nbt;
import com.mojang.authlib.GameProfile;
import com.mojang.authlib.properties.Property;
import java.util.Iterator;
import java.util.UUID;
import net.minecraft.util.StringUtils;
public final class NBTUtil
{
private static final String __OBFID = "CL_00001901";
/**
* Reads and returns a GameProfile that has been saved to the passed in NBTTagCompound
*/
public static GameProfile readGameProfileFromNBT(NBTTagCompound compound)
{
String var1 = null;
String var2 = null;
if (compound.hasKey("Name", 8))
{
var1 = compound.getString("Name");
}
if (compound.hasKey("Id", 8))
{
var2 = compound.getString("Id");
}
if (StringUtils.isNullOrEmpty(var1) && StringUtils.isNullOrEmpty(var2))
{
return null;
}
else
{
UUID var3;
try
{
var3 = UUID.fromString(var2);
}
catch (Throwable var12)
{
var3 = null;
}
GameProfile var4 = new GameProfile(var3, var1);
if (compound.hasKey("Properties", 10))
{
NBTTagCompound var5 = compound.getCompoundTag("Properties");
Iterator var6 = var5.getKeySet().iterator();
while (var6.hasNext())
{
String var7 = (String)var6.next();
NBTTagList var8 = var5.getTagList(var7, 10);
for (int var9 = 0; var9 < var8.tagCount(); ++var9)
{
NBTTagCompound var10 = var8.getCompoundTagAt(var9);
String var11 = var10.getString("Value");
if (var10.hasKey("Signature", 8))
{
var4.getProperties().put(var7, new Property(var7, var11, var10.getString("Signature")));
}
else
{
var4.getProperties().put(var7, new Property(var7, var11));
}
}
}
}
return var4;
}
}
public static NBTTagCompound writeGameProfile(NBTTagCompound p_180708_0_, GameProfile p_180708_1_)
{
if (!StringUtils.isNullOrEmpty(p_180708_1_.getName()))
{
p_180708_0_.setString("Name", p_180708_1_.getName());
}
if (p_180708_1_.getId() != null)
{
p_180708_0_.setString("Id", p_180708_1_.getId().toString());
}
if (!p_180708_1_.getProperties().isEmpty())
{
NBTTagCompound var2 = new NBTTagCompound();
Iterator var3 = p_180708_1_.getProperties().keySet().iterator();
while (var3.hasNext())
{
String var4 = (String)var3.next();
NBTTagList var5 = new NBTTagList();
NBTTagCompound var8;
for (Iterator var6 = p_180708_1_.getProperties().get(var4).iterator(); var6.hasNext(); var5.appendTag(var8))
{
Property var7 = (Property)var6.next();
var8 = new NBTTagCompound();
var8.setString("Value", var7.getValue());
if (var7.hasSignature())
{
var8.setString("Signature", var7.getSignature());
}
}
var2.setTag(var4, var5);
}
p_180708_0_.setTag("Properties", var2);
}
return p_180708_0_;
}
}