RotationExecutor_90 class

Пакет: com.hypixel.hytale.server.core.prefab

Файл: com/hypixel/hytale/server/core/prefab/PrefabRotation.java

implements: PrefabRotation.RotationExecutor

Методы (7)

МодификаторыВозвратСигнатура
public float getYawpublic float getYaw()
public double rotateDoubleXpublic double rotateDoubleX(double var1, double var3)
public double rotateDoubleZpublic double rotateDoubleZ(double var1, double var3)
public int rotateIntXpublic int rotateIntX(int var1, int var2)
public int rotateIntZpublic int rotateIntZ(int var1, int var2)
public long rotateLongXpublic long rotateLongX(long var1, long var3)
public long rotateLongZpublic long rotateLongZ(long var1, long var3)

Исходный код

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

class="kw">import com.hypixel.hytale.math.Axis;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.Rotation;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.RotationTuple;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.BlockRotationUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3L;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;

class="kw">public enum PrefabRotation {
   ROTATION_0(Rotation.None, new PrefabRotation.RotationExecutor_0()),
   ROTATION_90(Rotation.Ninety, new PrefabRotation.RotationExecutor_90()),
   ROTATION_180(Rotation.OneEighty, new PrefabRotation.RotationExecutor_180()),
   ROTATION_270(Rotation.TwoSeventy, new PrefabRotation.RotationExecutor_270());

   class="kw">public class="kw">static class="kw">final PrefabRotation[] VALUES = values();
   class="kw">public class="kw">static class="kw">final String PREFIX = "ROTATION_";
   class="kw">private class="kw">final Rotation rotation;
   class="kw">private class="kw">final PrefabRotation.RotationExecutor executor;

   @Nonnull
   class="kw">public class="kw">static PrefabRotation fromRotation(@Nonnull Rotation var0) {
      class="kw">return class="kw">switch (var0) {
         case None -> ROTATION_0;
         case Ninety -> ROTATION_90;
         case OneEighty -> ROTATION_180;
         case TwoSeventy -> ROTATION_270;
      };
   }

   @Nonnull
   class="kw">public class="kw">static PrefabRotation valueOfExtended(@Nonnull String var0) {
      class="kw">return var0.startsWith("ROTATION_") ? valueOf(var0) : valueOf("ROTATION_" + var0);
   }

   PrefabRotation(Rotation nullxx, PrefabRotation.RotationExecutor nullxxx) {
      this.rotation = nullxx;
      this.executor = nullxxx;
   }

   @Nonnull
   class="kw">public Rotation getRotation() {
      class="kw">return this.rotation;
   }

   class="kw">public PrefabRotation add(@Nonnull PrefabRotation var1) {
      int var2 = this.rotation.getDegrees() + var1.rotation.getDegrees();
      class="kw">return VALUES[var2 % 360 / 90];
   }

   class="kw">public void rotate(@Nonnull Vector3d var1) {
      double var2 = var1.x;
      double var4 = var1.z;
      var1.x = this.executor.rotateDoubleX(var2, var4);
      var1.z = this.executor.rotateDoubleZ(var2, var4);
   }

   class="kw">public void rotate(@Nonnull Vector3i var1) {
      int var2 = var1.x;
      int var3 = var1.z;
      var1.x = this.executor.rotateIntX(var2, var3);
      var1.z = this.executor.rotateIntZ(var2, var3);
   }

   class="kw">public void rotate(@Nonnull Vector3L var1) {
      long var2 = var1.x;
      long var4 = var1.z;
      var1.x = this.executor.rotateLongX(var2, var4);
      var1.z = this.executor.rotateLongZ(var2, var4);
   }

   class="kw">public int getX(int var1, int var2) {
      class="kw">return this.executor.rotateIntX(var1, var2);
   }

   class="kw">public int getZ(int var1, int var2) {
      class="kw">return this.executor.rotateIntZ(var1, var2);
   }

   class="kw">public float getYaw() {
      class="kw">return this.executor.getYaw();
   }

   class="kw">public int getRotation(int var1) {
      if (this.rotation == Rotation.None) {
         class="kw">return var1;
      }

      RotationTuple var2 = RotationTuple.get(var1);
      class="kw">return RotationTuple.of(var2.yaw().add(this.rotation), var2.pitch(), var2.roll()).index();
   }

   class="kw">public int getFiller(int var1) {
      class="kw">return this.rotation == Rotation.None ? var1 : BlockRotationUtil.getRotatedFiller(var1, Axis.Y, this.rotation);
   }

   class="kw">private class="kw">interface RotationExecutor {
      float getYaw();

      int rotateIntX(int var1, int var2);

      long rotateLongX(long var1, long var3);

      double rotateDoubleX(double var1, double var3);

      int rotateIntZ(int var1, int var2);

      long rotateLongZ(long var1, long var3);

      double rotateDoubleZ(double var1, double var3);
   }

   class="kw">private class="kw">static class RotationExecutor_0 class="kw">implements PrefabRotation.RotationExecutor {
      class="kw">private RotationExecutor_0() {
      }

      @Override
      class="kw">public float getYaw() {
         class="kw">return 0.0F;
      }

      @Override
      class="kw">public int rotateIntX(int var1, int var2) {
         class="kw">return var1;
      }

      @Override
      class="kw">public long rotateLongX(long var1, long var3) {
         class="kw">return var1;
      }

      @Override
      class="kw">public double rotateDoubleX(double var1, double var3) {
         class="kw">return var1;
      }

      @Override
      class="kw">public int rotateIntZ(int var1, int var2) {
         class="kw">return var2;
      }

      @Override
      class="kw">public long rotateLongZ(long var1, long var3) {
         class="kw">return var3;
      }

      @Override
      class="kw">public double rotateDoubleZ(double var1, double var3) {
         class="kw">return var3;
      }
   }

   class="kw">private class="kw">static class RotationExecutor_180 class="kw">implements PrefabRotation.RotationExecutor {
      class="kw">private RotationExecutor_180() {
      }

      @Override
      class="kw">public float getYaw() {
         class="kw">return (float) -Math.PI;
      }

      @Override
      class="kw">public int rotateIntX(int var1, int var2) {
         class="kw">return -var1;
      }

      @Override
      class="kw">public long rotateLongX(long var1, long var3) {
         class="kw">return -var1;
      }

      @Override
      class="kw">public double rotateDoubleX(double var1, double var3) {
         class="kw">return -var1;
      }

      @Override
      class="kw">public int rotateIntZ(int var1, int var2) {
         class="kw">return -var2;
      }

      @Override
      class="kw">public long rotateLongZ(long var1, long var3) {
         class="kw">return -var3;
      }

      @Override
      class="kw">public double rotateDoubleZ(double var1, double var3) {
         class="kw">return -var3;
      }
   }

   class="kw">private class="kw">static class RotationExecutor_270 class="kw">implements PrefabRotation.RotationExecutor {
      class="kw">private RotationExecutor_270() {
      }

      @Override
      class="kw">public float getYaw() {
         class="kw">return (float) (-Math.PI * 3.0 / 2.0);
      }

      @Override
      class="kw">public int rotateIntX(int var1, int var2) {
         class="kw">return -var2;
      }

      @Override
      class="kw">public long rotateLongX(long var1, long var3) {
         class="kw">return -var3;
      }

      @Override
      class="kw">public double rotateDoubleX(double var1, double var3) {
         class="kw">return -var3;
      }

      @Override
      class="kw">public int rotateIntZ(int var1, int var2) {
         class="kw">return var1;
      }

      @Override
      class="kw">public long rotateLongZ(long var1, long var3) {
         class="kw">return var1;
      }

      @Override
      class="kw">public double rotateDoubleZ(double var1, double var3) {
         class="kw">return var1;
      }
   }

   class="kw">private class="kw">static class RotationExecutor_90 class="kw">implements PrefabRotation.RotationExecutor {
      class="kw">private RotationExecutor_90() {
      }

      @Override
      class="kw">public float getYaw() {
         class="kw">return (float) (-Math.PI / 2);
      }

      @Override
      class="kw">public int rotateIntX(int var1, int var2) {
         class="kw">return var2;
      }

      @Override
      class="kw">public long rotateLongX(long var1, long var3) {
         class="kw">return var3;
      }

      @Override
      class="kw">public double rotateDoubleX(double var1, double var3) {
         class="kw">return var3;
      }

      @Override
      class="kw">public int rotateIntZ(int var1, int var2) {
         class="kw">return -var1;
      }

      @Override
      class="kw">public long rotateLongZ(long var1, long var3) {
         class="kw">return -var1;
      }

      @Override
      class="kw">public double rotateDoubleZ(double var1, double var3) {
         class="kw">return -var1;
      }
   }
}