code: public RayTraceResult rayTraceBlock(BlockPos pos, Point exit)
  	{
  		IBlockState state = world.getBlockState(pos);
  		Block block = state.getBlock();
  		//TODO: fix getBoundingBox for IBoundingBox ?
  		if (hasOption(Options.CHECK_COLLISION) && state.getBoundingBox(world, pos) == null)
  			return null;
  		if (!block.canCollideCheck(state, hasOption(Options.HIT_LIQUIDS)))
  			return null;
  		return new RaytraceBlock(world, src, exit, pos).trace();
  	}
docs: Raytraces inside an actual block area. Calls
  {@link Block#collisionRayTrace(IBlockState, World, BlockPos, net.minecraft.util.math.Vec3d, net.minecraft.util.math.Vec3d)}
  
  @param pos the pos
  @param exit the exit
  @return the {@link RayTraceResult} return by block raytrace