package net.minecraft.block;
import java.util.Random;
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.entity.EntityLivingBase;
import net.minecraft.item.Item;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.IStringSerializable;
import net.minecraft.world.World;
public class BlockHugeMushroom extends Block
{
public static final PropertyEnum field_176380_a = PropertyEnum.create("variant", BlockHugeMushroom.EnumType.class);
private final Block field_176379_b;
private static final String __OBFID = "CL_00000258";
public BlockHugeMushroom(Material p_i45711_1_, Block p_i45711_2_)
{
super(p_i45711_1_);
this.setDefaultState(this.blockState.getBaseState().withProperty(field_176380_a, BlockHugeMushroom.EnumType.ALL_OUTSIDE));
this.field_176379_b = p_i45711_2_;
}
/**
* Returns the quantity of items to drop on block destruction.
*/
public int quantityDropped(Random random)
{
return Math.max(0, random.nextInt(10) - 7);
}
/**
* Get the Item that this Block should drop when harvested.
*
* @param fortune the level of the Fortune enchantment on the player's tool
*/
public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this.field_176379_b);
}
public IBlockState onBlockPlaced(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
{
return this.getDefaultState();
}
/**
* Convert the given metadata into a BlockState for this Block
*/
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(field_176380_a, BlockHugeMushroom.EnumType.func_176895_a(meta));
}
/**
* Convert the BlockState into the correct metadata value
*/
public int getMetaFromState(IBlockState state)
{
return ((BlockHugeMushroom.EnumType)state.getValue(field_176380_a)).func_176896_a();
}
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[] {field_176380_a});
}
public static enum EnumType implements IStringSerializable
{
NORTH_WEST("NORTH_WEST", 0, 1, "north_west"),
NORTH("NORTH", 1, 2, "north"),
NORTH_EAST("NORTH_EAST", 2, 3, "north_east"),
WEST("WEST", 3, 4, "west"),
CENTER("CENTER", 4, 5, "center"),
EAST("EAST", 5, 6, "east"),
SOUTH_WEST("SOUTH_WEST", 6, 7, "south_west"),
SOUTH("SOUTH", 7, 8, "south"),
SOUTH_EAST("SOUTH_EAST", 8, 9, "south_east"),
STEM("STEM", 9, 10, "stem"),
ALL_INSIDE("ALL_INSIDE", 10, 0, "all_inside"),
ALL_OUTSIDE("ALL_OUTSIDE", 11, 14, "all_outside"),
ALL_STEM("ALL_STEM", 12, 15, "all_stem");
private static final BlockHugeMushroom.EnumType[] field_176905_n = new BlockHugeMushroom.EnumType[16];
private final int field_176906_o;
private final String field_176914_p;
private static final BlockHugeMushroom.EnumType[] $VALUES = new BlockHugeMushroom.EnumType[]{NORTH_WEST, NORTH, NORTH_EAST, WEST, CENTER, EAST, SOUTH_WEST, SOUTH, SOUTH_EAST, STEM, ALL_INSIDE, ALL_OUTSIDE, ALL_STEM};
private static final String __OBFID = "CL_00002105";
private EnumType(String p_i45710_1_, int p_i45710_2_, int p_i45710_3_, String p_i45710_4_)
{
this.field_176906_o = p_i45710_3_;
this.field_176914_p = p_i45710_4_;
}
public int func_176896_a()
{
return this.field_176906_o;
}
public String toString()
{
return this.field_176914_p;
}
public static BlockHugeMushroom.EnumType func_176895_a(int p_176895_0_)
{
if (p_176895_0_ < 0 || p_176895_0_ >= field_176905_n.length)
{
p_176895_0_ = 0;
}
BlockHugeMushroom.EnumType var1 = field_176905_n[p_176895_0_];
return var1 == null ? field_176905_n[0] : var1;
}
public String getName()
{
return this.field_176914_p;
}
static {
BlockHugeMushroom.EnumType[] var0 = values();
int var1 = var0.length;
for (int var2 = 0; var2 < var1; ++var2)
{
BlockHugeMushroom.EnumType var3 = var0[var2];
field_176905_n[var3.func_176896_a()] = var3;
}
}
}
}