package net.minecraft.entity.item;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.ArrayList;
import net.minecraft.entity.EntityHanging;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumArt;
import net.minecraft.world.World;
public class EntityPainting extends EntityHanging
{
public EnumArt art;
public EntityPainting(World par1World)
{
super(par1World);
}
public EntityPainting(World par1World, int par2, int par3, int par4, int par5)
{
super(par1World, par2, par3, par4, par5);
ArrayList arraylist = new ArrayList();
EnumArt[] aenumart = EnumArt.values();
int i1 = aenumart.length;
for (int j1 = 0; j1 < i1; ++j1)
{
EnumArt enumart = aenumart[j1];
this.art = enumart;
this.setDirection(par5);
if (this.onValidSurface())
{
arraylist.add(enumart);
}
}
if (!arraylist.isEmpty())
{
this.art = (EnumArt)arraylist.get(this.rand.nextInt(arraylist.size()));
}
this.setDirection(par5);
}
@SideOnly(Side.CLIENT)
public EntityPainting(World par1World, int par2, int par3, int par4, int par5, String par6Str)
{
this(par1World, par2, par3, par4, par5);
EnumArt[] aenumart = EnumArt.values();
int i1 = aenumart.length;
for (int j1 = 0; j1 < i1; ++j1)
{
EnumArt enumart = aenumart[j1];
if (enumart.title.equals(par6Str))
{
this.art = enumart;
break;
}
}
this.setDirection(par5);
}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)
{
par1NBTTagCompound.setString("Motive", this.art.title);
super.writeEntityToNBT(par1NBTTagCompound);
}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)
{
String s = par1NBTTagCompound.getString("Motive");
EnumArt[] aenumart = EnumArt.values();
int i = aenumart.length;
for (int j = 0; j < i; ++j)
{
EnumArt enumart = aenumart[j];
if (enumart.title.equals(s))
{
this.art = enumart;
}
}
if (this.art == null)
{
this.art = EnumArt.Kebab;
}
super.readEntityFromNBT(par1NBTTagCompound);
}
public int func_82329_d()
{
return this.art.sizeX;
}
public int func_82330_g()
{
return this.art.sizeY;
}
/**
* Drop the item currently on this item frame.
*/
public void dropItemStack()
{
this.entityDropItem(new ItemStack(Item.painting), 0.0F);
}
}