Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tasteslikebleach.tcm.blocks;
- import java.util.Random;
- import net.minecraft.block.BlockLog;
- import net.minecraft.block.SoundType;
- import net.minecraft.block.material.Material;
- import net.minecraft.block.properties.IProperty;
- import net.minecraft.block.properties.PropertyEnum;
- import net.minecraft.block.state.BlockStateContainer;
- import net.minecraft.block.state.IBlockState;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.item.Item;
- import net.minecraft.item.ItemStack;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.ResourceLocation;
- import net.minecraft.util.Rotation;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.world.World;
- import tasteslikebleach.tcm.Reference;
- public class BlockBananaLog extends BlockLog {
- public static final PropertyEnum<EnumFacing.Axis> AXIS = PropertyEnum.create("axis", EnumFacing.Axis.class);
- public BlockBananaLog(String unlocalizedName) {
- this.setSoundType(SoundType.WOOD);
- this.setHardness(2.0F);
- this.setDefaultState(this.blockState.getBaseState().withProperty(AXIS, EnumFacing.Axis.Y));
- this.setUnlocalizedName(unlocalizedName);
- this.setRegistryName(new ResourceLocation(Reference.MODID, unlocalizedName));
- }
- @Override
- public Item getItemDropped(IBlockState state, Random rand, int fortune){
- return Item.getItemFromBlock(this);
- }
- @Override
- protected BlockStateContainer createBlockState(){
- return new BlockStateContainer(this, new IProperty[] {AXIS});
- }
- @Override
- public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
- {
- return this.getStateFromMeta(meta).withProperty(AXIS, fromFacingAxis(facing.getAxis()));
- }
- @Override
- public IBlockState withRotation(IBlockState state, Rotation rot)
- {
- switch (rot)
- {
- case COUNTERCLOCKWISE_90:
- case CLOCKWISE_90:
- switch ((EnumFacing.Axis)state.getValue(AXIS))
- {
- case X:
- return state.withProperty(AXIS, EnumFacing.Axis.Z);
- case Z:
- return state.withProperty(AXIS, EnumFacing.Axis.X);
- default:
- return state;
- }
- default:
- return state;
- }
- }
- public static EnumFacing.Axis fromFacingAxis(EnumFacing.Axis axis)
- {
- switch (axis)
- {
- case X:
- return EnumFacing.Axis.X;
- case Y:
- return EnumFacing.Axis.Y;
- case Z:
- return EnumFacing.Axis.Z;
- default:
- return EnumFacing.Axis.X;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement