code: public RayTraceResult getRayTraceResult(World world, Pair<Point, Point> infos, RayTraceResult result, boolean stopOnLiquid, boolean ignoreBlockWithoutBoundingBox, boolean returnLastUncollidableBlock)
  	{
  		if (infos == null)
  			return result;
  
  		RayTraceResult tmp = new RaytraceChunk(world, infos.getLeft(), infos.getRight()).trace();
  		result = Raytrace.getClosestHit(Type.BLOCK, infos.getLeft(), result, tmp);
  		return returnLastUncollidableBlock || result == null || result.typeOfHit == Type.BLOCK ? result : null;
  	}
docs: Gets the ray trace result.<br>
  Called via ASM from {@link World#rayTraceBlocks(Vec3d, Vec3d, boolean, boolean, boolean)} before each return.
  
  @param world the world
  @param result the mop
  @return the ray trace result