BlockLadder

    From Minecraft Parkour Wiki

    Back to SourceCode

    package net.minecraft.block;
    
    public class BlockLadder extends Block
    {
        public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
    
        protected BlockLadder()
        {
            super(Material.circuits);
        }
    
    
        public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state)
        {
            this.setBlockBoundsBasedOnState(worldIn, pos);
            return super.getCollisionBoundingBox(worldIn, pos, state);
        }
    
    
        public void setBlockBoundsBasedOnState(IBlockAccess worldIn, BlockPos pos)
        {
            IBlockState iblockstate = worldIn.getBlockState(pos);
    
            if (iblockstate.getBlock() == this)
            {
                float f = 0.125F;
    
                switch ((EnumFacing)iblockstate.getValue(FACING))
                {
                    case NORTH:
                        this.setBlockBounds(0.0F, 0.0F, 1.0F - f, 1.0F, 1.0F, 1.0F);
                        break;
    
                    case SOUTH:
                        this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, f);
                        break;
    
                    case WEST:
                        this.setBlockBounds(1.0F - f, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
                        break;
    
                    case EAST:
                    default:
                        this.setBlockBounds(0.0F, 0.0F, 0.0F, f, 1.0F, 1.0F);
                }
            }
        }
    
    }