import java.util.HashMap;
import java.util.Map;
public class OTileEntity {
private static Map a = new HashMap();
private static Map b = new HashMap();
public OWorld d;
public int e;
public int f;
public int g;
private static void a(Class paramClass, String paramString) {
if (b.containsKey(paramString))
throw new IllegalArgumentException("Duplicate id: " + paramString);
a.put(paramString, paramClass);
b.put(paramClass, paramString);
}
public void a(ONBTTagCompound paramONBTTagCompound) {
e = paramONBTTagCompound.e("x");
f = paramONBTTagCompound.e("y");
g = paramONBTTagCompound.e("z");
}
public void b(ONBTTagCompound paramONBTTagCompound) {
String str = (String) b.get(getClass());
if (str == null)
throw new RuntimeException(getClass() + " is missing a mapping! This is a bug!");
paramONBTTagCompound.a("id", str);
paramONBTTagCompound.a("x", e);
paramONBTTagCompound.a("y", f);
paramONBTTagCompound.a("z", g);
}
public void i_() {
}
public static OTileEntity c(ONBTTagCompound paramONBTTagCompound) {
OTileEntity localOTileEntity = null;
try {
Class localClass = (Class) a.get(paramONBTTagCompound.i("id"));
if (localClass != null)
localOTileEntity = (OTileEntity) localClass.newInstance();
} catch (Exception localException) {
localException.printStackTrace();
}
if (localOTileEntity != null)
localOTileEntity.a(paramONBTTagCompound);
else
System.out.println("Skipping TileEntity with id " + paramONBTTagCompound.i("id"));
return localOTileEntity;
}
public void i() {
if (d != null)
d.b(e, f, g, this);
}
public OPacket e() {
return null;
}
static {
a(OTileEntityFurnace.class, "Furnace");
a(OTileEntityChest.class, "Chest");
a(OTileEntityDispenser.class, "Trap");
a(OTileEntitySign.class, "Sign");
a(OTileEntityMobSpawner.class, "MobSpawner");
a(OTileEntityNote.class, "Music");
}
}