package net.minecraft.block;
import com.google.common.base.Predicate;
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.item.Item;
import net.minecraft.item.ItemStack;
public class BlockOldLog extends BlockLog
{
public static final PropertyEnum VARIANT_PROP = PropertyEnum.create("variant", BlockPlanks.EnumType.class, new Predicate()
{
private static final String __OBFID = "CL_00002084";
public boolean func_180200_a(BlockPlanks.EnumType p_180200_1_)
{
return p_180200_1_.func_176839_a() < 4;
}
public boolean apply(Object p_apply_1_)
{
return this.func_180200_a((BlockPlanks.EnumType)p_apply_1_);
}
});
private static final String __OBFID = "CL_00000281";
public BlockOldLog()
{
this.setDefaultState(this.blockState.getBaseState().withProperty(VARIANT_PROP, BlockPlanks.EnumType.OAK).withProperty(AXIS_PROP, BlockLog.EnumAxis.Y));
}
/**
* Convert the given metadata into a BlockState for this Block
*/
public IBlockState getStateFromMeta(int meta)
{
IBlockState var2 = this.getDefaultState().withProperty(VARIANT_PROP, BlockPlanks.EnumType.func_176837_a((meta & 3) % 4));
switch (meta & 12)
{
case 0:
var2 = var2.withProperty(AXIS_PROP, BlockLog.EnumAxis.Y);
break;
case 4:
var2 = var2.withProperty(AXIS_PROP, BlockLog.EnumAxis.X);
break;
case 8:
var2 = var2.withProperty(AXIS_PROP, BlockLog.EnumAxis.Z);
break;
default:
var2 = var2.withProperty(AXIS_PROP, BlockLog.EnumAxis.NONE);
}
return var2;
}
/**
* Convert the BlockState into the correct metadata value
*/
public int getMetaFromState(IBlockState state)
{
byte var2 = 0;
int var3 = var2 | ((BlockPlanks.EnumType)state.getValue(VARIANT_PROP)).func_176839_a();
switch (BlockOldLog.SwitchEnumAxis.field_180203_a[((BlockLog.EnumAxis)state.getValue(AXIS_PROP)).ordinal()])
{
case 1:
var3 |= 4;
break;
case 2:
var3 |= 8;
break;
case 3:
var3 |= 12;
}
return var3;
}
protected BlockState createBlockState()
{
return new BlockState(this, new IProperty[] {VARIANT_PROP, AXIS_PROP});
}
protected ItemStack createStackedBlock(IBlockState state)
{
return new ItemStack(Item.getItemFromBlock(this), 1, ((BlockPlanks.EnumType)state.getValue(VARIANT_PROP)).func_176839_a());
}
/**
* Get the damage value that this Block should drop
*/
public int damageDropped(IBlockState state)
{
return ((BlockPlanks.EnumType)state.getValue(VARIANT_PROP)).func_176839_a();
}
static final class SwitchEnumAxis
{
static final int[] field_180203_a = new int[BlockLog.EnumAxis.values().length];
private static final String __OBFID = "CL_00002083";
static
{
try
{
field_180203_a[BlockLog.EnumAxis.X.ordinal()] = 1;
}
catch (NoSuchFieldError var3)
{
;
}
try
{
field_180203_a[BlockLog.EnumAxis.Z.ordinal()] = 2;
}
catch (NoSuchFieldError var2)
{
;
}
try
{
field_180203_a[BlockLog.EnumAxis.NONE.ordinal()] = 3;
}
catch (NoSuchFieldError var1)
{
;
}
}
}
}