public virtual net.minecraft.src.MovingObjectPosition CollisionRayTrace(net.minecraft.src.World world, int i, int j, int k, net.minecraft.src.Vec3D vec3d, net.minecraft.src.Vec3D vec3d1) { SetBlockBoundsBasedOnState(world, i, j, k); vec3d = vec3d.AddVector(-i, -j, -k); vec3d1 = vec3d1.AddVector(-i, -j, -k); net.minecraft.src.Vec3D vec3d2 = vec3d.GetIntermediateWithXValue(vec3d1, minX); net.minecraft.src.Vec3D vec3d3 = vec3d.GetIntermediateWithXValue(vec3d1, maxX); net.minecraft.src.Vec3D vec3d4 = vec3d.GetIntermediateWithYValue(vec3d1, minY); net.minecraft.src.Vec3D vec3d5 = vec3d.GetIntermediateWithYValue(vec3d1, maxY); net.minecraft.src.Vec3D vec3d6 = vec3d.GetIntermediateWithZValue(vec3d1, minZ); net.minecraft.src.Vec3D vec3d7 = vec3d.GetIntermediateWithZValue(vec3d1, maxZ); if (!IsVecInsideYZBounds(vec3d2)) { vec3d2 = null; } if (!IsVecInsideYZBounds(vec3d3)) { vec3d3 = null; } if (!IsVecInsideXZBounds(vec3d4)) { vec3d4 = null; } if (!IsVecInsideXZBounds(vec3d5)) { vec3d5 = null; } if (!IsVecInsideXYBounds(vec3d6)) { vec3d6 = null; } if (!IsVecInsideXYBounds(vec3d7)) { vec3d7 = null; } net.minecraft.src.Vec3D vec3d8 = null; if (vec3d2 != null && (vec3d8 == null || vec3d.DistanceTo(vec3d2) < vec3d.DistanceTo (vec3d8))) { vec3d8 = vec3d2; } if (vec3d3 != null && (vec3d8 == null || vec3d.DistanceTo(vec3d3) < vec3d.DistanceTo (vec3d8))) { vec3d8 = vec3d3; } if (vec3d4 != null && (vec3d8 == null || vec3d.DistanceTo(vec3d4) < vec3d.DistanceTo (vec3d8))) { vec3d8 = vec3d4; } if (vec3d5 != null && (vec3d8 == null || vec3d.DistanceTo(vec3d5) < vec3d.DistanceTo (vec3d8))) { vec3d8 = vec3d5; } if (vec3d6 != null && (vec3d8 == null || vec3d.DistanceTo(vec3d6) < vec3d.DistanceTo (vec3d8))) { vec3d8 = vec3d6; } if (vec3d7 != null && (vec3d8 == null || vec3d.DistanceTo(vec3d7) < vec3d.DistanceTo (vec3d8))) { vec3d8 = vec3d7; } if (vec3d8 == null) { return(null); } byte byte0 = unchecked ((byte)(-1)); if (vec3d8 == vec3d2) { byte0 = 4; } if (vec3d8 == vec3d3) { byte0 = 5; } if (vec3d8 == vec3d4) { byte0 = 0; } if (vec3d8 == vec3d5) { byte0 = 1; } if (vec3d8 == vec3d6) { byte0 = 2; } if (vec3d8 == vec3d7) { byte0 = 3; } return(new net.minecraft.src.MovingObjectPosition(i, j, k, byte0, vec3d8.AddVector (i, j, k))); }
public virtual net.minecraft.src.MovingObjectPosition Func_706_a(net.minecraft.src.Vec3D vec3d, net.minecraft.src.Vec3D vec3d1) { net.minecraft.src.Vec3D vec3d2 = vec3d.GetIntermediateWithXValue(vec3d1, minX); net.minecraft.src.Vec3D vec3d3 = vec3d.GetIntermediateWithXValue(vec3d1, maxX); net.minecraft.src.Vec3D vec3d4 = vec3d.GetIntermediateWithYValue(vec3d1, minY); net.minecraft.src.Vec3D vec3d5 = vec3d.GetIntermediateWithYValue(vec3d1, maxY); net.minecraft.src.Vec3D vec3d6 = vec3d.GetIntermediateWithZValue(vec3d1, minZ); net.minecraft.src.Vec3D vec3d7 = vec3d.GetIntermediateWithZValue(vec3d1, maxZ); if (!IsVecInYZ(vec3d2)) { vec3d2 = null; } if (!IsVecInYZ(vec3d3)) { vec3d3 = null; } if (!IsVecInXZ(vec3d4)) { vec3d4 = null; } if (!IsVecInXZ(vec3d5)) { vec3d5 = null; } if (!IsVecInXY(vec3d6)) { vec3d6 = null; } if (!IsVecInXY(vec3d7)) { vec3d7 = null; } net.minecraft.src.Vec3D vec3d8 = null; if (vec3d2 != null && (vec3d8 == null || vec3d.SquareDistanceTo(vec3d2) < vec3d.SquareDistanceTo (vec3d8))) { vec3d8 = vec3d2; } if (vec3d3 != null && (vec3d8 == null || vec3d.SquareDistanceTo(vec3d3) < vec3d.SquareDistanceTo (vec3d8))) { vec3d8 = vec3d3; } if (vec3d4 != null && (vec3d8 == null || vec3d.SquareDistanceTo(vec3d4) < vec3d.SquareDistanceTo (vec3d8))) { vec3d8 = vec3d4; } if (vec3d5 != null && (vec3d8 == null || vec3d.SquareDistanceTo(vec3d5) < vec3d.SquareDistanceTo (vec3d8))) { vec3d8 = vec3d5; } if (vec3d6 != null && (vec3d8 == null || vec3d.SquareDistanceTo(vec3d6) < vec3d.SquareDistanceTo (vec3d8))) { vec3d8 = vec3d6; } if (vec3d7 != null && (vec3d8 == null || vec3d.SquareDistanceTo(vec3d7) < vec3d.SquareDistanceTo (vec3d8))) { vec3d8 = vec3d7; } if (vec3d8 == null) { return(null); } byte byte0 = unchecked ((byte)(-1)); if (vec3d8 == vec3d2) { byte0 = 4; } if (vec3d8 == vec3d3) { byte0 = 5; } if (vec3d8 == vec3d4) { byte0 = 0; } if (vec3d8 == vec3d5) { byte0 = 1; } if (vec3d8 == vec3d6) { byte0 = 2; } if (vec3d8 == vec3d7) { byte0 = 3; } return(new net.minecraft.src.MovingObjectPosition(0, 0, 0, byte0, vec3d8)); }