YawRotation class

Пакет: com.hypixel.hytale.builtin.triggervolumes

Файл: com/hypixel/hytale/builtin/triggervolumes/YawRotation.java

Поля (11)

МодификаторыТипИмя
final double EPSILON
break
break
break
break
double var1
double var2
double var3
long var3
double var5
Vector3d var7

Методы (6)

МодификаторыВозвратСигнатура
static float addDegreesfloat addDegrees(float var0, float var1)
if if(var2 < 0.0)
static int quarterTurnsint quarterTurns(float var0)
static void rotatevoid rotate(@Nonnull Vector3d var0, float var1)
abstract rotate rotate(var7, var1)
static void rotateBlockOffsetvoid rotateBlockOffset(@Nonnull Vector3d var0, float var1, @Nonnull Vector3d var2)

Исходный код

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

class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.Rotation;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;

class="kw">public class="kw">final class YawRotation {
   class="kw">public class="kw">static class="kw">final double EPSILON = 1.0E-6;
   class="kw">private class="kw">static class="kw">final double QUARTER_TURN_EPSILON = 1.0E-4;
   class="kw">private class="kw">static class="kw">final double QUARTER_TURN = Math.PI / 2;

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

   class="kw">public class="kw">static void rotate(@Nonnull Vector3d var0, float var1) {
      class="kw">switch (quarterTurns(var1)) {
         case 0:
            break;
         case 1:
            var0.set(var0.z(), var0.y(), -var0.x());
            break;
         case 2:
            var0.set(-var0.x(), var0.y(), -var0.z());
            break;
         case 3:
            var0.set(-var0.z(), var0.y(), var0.x());
            break;
         class="kw">default:
            var0.rotateY(var1);
      }
   }

   class="kw">public class="kw">static void rotateBlockOffset(@Nonnull Vector3d var0, float var1, @Nonnull Vector3d var2) {
      double var3 = Math.floor(var2.x() + var0.x()) + 0.5 - var2.x();
      double var5 = Math.floor(var2.z() + var0.z()) + 0.5 - var2.z();
      Vector3d var7 = new Vector3d(var3, 0.0, var5);
      rotate(var7, var1);
      var0.x = var7.x();
      var0.z = var7.z();
   }

   class="kw">public class="kw">static int quarterTurns(float var0) {
      double var1 = var0 / (Math.PI / 2);
      long var3 = Math.round(var1);
      class="kw">return Math.abs(var1 - var3) > 1.0E-4 ? -1 : Math.floorMod((int)var3, 4);
   }

   @Nonnull
   class="kw">public class="kw">static Rotation rotate(@Nonnull Rotation var0, int var1) {
      class="kw">return var0.add(Rotation.ofDegrees(var1 * 90));
   }

   class="kw">public class="kw">static float addDegrees(float var0, float var1) {
      double var2 = (var0 + Math.toDegrees(var1)) % 360.0;
      if (var2 < 0.0) {
         var2 += 360.0;
      }

      class="kw">return (float)var2;
   }
}