MathUtil class

Пакет: com.hypixel.hytale.math.util

Файл: com/hypixel/hytale/math/util/MathUtil.java

Поля (86)

МодификаторыТипИмя
return var0 < 0L
final double EPSILON_DOUBLE
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
var0
int var1
int var1
int var1
int var1
int var1
int var1
int var1
double var11
double var12
double var12
var12
double var14
double var14
var14
double var16
var16
double var16
double var16
double var18
var18
double var18
double var18
int var2
int var2
long var2
long var2
int var2
var2
var2
int var2
float var2
double var20
double var20
double var22
var22
var22
double var24
var24
var24
double var3
int var3
var3
float var3
float var3
double var3
int var4
var4
var4
double var4
var4
var4
int var4
double var4
int var5
var5
var5
float var5
double var5
float var5
double var6
var6
var6
long var7
var7
var7
long var9
var9
var9

Методы (118)

МодификаторыВозвратСигнатура
abstract return new Rotation3freturn new Rotation3f(Rotation3f.IDENTITY)
abstract return new Vector3dreturn new Vector3d(var4, var0.y, var6)
abstract return new Vector3ireturn new Vector3i(var4, var0.y, var5)
static int absint abs(int var0)
static int byteCountint byteCount(int var0)
static int ceilint ceil(double var0)
static double clampdouble clamp(double var0, double var2, double var4)
static float clampfloat clamp(float var0, float var1, float var2)
static int clampint clamp(int var0, int var1, int var2)
static long clamplong clamp(long var0, long var2, long var4)
static double clipToZerodouble clipToZero(double var0)
static double clipToZerodouble clipToZero(double var0, double var2)
static float clipToZerofloat clipToZero(float var0)
static float clipToZerofloat clipToZero(float var0, float var1)
abstract return clipToZeroreturn clipToZero(var0, EPSILON_DOUBLE)
abstract return clipToZeroreturn clipToZero(var0, EPSILON_FLOAT)
static boolean closeToZeroboolean closeToZero(double var0)
static boolean closeToZeroboolean closeToZero(double var0, double var2)
static boolean closeToZeroboolean closeToZero(float var0)
static boolean closeToZeroboolean closeToZero(float var0, float var1)
abstract return closeToZeroreturn closeToZero(var0, EPSILON_DOUBLE)
abstract return closeToZeroreturn closeToZero(var0, EPSILON_FLOAT)
static double compareAngledouble compareAngle(double var0, double var2)
static double distanceToInfLineSqdouble distanceToInfLineSq(double var0, double var2, double var4, double var6, double var8, double var10)
static double distanceToInfLineSqdouble distanceToInfLineSq(double var0, double var2, double var4, double var6, double var8, double var10, double var12, double var14)
abstract return distanceToInfLineSqreturn distanceToInfLineSq(var0, var2, var4, var6, var12, var14, var16, var18)
static double distanceToLineSqdouble distanceToLineSq(double var0, double var2, double var4, double var6, double var8, double var10)
static double distanceToLineSqdouble distanceToLineSq(double var0, double var2, double var4, double var6, double var8, double var10, double var12, double var14, double var16, double var18)
abstract return distanceToLineSqreturn distanceToLineSq(var0, var2, var4, var6, var8, var10, var12, var14, var16, var18)
static int fastCeilint fastCeil(float var0)
static long fastCeillong fastCeil(double var0)
static int fastFloorint fastFloor(float var0)
static long fastFloorlong fastFloor(double var0)
abstract return fastFloorreturn fastFloor(var0 + 0.5F)
abstract return fastFloorreturn fastFloor(var0 + 0.5)
static int fastRoundint fastRound(float var0)
static long fastRoundlong fastRound(double var0)
static int floorint floor(double var0)
static double floorModdouble floorMod(double var0, double var2)
static String getNameForHitNormalString getNameForHitNormal(Vector3d var0)
static int getPercentageOfint getPercentageOf(int var0, int var1)
static Rotation3f getRotationForHitNormalRotation3f getRotationForHitNormal(Vector3d var0)
static int halfFloatFromFloatint halfFloatFromFloat(float var0)
static float halfFloatToFloatfloat halfFloatToFloat(int var0)
if if(var2 <= var0)
if if(var2 < var0)
if if(var4 < var0)
if if(var1 < var0)
if if(var2 < var0)
if if(var2 > var0)
if if(var4 > var0)
if if(var6 > var0)
if if(var2 > var0)
if if(var4 > var0)
if if(var1 > var0)
if if(var2 > var0)
if if(var1 > var0)
if if(var2 > var0)
if if(var3 > var0)
if if(var1 > var0)
if if(var2 > var0)
if if(var0 > var4)
if if(var0 > var2)
if if(var0 > var2)
if if(var0 > var4)
if if(var1 <= var0)
if if(var2 <= var0)
if if(var2 == 31744)
if if(var1 == 0 && var2 > 115712)
if if(var3 >= 1199570944)
if if(var3 >= 947912704)
if if(var3 < 855638016)
if if(var0 > 65535)
if if(var2)
if if(var2)
if if(var0.length == 1)
if if(var1 >= 1.0)
if if(var3 >= 1.0)
if if(var7 == var9)
if if(var20 > 1.0)
if if(var0 == null)
if if(var0 == null)
static double lengthdouble length(double var0, double var2)
static double lengthdouble length(double var0, double var2, double var4)
static double lengthSquareddouble lengthSquared(double var0, double var2)
static double lengthSquareddouble lengthSquared(double var0, double var2, double var4)
static float lerpfloat lerp(float var0, float var1, float var2)
static double lerpdouble lerp(double var0, double var2, double var4)
static float lerpAnglefloat lerpAngle(float var0, float var1, float var2)
static float lerpUnclampedfloat lerpUnclamped(float var0, float var1, float var2)
static double lerpUnclampeddouble lerpUnclamped(double var0, double var2, double var4)
static float mapToRangefloat mapToRange(float var0, float var1, float var2, float var3, float var4)
static double maxValuedouble maxValue(double var0, double var2, double var4, double var6)
static double maxValuedouble maxValue(double var0, double var2, double var4)
static byte maxValuebyte maxValue(byte var0, byte var1, byte var2)
static byte maxValuebyte maxValue(byte var0, byte var1, byte var2, byte var3)
static int maxValueint maxValue(int var0, int var1, int var2)
static double maxValuedouble maxValue(double var0, double var2)
static double minValuedouble minValue(double var0, double var2, double var4)
static int minValueint minValue(int var0, int var1, int var2)
static int packIntint packInt(int var0, int var1)
static long packLonglong packLong(int var0, int var1)
static double percentdouble percent(int var0, int var1)
static double percentiledouble percentile(@Nonnull long[] var0, double var1)
static double randomDoubledouble randomDouble(double var0, double var2)
static float randomFloatfloat randomFloat(float var0, float var1)
static int randomIntint randomInt(int var0, int var1)
static double rounddouble round(double var0, int var2)
static long saturatedMultiplylong saturatedMultiply(long var0, long var2)
static float seededLerpfloat seededLerp(float var0, float var1, long var2)
static float shortAngleDistancefloat shortAngleDistance(float var0, float var1)
static int sideOfLineint sideOfLine(double var0, double var2, double var4, double var6, double var8, double var10)
static int unpackLeftint unpackLeft(int var0)
static int unpackLeftint unpackLeft(long var0)
static int unpackRightint unpackRight(int var0)
static int unpackRightint unpackRight(long var0)
static boolean withinboolean within(double var0, double var2, double var4)
static float wrapAnglefloat wrapAngle(float var0)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.math.util;

class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import java.util.concurrent.ThreadLocalRandom;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;

class="kw">public class MathUtil {
   class="kw">public class="kw">static class="kw">final double EPSILON_DOUBLE = Math.ulp(1.0);
   class="kw">public class="kw">static class="kw">final float EPSILON_FLOAT = Math.ulp(1.0F);
   class="kw">public class="kw">static class="kw">final double ZERO_LENGTH_EPSILON = 1.0E-8;
   class="kw">public class="kw">static float PITCH_EDGE_PADDING = 0.01F;

   class="kw">public class="kw">static int abs(int var0) {
      int var1 = var0 >> 31;
      class="kw">return var0 + var1 ^ var1;
   }

   class="kw">public class="kw">static int floor(double var0) {
      int var2 = (int)var0;
      if (var2 <= var0) {
         class="kw">return var2;
      } else {
         class="kw">return var0 < -2.1474836E9F ? Integer.MIN_VALUE : var2 - 1;
      }
   }

   class="kw">public class="kw">static int ceil(double var0) {
      int var2 = (int)var0;
      if (!(var0 > 0.0) || var0 == var2) {
         class="kw">return var2;
      } else {
         class="kw">return var0 > 2.147483647E9 ? Integer.MAX_VALUE : var2 + 1;
      }
   }

   class="kw">public class="kw">static int randomInt(int var0, int var1) {
      class="kw">return ThreadLocalRandom.current().nextInt(var0, var1);
   }

   class="kw">public class="kw">static double randomDouble(double var0, double var2) {
      class="kw">return var0 + Math.random() * (var2 - var0);
   }

   class="kw">public class="kw">static float randomFloat(float var0, float var1) {
      class="kw">return var0 + (float)Math.random() * (var1 - var0);
   }

   class="kw">public class="kw">static double round(double var0, int var2) {
      double var3 = Math.pow(10.0, var2);
      class="kw">return Math.round(var0 * var3) / var3;
   }

   class="kw">public class="kw">static boolean within(double var0, double var2, double var4) {
      class="kw">return var0 >= var2 && var0 <= var4;
   }

   class="kw">public class="kw">static double minValue(double var0, double var2, double var4) {
      if (var2 < var0) {
         var0 = var2;
      }

      if (var4 < var0) {
         var0 = var4;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static int minValue(int var0, int var1, int var2) {
      if (var1 < var0) {
         var0 = var1;
      }

      if (var2 < var0) {
         var0 = var2;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static double maxValue(double var0, double var2, double var4, double var6) {
      if (var2 > var0) {
         var0 = var2;
      }

      if (var4 > var0) {
         var0 = var4;
      }

      if (var6 > var0) {
         var0 = var6;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static double maxValue(double var0, double var2, double var4) {
      if (var2 > var0) {
         var0 = var2;
      }

      if (var4 > var0) {
         var0 = var4;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static byte maxValue(byte var0, byte var1, byte var2) {
      if (var1 > var0) {
         var0 = var1;
      }

      if (var2 > var0) {
         var0 = var2;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static byte maxValue(byte var0, byte var1, byte var2, byte var3) {
      if (var1 > var0) {
         var0 = var1;
      }

      if (var2 > var0) {
         var0 = var2;
      }

      if (var3 > var0) {
         var0 = var3;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static int maxValue(int var0, int var1, int var2) {
      if (var1 > var0) {
         var0 = var1;
      }

      if (var2 > var0) {
         var0 = var2;
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static double lengthSquared(double var0, double var2) {
      class="kw">return var0 * var0 + var2 * var2;
   }

   class="kw">public class="kw">static double length(double var0, double var2) {
      class="kw">return Math.sqrt(lengthSquared(var0, var2));
   }

   class="kw">public class="kw">static double lengthSquared(double var0, double var2, double var4) {
      class="kw">return var0 * var0 + var2 * var2 + var4 * var4;
   }

   class="kw">public class="kw">static double length(double var0, double var2, double var4) {
      class="kw">return Math.sqrt(lengthSquared(var0, var2, var4));
   }

   class="kw">public class="kw">static double maxValue(double var0, double var2) {
      class="kw">return var2 > var0 ? var2 : var0;
   }

   class="kw">public class="kw">static double clipToZero(double var0) {
      class="kw">return clipToZero(var0, EPSILON_DOUBLE);
   }

   class="kw">public class="kw">static double clipToZero(double var0, double var2) {
      class="kw">return var0 >= -var2 && var0 <= var2 ? 0.0 : var0;
   }

   class="kw">public class="kw">static float clipToZero(float var0) {
      class="kw">return clipToZero(var0, EPSILON_FLOAT);
   }

   class="kw">public class="kw">static float clipToZero(float var0, float var1) {
      class="kw">return var0 >= -var1 && var0 <= var1 ? 0.0F : var0;
   }

   class="kw">public class="kw">static boolean closeToZero(double var0) {
      class="kw">return closeToZero(var0, EPSILON_DOUBLE);
   }

   class="kw">public class="kw">static boolean closeToZero(double var0, double var2) {
      class="kw">return var0 >= -var2 && var0 <= var2;
   }

   class="kw">public class="kw">static boolean closeToZero(float var0) {
      class="kw">return closeToZero(var0, EPSILON_FLOAT);
   }

   class="kw">public class="kw">static boolean closeToZero(float var0, float var1) {
      class="kw">return var0 >= -var1 && var0 <= var1;
   }

   class="kw">public class="kw">static double clamp(double var0, double var2, double var4) {
      if (var0 > var4) {
         class="kw">return var0 < var2 ? var2 : var4;
      } else {
         class="kw">return var0 < var2 ? var2 : var0;
      }
   }

   class="kw">public class="kw">static float clamp(float var0, float var1, float var2) {
      if (var0 > var2) {
         class="kw">return var0 < var1 ? var1 : var2;
      } else {
         class="kw">return var0 < var1 ? var1 : var0;
      }
   }

   class="kw">public class="kw">static int clamp(int var0, int var1, int var2) {
      if (var0 > var2) {
         class="kw">return var0 < var1 ? var1 : var2;
      } else {
         class="kw">return var0 < var1 ? var1 : var0;
      }
   }

   class="kw">public class="kw">static long clamp(long var0, long var2, long var4) {
      if (var0 > var4) {
         class="kw">return var0 < var2 ? var2 : var4;
      } else {
         class="kw">return var0 < var2 ? var2 : var0;
      }
   }

   class="kw">public class="kw">static long saturatedMultiply(long var0, long var2) {
      try {
         class="kw">return Math.multiplyExact(var0, var2);
      } catch (ArithmeticException var5) {
         class="kw">return var0 < 0L == var2 < 0L ? Long.MAX_VALUE : Long.MIN_VALUE;
      }
   }

   class="kw">public class="kw">static int getPercentageOf(int var0, int var1) {
      class="kw">return (int)(var0 / (var1 - 1.0) * 100.0);
   }

   class="kw">public class="kw">static double percent(int var0, int var1) {
      class="kw">return var1 == 0 ? 0.0 : var0 * 100.0 / var1;
   }

   class="kw">public class="kw">static int fastRound(float var0) {
      class="kw">return fastFloor(var0 + 0.5F);
   }

   class="kw">public class="kw">static long fastRound(double var0) {
      class="kw">return fastFloor(var0 + 0.5);
   }

   class="kw">public class="kw">static int fastFloor(float var0) {
      int var1 = (int)var0;
      if (var1 <= var0) {
         class="kw">return var1;
      } else {
         class="kw">return var0 < -2.1474836E9F ? Integer.MIN_VALUE : var1 - 1;
      }
   }

   class="kw">public class="kw">static long fastFloor(double var0) {
      long var2 = (long)var0;
      if (var2 <= var0) {
         class="kw">return var2;
      } else {
         class="kw">return var0 < -9.223372E18F ? Long.MIN_VALUE : var2 - 1L;
      }
   }

   class="kw">public class="kw">static int fastCeil(float var0) {
      int var1 = (int)var0;
      if (!(var0 > 0.0F) || var0 == var1) {
         class="kw">return var1;
      } else {
         class="kw">return var0 > 2.1474836E9F ? Integer.MAX_VALUE : var1 + 1;
      }
   }

   class="kw">public class="kw">static long fastCeil(double var0) {
      long var2 = (long)var0;
      if (!(var0 > 0.0) || var0 == var2) {
         class="kw">return var2;
      } else {
         class="kw">return var0 > 9.223372E18F ? Long.MAX_VALUE : var2 + 1L;
      }
   }

   class="kw">private MathUtil() {
   }

   class="kw">public class="kw">static float halfFloatToFloat(int var0) {
      int var1 = var0 & 1023;
      int var2 = var0 & 31744;
      if (var2 == 31744) {
         var2 = 261120;
      } else if (var2 != 0) {
         var2 += 114688;
         if (var1 == 0 && var2 > 115712) {
            class="kw">return Float.intBitsToFloat((var0 & 32768) << 16 | var2 << 13 | 1023);
         }
      } else if (var1 != 0) {
         var2 = 115712;

         do {
            var1 <<= 1;
            var2 -= 1024;
         } while ((var1 & 1024) == 0);

         var1 &= 1023;
      }

      class="kw">return Float.intBitsToFloat((var0 & 32768) << 16 | (var2 | var1) << 13);
   }

   class="kw">public class="kw">static int halfFloatFromFloat(float var0) {
      int var1 = Float.floatToIntBits(var0);
      int var2 = var1 >>> 16 & 32768;
      int var3 = (var1 & 2147483647) + 4096;
      if (var3 >= 1199570944) {
         if ((var1 & 2147483647) >= 1199570944) {
            class="kw">return var3 < 2139095040 ? var2 | 31744 : var2 | 31744 | (var1 & 8388607) >>> 13;
         } else {
            class="kw">return var2 | 31743;
         }
      } else {
         if (var3 >= 947912704) {
            class="kw">return var2 | var3 - 939524096 >>> 13;
         }

         if (var3 < 855638016) {
            class="kw">return var2;
         }

         var3 = (var1 & 2147483647) >>> 23;
         class="kw">return var2 | (var1 & 8388607 | 8388608) + (8388608 >>> var3 - 102) >>> 126 - var3;
      }
   }

   class="kw">public class="kw">static int byteCount(int var0) {
      if (var0 > 65535) {
         class="kw">return 4;
      } else if (var0 > 255) {
         class="kw">return 2;
      } else {
         class="kw">return var0 > 0 ? 1 : 0;
      }
   }

   class="kw">public class="kw">static int packInt(int var0, int var1) {
      class="kw">return var0 << 16 | var1 & 65535;
   }

   class="kw">public class="kw">static int unpackLeft(int var0) {
      int var1 = var0 >> 16 & 65535;
      if ((var1 & 32768) != 0) {
         var1 |= -65536;
      }

      class="kw">return var1;
   }

   class="kw">public class="kw">static int unpackRight(int var0) {
      int var1 = var0 & 65535;
      if ((var1 & 32768) != 0) {
         var1 |= -65536;
      }

      class="kw">return var1;
   }

   class="kw">public class="kw">static long packLong(int var0, int var1) {
      class="kw">return (long)var0 << 32 | var1 & 4294967295L;
   }

   class="kw">public class="kw">static int unpackLeft(long var0) {
      class="kw">return (int)(var0 >> 32);
   }

   class="kw">public class="kw">static int unpackRight(long var0) {
      class="kw">return (int)var0;
   }

   @Nonnull
   class="kw">public class="kw">static Vector3i rotateVectorYAxis(@Nonnull Vector3i var0, int var1, boolean var2) {
      float var3 = (float) (Math.PI / 180.0) * var1;
      int var4;
      int var5;
      if (var2) {
         var4 = (int)(var0.x * TrigMathUtil.cos(var3) - var0.z * TrigMathUtil.sin(var3));
         var5 = (int)(var0.x * TrigMathUtil.sin(var3) + var0.z * TrigMathUtil.cos(var3));
      } else {
         var4 = (int)(var0.x * TrigMathUtil.cos(var3) + var0.z * TrigMathUtil.sin(var3));
         var5 = (int)(-var0.x * TrigMathUtil.sin(var3) + var0.z * TrigMathUtil.cos(var3));
      }

      class="kw">return new Vector3i(var4, var0.y, var5);
   }

   @Nonnull
   class="kw">public class="kw">static Vector3d rotateVectorYAxis(@Nonnull Vector3d var0, int var1, boolean var2) {
      float var3 = (float) (Math.PI / 180.0) * var1;
      double var4;
      double var6;
      if (var2) {
         var4 = var0.x * TrigMathUtil.cos(var3) - var0.z * TrigMathUtil.sin(var3);
         var6 = var0.x * TrigMathUtil.sin(var3) + var0.z * TrigMathUtil.cos(var3);
      } else {
         var4 = var0.x * TrigMathUtil.cos(var3) + var0.z * TrigMathUtil.sin(var3);
         var6 = -var0.x * TrigMathUtil.sin(var3) + var0.z * TrigMathUtil.cos(var3);
      }

      class="kw">return new Vector3d(var4, var0.y, var6);
   }

   class="kw">public class="kw">static float wrapAngle(float var0) {
      var0 %= (float) (Math.PI * 2);
      if (var0 <= (float) -Math.PI) {
         var0 += (float) (Math.PI * 2);
      } else if (var0 > (float) Math.PI) {
         var0 -= (float) (Math.PI * 2);
      }

      class="kw">return var0;
   }

   class="kw">public class="kw">static float lerp(float var0, float var1, float var2) {
      class="kw">return lerpUnclamped(var0, var1, clamp(var2, 0.0F, 1.0F));
   }

   class="kw">public class="kw">static float lerpUnclamped(float var0, float var1, float var2) {
      class="kw">return var0 + var2 * (var1 - var0);
   }

   class="kw">public class="kw">static double lerp(double var0, double var2, double var4) {
      class="kw">return lerpUnclamped(var0, var2, clamp(var4, 0.0, 1.0));
   }

   class="kw">public class="kw">static float seededLerp(float var0, float var1, long var2) {
      int var4 = (int)(var2 ^ var2 >>> 32) & 16777215;
      float var5 = var4 / 1.6777215E7F;
      class="kw">return var0 + var5 * (var1 - var0);
   }

   class="kw">public class="kw">static double lerpUnclamped(double var0, double var2, double var4) {
      class="kw">return var0 + var4 * (var2 - var0);
   }

   class="kw">public class="kw">static float shortAngleDistance(float var0, float var1) {
      float var2 = (var1 - var0) % (float) (Math.PI * 2);
      class="kw">return 2.0F * var2 % (float) (Math.PI * 2) - var2;
   }

   class="kw">public class="kw">static float lerpAngle(float var0, float var1, float var2) {
      class="kw">return var0 + shortAngleDistance(var0, var1) * var2;
   }

   class="kw">public class="kw">static double floorMod(double var0, double var2) {
      class="kw">return var0 - Math.floor(var0 / var2) * var2;
   }

   class="kw">public class="kw">static double compareAngle(double var0, double var2) {
      double var4 = var2 - var0;
      class="kw">return floorMod(var4 + Math.PI, Math.PI * 2) - Math.PI;
   }

   class="kw">public class="kw">static double percentile(@Nonnull long[] var0, double var1) {
      if (var0.length == 1) {
         class="kw">return var0[0];
      }

      if (var1 >= 1.0) {
         class="kw">return var0[var0.length - 1];
      }

      double var3 = (var0.length + 1) * var1;
      double var5 = var1 * (var0.length - 1) + 1.0;
      long var7;
      long var9;
      if (var3 >= 1.0) {
         var7 = var0[floor(var5) - 1];
         var9 = var0[floor(var5)];
      } else {
         var7 = var0[0];
         var9 = var0[1];
      }

      if (var7 == var9) {
         class="kw">return var7;
      }

      double var11 = var5 - floor(var5);
      class="kw">return var7 + var11 * (var9 - var7);
   }

   class="kw">public class="kw">static double distanceToLineSq(double var0, double var2, double var4, double var6, double var8, double var10) {
      double var12 = var0 - var4;
      double var14 = var2 - var6;
      double var16 = var8 - var4;
      double var18 = var10 - var6;
      class="kw">return distanceToLineSq(var0, var2, var4, var6, var8, var10, var12, var14, var16, var18);
   }

   class="kw">public class="kw">static double distanceToLineSq(
      double var0, double var2, double var4, double var6, double var8, double var10, double var12, double var14, double var16, double var18
   ) {
      double var20 = var12 * var16 + var14 * var18;
      var20 /= var16 * var16 + var18 * var18;
      double var22 = var4;
      double var24 = var6;
      if (var20 > 1.0) {
         var22 = var8;
         var24 = var10;
      } else if (var20 > 0.0) {
         var22 = var4 + var20 * var16;
         var24 = var6 + var20 * var18;
      }

      var16 = var0 - var22;
      var18 = var2 - var24;
      class="kw">return var16 * var16 + var18 * var18;
   }

   class="kw">public class="kw">static double distanceToInfLineSq(double var0, double var2, double var4, double var6, double var8, double var10) {
      double var12 = var0 - var4;
      double var14 = var2 - var6;
      double var16 = var8 - var4;
      double var18 = var10 - var6;
      class="kw">return distanceToInfLineSq(var0, var2, var4, var6, var12, var14, var16, var18);
   }

   class="kw">public class="kw">static double distanceToInfLineSq(double var0, double var2, double var4, double var6, double var8, double var10, double var12, double var14) {
      double var16 = var8 * var12 + var10 * var14;
      var16 /= var12 * var12 + var14 * var14;
      double var18 = var4 + var16 * var12;
      double var20 = var6 + var16 * var14;
      var12 = var0 - var18;
      var14 = var2 - var20;
      class="kw">return var12 * var12 + var14 * var14;
   }

   class="kw">public class="kw">static int sideOfLine(double var0, double var2, double var4, double var6, double var8, double var10) {
      class="kw">return (var4 - var0) * (var10 - var2) - (var6 - var2) * (var8 - var0) >= 0.0 ? 1 : -1;
   }

   class="kw">public class="kw">static Rotation3f getRotationForHitNormal(Vector3d var0) {
      if (var0 == null) {
         class="kw">return new Rotation3f(Rotation3f.IDENTITY);
      } else if (var0.y == 1.0) {
         class="kw">return new Rotation3f(Rotation3f.IDENTITY);
      } else if (var0.y == -1.0) {
         class="kw">return new Rotation3f(0.0F, 0.0F, (float) Math.PI);
      } else if (var0.x == 1.0) {
         class="kw">return new Rotation3f(0.0F, 0.0F, (float) (-Math.PI / 2));
      } else if (var0.x == -1.0) {
         class="kw">return new Rotation3f(0.0F, 0.0F, (float) (Math.PI / 2));
      } else if (var0.z == 1.0) {
         class="kw">return new Rotation3f((float) (Math.PI / 2), 0.0F, 0.0F);
      } else {
         class="kw">return var0.z == -1.0 ? new Rotation3f((float) (-Math.PI / 2), 0.0F, 0.0F) : new Rotation3f(Rotation3f.IDENTITY);
      }
   }

   class="kw">public class="kw">static String getNameForHitNormal(Vector3d var0) {
      if (var0 == null) {
         class="kw">return "UP";
      } else if (var0.y == 1.0) {
         class="kw">return "UP";
      } else if (var0.y == -1.0) {
         class="kw">return "DOWN";
      } else if (var0.x == 1.0) {
         class="kw">return "WEST";
      } else if (var0.x == -1.0) {
         class="kw">return "EAST";
      } else if (var0.z == 1.0) {
         class="kw">return "NORTH";
      } else {
         class="kw">return var0.z == -1.0 ? "SOUTH" : "UP";
      }
   }

   class="kw">public class="kw">static float mapToRange(float var0, float var1, float var2, float var3, float var4) {
      float var5 = (var0 - var1) / (var2 - var1);
      class="kw">return var3 + var5 * (var4 - var3);
   }
}