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