@Override
	public IBlockState mergeBlock(World world, BlockPos pos, IBlockState state, ItemStack itemStack, EntityPlayer player, EnumFacing side, float hitX, float hitY, float hitZ)
	{
		EnumFacing direction = DirectionalComponent.getDirection(state);
		EnumFacing realSide = EnumFacingUtils.getRealSide(state, side);

		if (realSide == EnumFacing.EAST && hitX == 1)
			return null;
		if (realSide == EnumFacing.WEST && hitX == 0)
			return null;
		if (realSide == EnumFacing.UP && hitY == 1)
			return null;
		if (realSide == EnumFacing.DOWN && hitX == 0)
			return null;

		boolean rotate = false;
		switch (direction)
		{
			case SOUTH:
				rotate = hitX < 0.5F;
				break;
			case NORTH:
				rotate = hitX >= 0.5F;
				break;
			case WEST:
				rotate = hitZ < 0.5F;
				break;
			case EAST:
				rotate = hitZ >= 0.5F;
				break;
			default:
				break;
		}

		if (rotate)
			state = DirectionalComponent.rotate(state);

		return state.withProperty(getProperty(), true);
	}
@ Override public IBlockState mergeBlock ( World world , BlockPos pos , IBlockState state , ItemStack itemStack , EntityPlayer player , EnumFacing side , float hitX , float hitY , float hitZ ) { EnumFacing direction = DirectionalComponent . getDirection ( state ) ; EnumFacing realSide = EnumFacingUtils . getRealSide ( state , side ) ; if ( realSide == EnumFacing . EAST && hitX == 1 ) return null ; if ( realSide == EnumFacing . WEST && hitX == 0 ) return null ; if ( realSide == EnumFacing . UP && hitY == 1 ) return null ; if ( realSide == EnumFacing . DOWN && hitX == 0 ) return null ; boolean rotate = false ; switch ( direction ) { case SOUTH : rotate = hitX < 0.5F ; break ; case NORTH : rotate = hitX >= 0.5F ; break ; case WEST : rotate = hitZ < 0.5F ; break ; case EAST : rotate = hitZ >= 0.5F ; break ; default : break ; } if ( rotate ) state = DirectionalComponent . rotate ( state ) ; return state . withProperty ( getProperty ( ) , true ) ; }
Merges the {@link IBlockState} into a corner if possible.

@param world the world
@param pos the pos
@param state the state
@param itemStack the item stack
@param player the player
@param side the side
@param hitX the hit x
@param hitY the hit y
@param hitZ the hit z
@return the i block state