package net.minecraft.block; import com.google.common.base.Predicate; import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import java.util.Collection; import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockState; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.IStringSerializable; public abstract class BlockFlower extends BlockBush { protected PropertyEnum field_176496_a; private static final String __OBFID = "CL_00000246"; protected BlockFlower() { super(Material.plants); this.setDefaultState(this.blockState.getBaseState().withProperty(this.func_176494_l(), this.func_176495_j() == BlockFlower.EnumFlowerColor.RED ? BlockFlower.EnumFlowerType.POPPY : BlockFlower.EnumFlowerType.DANDELION)); } /** * Get the damage value that this Block should drop */ public int damageDropped(IBlockState state) { return ((BlockFlower.EnumFlowerType)state.getValue(this.func_176494_l())).func_176968_b(); } /** * Convert the given metadata into a BlockState for this Block */ public IBlockState getStateFromMeta(int meta) { return this.getDefaultState().withProperty(this.func_176494_l(), BlockFlower.EnumFlowerType.func_176967_a(this.func_176495_j(), meta)); } public abstract BlockFlower.EnumFlowerColor func_176495_j(); public IProperty func_176494_l() { if (this.field_176496_a == null) { this.field_176496_a = PropertyEnum.create("type", BlockFlower.EnumFlowerType.class, new Predicate() { private static final String __OBFID = "CL_00002120"; public boolean func_180354_a(BlockFlower.EnumFlowerType p_180354_1_) { return p_180354_1_.func_176964_a() == BlockFlower.this.func_176495_j(); } public boolean apply(Object p_apply_1_) { return this.func_180354_a((BlockFlower.EnumFlowerType)p_apply_1_); } }); } return this.field_176496_a; } /** * Convert the BlockState into the correct metadata value */ public int getMetaFromState(IBlockState state) { return ((BlockFlower.EnumFlowerType)state.getValue(this.func_176494_l())).func_176968_b(); } protected BlockState createBlockState() { return new BlockState(this, new IProperty[] {this.func_176494_l()}); } public static enum EnumFlowerColor { YELLOW("YELLOW", 0), RED("RED", 1); private static final BlockFlower.EnumFlowerColor[] $VALUES = new BlockFlower.EnumFlowerColor[]{YELLOW, RED}; private static final String __OBFID = "CL_00002117"; private EnumFlowerColor(String p_i45716_1_, int p_i45716_2_) {} public BlockFlower func_180346_a() { return this == YELLOW ? Blocks.yellow_flower : Blocks.red_flower; } } public static enum EnumFlowerType implements IStringSerializable { DANDELION("DANDELION", 0, BlockFlower.EnumFlowerColor.YELLOW, 0, "dandelion"), POPPY("POPPY", 1, BlockFlower.EnumFlowerColor.RED, 0, "poppy"), BLUE_ORCHID("BLUE_ORCHID", 2, BlockFlower.EnumFlowerColor.RED, 1, "blue_orchid", "blueOrchid"), ALLIUM("ALLIUM", 3, BlockFlower.EnumFlowerColor.RED, 2, "allium"), HOUSTONIA("HOUSTONIA", 4, BlockFlower.EnumFlowerColor.RED, 3, "houstonia"), RED_TULIP("RED_TULIP", 5, BlockFlower.EnumFlowerColor.RED, 4, "red_tulip", "tulipRed"), ORANGE_TULIP("ORANGE_TULIP", 6, BlockFlower.EnumFlowerColor.RED, 5, "orange_tulip", "tulipOrange"), WHITE_TULIP("WHITE_TULIP", 7, BlockFlower.EnumFlowerColor.RED, 6, "white_tulip", "tulipWhite"), PINK_TULIP("PINK_TULIP", 8, BlockFlower.EnumFlowerColor.RED, 7, "pink_tulip", "tulipPink"), OXEYE_DAISY("OXEYE_DAISY", 9, BlockFlower.EnumFlowerColor.RED, 8, "oxeye_daisy", "oxeyeDaisy"); private static final BlockFlower.EnumFlowerType[][] field_176981_k = new BlockFlower.EnumFlowerType[BlockFlower.EnumFlowerColor.values().length][]; private final BlockFlower.EnumFlowerColor field_176978_l; private final int field_176979_m; private final String field_176976_n; private final String field_176977_o; private static final BlockFlower.EnumFlowerType[] $VALUES = new BlockFlower.EnumFlowerType[]{DANDELION, POPPY, BLUE_ORCHID, ALLIUM, HOUSTONIA, RED_TULIP, ORANGE_TULIP, WHITE_TULIP, PINK_TULIP, OXEYE_DAISY}; private static final String __OBFID = "CL_00002119"; private EnumFlowerType(String p_i45718_1_, int p_i45718_2_, BlockFlower.EnumFlowerColor p_i45718_3_, int p_i45718_4_, String p_i45718_5_) { this(p_i45718_1_, p_i45718_2_, p_i45718_3_, p_i45718_4_, p_i45718_5_, p_i45718_5_); } private EnumFlowerType(String p_i45719_1_, int p_i45719_2_, BlockFlower.EnumFlowerColor p_i45719_3_, int p_i45719_4_, String p_i45719_5_, String p_i45719_6_) { this.field_176978_l = p_i45719_3_; this.field_176979_m = p_i45719_4_; this.field_176976_n = p_i45719_5_; this.field_176977_o = p_i45719_6_; } public BlockFlower.EnumFlowerColor func_176964_a() { return this.field_176978_l; } public int func_176968_b() { return this.field_176979_m; } public static BlockFlower.EnumFlowerType func_176967_a(BlockFlower.EnumFlowerColor p_176967_0_, int p_176967_1_) { BlockFlower.EnumFlowerType[] var2 = field_176981_k[p_176967_0_.ordinal()]; if (p_176967_1_ < 0 || p_176967_1_ >= var2.length) { p_176967_1_ = 0; } return var2[p_176967_1_]; } public String toString() { return this.field_176976_n; } public String getName() { return this.field_176976_n; } public String func_176963_d() { return this.field_176977_o; } static { BlockFlower.EnumFlowerColor[] var0 = BlockFlower.EnumFlowerColor.values(); int var1 = var0.length; for (int var2 = 0; var2 < var1; ++var2) { final BlockFlower.EnumFlowerColor var3 = var0[var2]; Collection var4 = Collections2.filter(Lists.newArrayList(values()), new Predicate() { private static final String __OBFID = "CL_00002118"; public boolean func_180350_a(BlockFlower.EnumFlowerType p_180350_1_) { return p_180350_1_.func_176964_a() == var3; } public boolean apply(Object p_apply_1_) { return this.func_180350_a((BlockFlower.EnumFlowerType)p_apply_1_); } }); field_176981_k[var3.ordinal()] = (BlockFlower.EnumFlowerType[])var4.toArray(new BlockFlower.EnumFlowerType[var4.size()]); } } } }