code: public static EnumFacing getRealSide(IBlockState state, EnumFacing side)
  	{
  		if (state == null || side == null)
  			return side;
  
  		EnumFacing direction = DirectionalComponent.getDirection(state);
  		if (direction == EnumFacing.SOUTH)
  			return side;
  
  		if (direction == EnumFacing.DOWN)
  			return side.rotateAround(Axis.X);
  		else if (direction == EnumFacing.UP)
  			switch (side)
  			{
  				case UP:
  					return EnumFacing.SOUTH;
  				case DOWN:
  					return EnumFacing.NORTH;
  				case NORTH:
  					return EnumFacing.UP;
  				case SOUTH:
  					return EnumFacing.DOWN;
  				default:
  					return side;
  			}
  
  		int count = EnumFacingUtils.getRotationCount(direction);
  		side = EnumFacingUtils.rotateFacing(side, count);
  
  		return side;
  	}
docs: Gets the real side of a rotated block.
  
  @param state the state
  @param side the side
  @return the real side