AimingHelper class

Пакет: com.hypixel.hytale.server.npc.util

Файл: com/hypixel/hytale/server/npc/util/AimingHelper.java

Поля (16)

МодификаторыТипИмя
final int MIN_GRAVITY_FOR_PARABOLA
double var10
double var11
double var12
double var13
double var14
double var15
double var15
var15
double var17
double var18
float var19
var19
var19
double var8
double var9

Методы (13)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("computePitch requires a result array of size 2 for storing the resulting pitch")
static boolean computePitchboolean computePitch(double var0, double var2, double var4, double var6, @Nonnull float[] var8)
static double ensurePossibleThrowSpeeddouble ensurePossibleThrowSpeed(double var0, double var2, double var4, double var6)
if if(var8 < 1.0000000000000002E-10)
if if(var14 <= 0.0)
if if(var0 * var0 < 1.0000000000000002E-10)
if if(var17 <= 0.0)
if if(var2 > 0.0)
if if(var18 < var2 - 1.0E-5)
if if(var18 > var2 + 1.0E-5)
if if(var2 == 0.0 && var0 == 0.0)
if if(var8.length != 2)
if if(var15 < 0.0)

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.TrigMathUtil;
class="kw">import javax.annotation.Nonnull;

class="kw">public class AimingHelper {
   class="kw">public class="kw">static class="kw">final int MIN_GRAVITY_FOR_PARABOLA = 3;

   class="kw">public AimingHelper() {
   }

   class="kw">public class="kw">static double ensurePossibleThrowSpeed(double var0, double var2, double var4, double var6) {
      double var8 = var0 * var0;
      if (var8 < 1.0000000000000002E-10) {
         double var14 = var2 * var4;
         if (var14 <= 0.0) {
            class="kw">return var6;
         }

         double var15 = Math.sqrt(2.0 * var14);
         class="kw">return Math.max(var15, var6);
      } else {
         double var10 = (Math.sqrt(var2 * var2 + var8) - var2) / var8;
         double var12 = Math.sqrt(var4 / var10);
         class="kw">return Math.max(var12, var6);
      }
   }

   class="kw">public class="kw">static boolean computePitch(double var0, double var2, double var4, double var6, @Nonnull float[] var8) {
      if (var0 * var0 < 1.0000000000000002E-10) {
         double var17 = var2 * var6;
         if (var17 <= 0.0) {
            var8[0] = var2 > 0.0 ? (float) (Math.PI / 2) : (float) (-Math.PI / 2);
            var8[1] = -var8[0];
            class="kw">return true;
         }

         double var18 = 0.5 * var4 * var4 / var6;
         float var19;
         if (var2 > 0.0) {
            if (var18 < var2 - 1.0E-5) {
               class="kw">return false;
            }

            var19 = (float) (Math.PI / 2);
         } else {
            if (var18 > var2 + 1.0E-5) {
               class="kw">return false;
            }

            var19 = (float) (-Math.PI / 2);
         }

         var8[0] = var8[1] = var19;
         class="kw">return true;
      } else if (var6 < 3.0) {
         if (var2 == 0.0 && var0 == 0.0) {
            class="kw">return false;
         }

         var8[0] = var8[1] = TrigMathUtil.atan2(var2, var0);
         class="kw">return true;
      } else {
         if (var8.length != 2) {
            throw new IllegalArgumentException("computePitch requires a result array of size 2 for storing the resulting pitch");
         }

         double var9 = var6 / (var4 * var4);
         double var11 = var9 * var0 - 1.0E-5;
         double var13 = var9 * var2 - 1.0E-5;
         double var15 = 1.0 - var11 * var11 - 2.0 * var13;
         if (var15 < 0.0) {
            class="kw">return false;
         }

         var15 = Math.sqrt(var15);
         var8[0] = TrigMathUtil.atan((1.0 - var15) / var11);
         var8[1] = TrigMathUtil.atan((1.0 + var15) / var11);
         class="kw">return true;
      }
   }
}