package net.minecraft.tileentity;
import java.util.List;
import net.minecraft.block.BlockFlower;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.S35PacketUpdateTileEntity;
public class TileEntityBanner extends TileEntity
{
private int baseColor;
private NBTTagList field_175118_f;
private boolean field_175119_g;
private List field_175122_h;
private List field_175123_i;
private String field_175121_j;
private static final String __OBFID = "CL_00002044";
public void setItemValues(ItemStack p_175112_1_)
{
this.field_175118_f = null;
if (p_175112_1_.hasTagCompound() && p_175112_1_.getTagCompound().hasKey("BlockEntityTag", 10))
{
NBTTagCompound var2 = p_175112_1_.getTagCompound().getCompoundTag("BlockEntityTag");
if (var2.hasKey("Patterns"))
{
this.field_175118_f = (NBTTagList)var2.getTagList("Patterns", 10).copy();
}
if (var2.hasKey("Base", 99))
{
this.baseColor = var2.getInteger("Base");
}
else
{
this.baseColor = p_175112_1_.getMetadata() & 15;
}
}
else
{
this.baseColor = p_175112_1_.getMetadata() & 15;
}
this.field_175122_h = null;
this.field_175123_i = null;
this.field_175121_j = "";
this.field_175119_g = true;
}
public void writeToNBT(NBTTagCompound compound)
{
super.writeToNBT(compound);
compound.setInteger("Base", this.baseColor);
if (this.field_175118_f != null)
{
compound.setTag("Patterns", this.field_175118_f);
}
}
public void readFromNBT(NBTTagCompound compound)
{
super.readFromNBT(compound);
this.baseColor = compound.getInteger("Base");
this.field_175118_f = compound.getTagList("Patterns", 10);
this.field_175122_h = null;
this.field_175123_i = null;
this.field_175121_j = null;
this.field_175119_g = true;
}
/**
* Overriden in a sign to provide the text.
*/
public Packet getDescriptionPacket()
{
NBTTagCompound var1 = new NBTTagCompound();
this.writeToNBT(var1);
return new S35PacketUpdateTileEntity(this.pos, 6, var1);
}
public int getBaseColor()
{
return this.baseColor;
}
public static int getBaseColor(ItemStack stack)
{
NBTTagCompound var1 = stack.getSubCompound("BlockEntityTag", false);
return var1 != null && var1.hasKey("Base") ? var1.getInteger("Base") : stack.getMetadata();
}
public static int func_175113_c(ItemStack p_175113_0_)
{
NBTTagCompound var1 = p_175113_0_.getSubCompound("BlockEntityTag", false);
return var1 != null && var1.hasKey("Patterns") ? var1.getTagList("Patterns", 10).tagCount() : 0;
}
public static void func_175117_e(ItemStack p_175117_0_)
{
NBTTagCompound var1 = p_175117_0_.getSubCompound("BlockEntityTag", false);
if (var1 != null && var1.hasKey("Patterns", 9))
{
NBTTagList var2 = var1.getTagList("Patterns", 10);
if (var2.tagCount() > 0)
{
var2.removeTag(var2.tagCount() - 1);
if (var2.hasNoTags())
{
p_175117_0_.getTagCompound().removeTag("BlockEntityTag");
if (p_175117_0_.getTagCompound().hasNoTags())
{
p_175117_0_.setTagCompound((NBTTagCompound)null);
}
}
}
}
}
public static enum EnumBannerPattern
{
BASE("BASE", 0, "base", "b"),
SQUARE_BOTTOM_LEFT("SQUARE_BOTTOM_LEFT", 1, "square_bottom_left", "bl", " ", " ", "# "),
SQUARE_BOTTOM_RIGHT("SQUARE_BOTTOM_RIGHT", 2, "square_bottom_right", "br", " ", " ", " #"),
SQUARE_TOP_LEFT("SQUARE_TOP_LEFT", 3, "square_top_left", "tl", "# ", " ", " "),
SQUARE_TOP_RIGHT("SQUARE_TOP_RIGHT", 4, "square_top_right", "tr", " #", " ", " "),
STRIPE_BOTTOM("STRIPE_BOTTOM", 5, "stripe_bottom", "bs", " ", " ", "###"),
STRIPE_TOP("STRIPE_TOP", 6, "stripe_top", "ts", "###", " ", " "),
STRIPE_LEFT("STRIPE_LEFT", 7, "stripe_left", "ls", "# ", "# ", "# "),
STRIPE_RIGHT("STRIPE_RIGHT", 8, "stripe_right", "rs", " #", " #", " #"),
STRIPE_CENTER("STRIPE_CENTER", 9, "stripe_center", "cs", " # ", " # ", " # "),
STRIPE_MIDDLE("STRIPE_MIDDLE", 10, "stripe_middle", "ms", " ", "###", " "),
STRIPE_DOWNRIGHT("STRIPE_DOWNRIGHT", 11, "stripe_downright", "drs", "# ", " # ", " #"),
STRIPE_DOWNLEFT("STRIPE_DOWNLEFT", 12, "stripe_downleft", "dls", " #", " # ", "# "),
STRIPE_SMALL("STRIPE_SMALL", 13, "small_stripes", "ss", "# #", "# #", " "),
CROSS("CROSS", 14, "cross", "cr", "# #", " # ", "# #"),
STRAIGHT_CROSS("STRAIGHT_CROSS", 15, "straight_cross", "sc", " # ", "###", " # "),
TRIANGLE_BOTTOM("TRIANGLE_BOTTOM", 16, "triangle_bottom", "bt", " ", " # ", "# #"),
TRIANGLE_TOP("TRIANGLE_TOP", 17, "triangle_top", "tt", "# #", " # ", " "),
TRIANGLES_BOTTOM("TRIANGLES_BOTTOM", 18, "triangles_bottom", "bts", " ", "# #", " # "),
TRIANGLES_TOP("TRIANGLES_TOP", 19, "triangles_top", "tts", " # ", "# #", " "),
DIAGONAL_LEFT("DIAGONAL_LEFT", 20, "diagonal_left", "ld", "## ", "# ", " "),
DIAGONAL_RIGHT("DIAGONAL_RIGHT", 21, "diagonal_up_right", "rd", " ", " #", " ##"),
DIAGONAL_LEFT_MIRROR("DIAGONAL_LEFT_MIRROR", 22, "diagonal_up_left", "lud", " ", "# ", "## "),
DIAGONAL_RIGHT_MIRROR("DIAGONAL_RIGHT_MIRROR", 23, "diagonal_right", "rud", " ##", " #", " "),
CIRCLE_MIDDLE("CIRCLE_MIDDLE", 24, "circle", "mc", " ", " # ", " "),
RHOMBUS_MIDDLE("RHOMBUS_MIDDLE", 25, "rhombus", "mr", " # ", "# #", " # "),
HALF_VERTICAL("HALF_VERTICAL", 26, "half_vertical", "vh", "## ", "## ", "## "),
HALF_HORIZONTAL("HALF_HORIZONTAL", 27, "half_horizontal", "hh", "###", "###", " "),
HALF_VERTICAL_MIRROR("HALF_VERTICAL_MIRROR", 28, "half_vertical_right", "vhr", " ##", " ##", " ##"),
HALF_HORIZONTAL_MIRROR("HALF_HORIZONTAL_MIRROR", 29, "half_horizontal_bottom", "hhb", " ", "###", "###"),
BORDER("BORDER", 30, "border", "bo", "###", "# #", "###"),
CURLY_BORDER("CURLY_BORDER", 31, "curly_border", "cbo", new ItemStack(Blocks.vine)),
CREEPER("CREEPER", 32, "creeper", "cre", new ItemStack(Items.skull, 1, 4)),
GRADIENT("GRADIENT", 33, "gradient", "gra", "# #", " # ", " # "),
GRADIENT_UP("GRADIENT_UP", 34, "gradient_up", "gru", " # ", " # ", "# #"),
BRICKS("BRICKS", 35, "bricks", "bri", new ItemStack(Blocks.brick_block)),
SKULL("SKULL", 36, "skull", "sku", new ItemStack(Items.skull, 1, 1)),
FLOWER("FLOWER", 37, "flower", "flo", new ItemStack(Blocks.red_flower, 1, BlockFlower.EnumFlowerType.OXEYE_DAISY.func_176968_b())),
MOJANG("MOJANG", 38, "mojang", "moj", new ItemStack(Items.golden_apple, 1, 1));
private String field_177284_N;
private String field_177285_O;
private String[] field_177291_P;
private ItemStack field_177290_Q;
private static final TileEntityBanner.EnumBannerPattern[] $VALUES = new TileEntityBanner.EnumBannerPattern[]{BASE, SQUARE_BOTTOM_LEFT, SQUARE_BOTTOM_RIGHT, SQUARE_TOP_LEFT, SQUARE_TOP_RIGHT, STRIPE_BOTTOM, STRIPE_TOP, STRIPE_LEFT, STRIPE_RIGHT, STRIPE_CENTER, STRIPE_MIDDLE, STRIPE_DOWNRIGHT, STRIPE_DOWNLEFT, STRIPE_SMALL, CROSS, STRAIGHT_CROSS, TRIANGLE_BOTTOM, TRIANGLE_TOP, TRIANGLES_BOTTOM, TRIANGLES_TOP, DIAGONAL_LEFT, DIAGONAL_RIGHT, DIAGONAL_LEFT_MIRROR, DIAGONAL_RIGHT_MIRROR, CIRCLE_MIDDLE, RHOMBUS_MIDDLE, HALF_VERTICAL, HALF_HORIZONTAL, HALF_VERTICAL_MIRROR, HALF_HORIZONTAL_MIRROR, BORDER, CURLY_BORDER, CREEPER, GRADIENT, GRADIENT_UP, BRICKS, SKULL, FLOWER, MOJANG};
private static final String __OBFID = "CL_00002043";
private EnumBannerPattern(String p_i45670_1_, int p_i45670_2_, String p_i45670_3_, String p_i45670_4_)
{
this.field_177291_P = new String[3];
this.field_177284_N = p_i45670_3_;
this.field_177285_O = p_i45670_4_;
}
private EnumBannerPattern(String p_i45671_1_, int p_i45671_2_, String p_i45671_3_, String p_i45671_4_, ItemStack p_i45671_5_)
{
this(p_i45671_1_, p_i45671_2_, p_i45671_3_, p_i45671_4_);
this.field_177290_Q = p_i45671_5_;
}
private EnumBannerPattern(String p_i45672_1_, int p_i45672_2_, String p_i45672_3_, String p_i45672_4_, String p_i45672_5_, String p_i45672_6_, String p_i45672_7_)
{
this(p_i45672_1_, p_i45672_2_, p_i45672_3_, p_i45672_4_);
this.field_177291_P[0] = p_i45672_5_;
this.field_177291_P[1] = p_i45672_6_;
this.field_177291_P[2] = p_i45672_7_;
}
public String func_177273_b()
{
return this.field_177285_O;
}
public String[] func_177267_c()
{
return this.field_177291_P;
}
public boolean func_177270_d()
{
return this.field_177290_Q != null || this.field_177291_P[0] != null;
}
public boolean func_177269_e()
{
return this.field_177290_Q != null;
}
public ItemStack func_177272_f()
{
return this.field_177290_Q;
}
}
}