RotationExecutor_180 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;
}
}
}