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.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.util.IStringSerializable;
public class BlockStone extends Block
{
public static final PropertyEnum VARIANT_PROP = PropertyEnum.create("variant", BlockStone.EnumType.class);
private static final String __OBFID = "CL_00000317";
public BlockStone()
{
super(Material.rock);
this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT_PROP, BlockStone.EnumType.STONE));
this.setCreativeTab(CreativeTabs.tabBlock);
}
/**
* 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 state.getValue(VARIANT_PROP) == BlockStone.EnumType.STONE ? Item.getItemFromBlock(Blocks.cobblestone) : Item.getItemFromBlock(Blocks.stone);
}
/**
* Get the damage value that this Block should drop
*/
public int damageDropped(IBlockState state)
{
return ((BlockStone.EnumType)state.getValue(VARIANT_PROP)).getMetaFromState();
}
/**
* Convert the given metadata into a BlockState for this Block
*/
public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(VARIANT_PROP, BlockStone.EnumType.getStateFromMeta(meta));
}
/**
* Convert the BlockState into the correct metadata value
*/
public int getMetaFromState(IBlockState state)
{
return ((BlockStone.EnumType)state.getValue(VARIANT_PROP)).getMetaFromState();
}
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[] {VARIANT_PROP});
}
public static enum EnumType implements IStringSerializable
{
STONE("STONE", 0, 0, "stone"),
GRANITE("GRANITE", 1, 1, "granite"),
GRANITE_SMOOTH("GRANITE_SMOOTH", 2, 2, "smooth_granite", "graniteSmooth"),
DIORITE("DIORITE", 3, 3, "diorite"),
DIORITE_SMOOTH("DIORITE_SMOOTH", 4, 4, "smooth_diorite", "dioriteSmooth"),
ANDESITE("ANDESITE", 5, 5, "andesite"),
ANDESITE_SMOOTH("ANDESITE_SMOOTH", 6, 6, "smooth_andesite", "andesiteSmooth");
private static final BlockStone.EnumType[] BLOCKSTATES = new BlockStone.EnumType[values().length];
private final int meta;
private final String name;
private final String field_176654_k;
private static final BlockStone.EnumType[] $VALUES = new BlockStone.EnumType[]{STONE, GRANITE, GRANITE_SMOOTH, DIORITE, DIORITE_SMOOTH, ANDESITE, ANDESITE_SMOOTH};
private static final String __OBFID = "CL_00002058";
private EnumType(String p_i45680_1_, int p_i45680_2_, int p_i45680_3_, String p_i45680_4_)
{
this(p_i45680_1_, p_i45680_2_, p_i45680_3_, p_i45680_4_, p_i45680_4_);
}
private EnumType(String p_i45681_1_, int p_i45681_2_, int p_i45681_3_, String p_i45681_4_, String p_i45681_5_)
{
this.meta = p_i45681_3_;
this.name = p_i45681_4_;
this.field_176654_k = p_i45681_5_;
}
public int getMetaFromState()
{
return this.meta;
}
public String toString()
{
return this.name;
}
public static BlockStone.EnumType getStateFromMeta(int p_176643_0_)
{
if (p_176643_0_ < 0 || p_176643_0_ >= BLOCKSTATES.length)
{
p_176643_0_ = 0;
}
return BLOCKSTATES[p_176643_0_];
}
public String getName()
{
return this.name;
}
public String func_176644_c()
{
return this.field_176654_k;
}
static {
BlockStone.EnumType[] var0 = values();
int var1 = var0.length;
for (int var2 = 0; var2 < var1; ++var2)
{
BlockStone.EnumType var3 = var0[var2];
BLOCKSTATES[var3.getMetaFromState()] = var3;
}
}
}
}