Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BlockFullRotBase extends BlockRotatedPillar implements IHasModel
- {
- public static final PropertyDirection FACING = BlockDirectional.FACING;
- public BlockFullRotBase(String name, Material material, float hardness, float resistance, String tool, int level, CreativeTabs tabs, SoundType sound)
- {
- super(material);
- setUnlocalizedName(name);
- setRegistryName(name);
- setHardness(hardness);
- setResistance(resistance);
- setHarvestLevel(tool, level);
- setCreativeTab(tabs);
- setSoundType(sound);
- BlocksBrickInit.BLOCKS.add(this);
- BlockMetalInit.BLOCKS.add(this);
- ItemInit.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
- }
- @Override
- public void registerModels()
- {
- CustomBlocks.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
- }
- @Override
- public BlockRenderLayer getBlockLayer()
- {
- return BlockRenderLayer.CUTOUT_MIPPED;
- }
- @Override
- public boolean isOpaqueCube(IBlockState state)
- {
- return false;
- }
- @Override
- public boolean isFullBlock(IBlockState state)
- {
- return false;
- }
- public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
- {
- super.onBlockAdded(worldIn, pos, state);
- this.setDefaultDirection(worldIn, pos, state);
- }
- private void setDefaultDirection(World worldIn, BlockPos pos, IBlockState state)
- {
- if (!worldIn.isRemote)
- {
- EnumFacing enumfacing = (EnumFacing)state.getValue(FACING);
- boolean flag = worldIn.getBlockState(pos.north()).isFullBlock();
- boolean flag1 = worldIn.getBlockState(pos.south()).isFullBlock();
- if (enumfacing == EnumFacing.NORTH && flag && !flag1)
- {
- enumfacing = EnumFacing.SOUTH;
- }
- else if (enumfacing == EnumFacing.SOUTH && flag1 && !flag)
- {
- enumfacing = EnumFacing.NORTH;
- }
- else
- {
- boolean flag2 = worldIn.getBlockState(pos.west()).isFullBlock();
- boolean flag3 = worldIn.getBlockState(pos.east()).isFullBlock();
- if (enumfacing == EnumFacing.WEST && flag2 && !flag3)
- {
- enumfacing = EnumFacing.EAST;
- }
- else if (enumfacing == EnumFacing.EAST && flag3 && !flag2)
- {
- enumfacing = EnumFacing.WEST;
- }
- }
- worldIn.setBlockState(pos, state.withProperty(FACING, enumfacing), 2);
- }
- }
- public IBlockState getStateForPlacement(World worldIn, BlockPos pos, EnumFacing facing, float hitX, float hitY, float hitZ, int meta, EntityLivingBase placer)
- {
- return this.getDefaultState().withProperty(FACING, EnumFacing.getDirectionFromEntityLiving(pos, placer));
- }
- public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
- {
- worldIn.setBlockState(pos, state.withProperty(FACING, EnumFacing.getDirectionFromEntityLiving(pos, placer)), 2);
- }
- public IBlockState getStateFromMeta(int meta)
- {
- return this.getDefaultState().withProperty(FACING, EnumFacing.getFront(meta & 7));
- }
- public int getMetaFromState(IBlockState state)
- {
- int i = 0;
- i = i | ((EnumFacing)state.getValue(FACING)).getIndex();
- return i;
- }
- public IBlockState withRotation(IBlockState state, Rotation rot)
- {
- return state.withProperty(FACING, rot.rotate((EnumFacing)state.getValue(FACING)));
- }
- public IBlockState withMirror(IBlockState state, Mirror mirrorIn)
- {
- return state.withRotation(mirrorIn.toRotation((EnumFacing)state.getValue(FACING)));
- }
- protected BlockStateContainer createBlockState()
- {
- return new BlockStateContainer(this, new IProperty[] {FACING});
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement