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.Entity; import net.minecraft.entity.EntityHanging; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; public class EntityPainting extends EntityHanging { public EntityPainting.EnumArt art; private static final String __OBFID = "CL_00001556"; public EntityPainting(World p_i1599_1_) { super(p_i1599_1_); } public EntityPainting(World p_i1600_1_, int p_i1600_2_, int p_i1600_3_, int p_i1600_4_, int p_i1600_5_) { super(p_i1600_1_, p_i1600_2_, p_i1600_3_, p_i1600_4_, p_i1600_5_); ArrayList arraylist = new ArrayList(); EntityPainting.EnumArt[] aenumart = EntityPainting.EnumArt.values(); int i1 = aenumart.length; for (int j1 = 0; j1 < i1; ++j1) { EntityPainting.EnumArt enumart = aenumart[j1]; this.art = enumart; this.setDirection(p_i1600_5_); if (this.onValidSurface()) { arraylist.add(enumart); } } if (!arraylist.isEmpty()) { this.art = (EntityPainting.EnumArt)arraylist.get(this.rand.nextInt(arraylist.size())); } this.setDirection(p_i1600_5_); } @SideOnly(Side.CLIENT) public EntityPainting(World p_i1601_1_, int p_i1601_2_, int p_i1601_3_, int p_i1601_4_, int p_i1601_5_, String p_i1601_6_) { this(p_i1601_1_, p_i1601_2_, p_i1601_3_, p_i1601_4_, p_i1601_5_); EntityPainting.EnumArt[] aenumart = EntityPainting.EnumArt.values(); int i1 = aenumart.length; for (int j1 = 0; j1 < i1; ++j1) { EntityPainting.EnumArt enumart = aenumart[j1]; if (enumart.title.equals(p_i1601_6_)) { this.art = enumart; break; } } this.setDirection(p_i1601_5_); } /** * (abstract) Protected helper method to write subclass entity data to NBT. */ public void writeEntityToNBT(NBTTagCompound tagCompound) { tagCompound.setString("Motive", this.art.title); super.writeEntityToNBT(tagCompound); } /** * (abstract) Protected helper method to read subclass entity data from NBT. */ public void readEntityFromNBT(NBTTagCompound tagCompund) { String s = tagCompund.getString("Motive"); EntityPainting.EnumArt[] aenumart = EntityPainting.EnumArt.values(); int i = aenumart.length; for (int j = 0; j < i; ++j) { EntityPainting.EnumArt enumart = aenumart[j]; if (enumart.title.equals(s)) { this.art = enumart; } } if (this.art == null) { this.art = EntityPainting.EnumArt.Kebab; } super.readEntityFromNBT(tagCompund); } public int getWidthPixels() { return this.art.sizeX; } public int getHeightPixels() { return this.art.sizeY; } /** * Called when this entity is broken. Entity parameter may be null. */ public void onBroken(Entity p_110128_1_) { if (p_110128_1_ instanceof EntityPlayer) { EntityPlayer entityplayer = (EntityPlayer)p_110128_1_; if (entityplayer.capabilities.isCreativeMode) { return; } } this.entityDropItem(new ItemStack(Items.painting), 0.0F); } public static enum EnumArt { Kebab("Kebab", 16, 16, 0, 0), Aztec("Aztec", 16, 16, 16, 0), Alban("Alban", 16, 16, 32, 0), Aztec2("Aztec2", 16, 16, 48, 0), Bomb("Bomb", 16, 16, 64, 0), Plant("Plant", 16, 16, 80, 0), Wasteland("Wasteland", 16, 16, 96, 0), Pool("Pool", 32, 16, 0, 32), Courbet("Courbet", 32, 16, 32, 32), Sea("Sea", 32, 16, 64, 32), Sunset("Sunset", 32, 16, 96, 32), Creebet("Creebet", 32, 16, 128, 32), Wanderer("Wanderer", 16, 32, 0, 64), Graham("Graham", 16, 32, 16, 64), Match("Match", 32, 32, 0, 128), Bust("Bust", 32, 32, 32, 128), Stage("Stage", 32, 32, 64, 128), Void("Void", 32, 32, 96, 128), SkullAndRoses("SkullAndRoses", 32, 32, 128, 128), Wither("Wither", 32, 32, 160, 128), Fighters("Fighters", 64, 32, 0, 96), Pointer("Pointer", 64, 64, 0, 192), Pigscene("Pigscene", 64, 64, 64, 192), BurningSkull("BurningSkull", 64, 64, 128, 192), Skeleton("Skeleton", 64, 48, 192, 64), DonkeyKong("DonkeyKong", 64, 48, 192, 112); /** Holds the maximum length of paintings art title. */ public static final int maxArtTitleLength = "SkullAndRoses".length(); /** Painting Title. */ public final String title; public final int sizeX; public final int sizeY; public final int offsetX; public final int offsetY; private static final String __OBFID = "CL_00001557"; private EnumArt(String p_i1598_3_, int p_i1598_4_, int p_i1598_5_, int p_i1598_6_, int p_i1598_7_) { this.title = p_i1598_3_; this.sizeX = p_i1598_4_; this.sizeY = p_i1598_5_; this.offsetX = p_i1598_6_; this.offsetY = p_i1598_7_; } } }