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 var6 = new ArrayList(); EnumArt[] var7 = EnumArt.values(); int var8 = var7.length; for (int var9 = 0; var9 < var8; ++var9) { EnumArt var10 = var7[var9]; this.art = var10; this.setDirection(par5); if (this.onValidSurface()) { var6.add(var10); } } if (!var6.isEmpty()) { this.art = (EnumArt)var6.get(this.rand.nextInt(var6.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[] var7 = EnumArt.values(); int var8 = var7.length; for (int var9 = 0; var9 < var8; ++var9) { EnumArt var10 = var7[var9]; if (var10.title.equals(par6Str)) { this.art = var10; 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 var2 = par1NBTTagCompound.getString("Motive"); EnumArt[] var3 = EnumArt.values(); int var4 = var3.length; for (int var5 = 0; var5 < var4; ++var5) { EnumArt var6 = var3[var5]; if (var6.title.equals(var2)) { this.art = var6; } } 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); } }