package net.minecraft.client.resources.data;
import com.google.common.collect.Sets;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map.Entry;
import net.minecraft.client.resources.Language;
import net.minecraft.util.JsonUtils;
public class LanguageMetadataSectionSerializer extends BaseMetadataSectionSerializer
{
private static final String __OBFID = "CL_00001111";
public LanguageMetadataSection deserialize(JsonElement p_deserialize_1_, Type p_deserialize_2_, JsonDeserializationContext p_deserialize_3_)
{
JsonObject var4 = p_deserialize_1_.getAsJsonObject();
HashSet var5 = Sets.newHashSet();
Iterator var6 = var4.entrySet().iterator();
String var8;
String var10;
String var11;
boolean var12;
do
{
if (!var6.hasNext())
{
return new LanguageMetadataSection(var5);
}
Entry var7 = (Entry)var6.next();
var8 = (String)var7.getKey();
JsonObject var9 = JsonUtils.getElementAsJsonObject((JsonElement)var7.getValue(), "language");
var10 = JsonUtils.getJsonObjectStringFieldValue(var9, "region");
var11 = JsonUtils.getJsonObjectStringFieldValue(var9, "name");
var12 = JsonUtils.getJsonObjectBooleanFieldValueOrDefault(var9, "bidirectional", false);
if (var10.isEmpty())
{
throw new JsonParseException("Invalid language->\'" + var8 + "\'->region: empty value");
}
if (var11.isEmpty())
{
throw new JsonParseException("Invalid language->\'" + var8 + "\'->name: empty value");
}
}
while (var5.add(new Language(var8, var10, var11, var12)));
throw new JsonParseException("Duplicate language->\'" + var8 + "\' defined");
}
/**
* The name of this section type as it appears in JSON.
*/
public String getSectionName()
{
return "language";
}
}