Vector3iUtil class
Пакет: com.hypixel.hytale.math.vector
Файл: com/hypixel/hytale/math/vector/Vector3iUtil.java
Поля (3)
| Модификаторы | Тип | Имя |
|---|---|---|
|
long |
var10 |
|
long |
var6 |
|
long |
var8 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
long |
inclusiveBoxVolumelong inclusiveBoxVolume(int var0, int var1, int var2, int var3, int var4, int var5) |
static |
Vector3d |
toVector3dVector3d toVector3d(Vector3ic var0) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.math.vector;
class="kw">import com.hypixel.hytale.codec.Codec;
class="kw">import com.hypixel.hytale.codec.KeyedCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.codec.schema.metadata.ui.UIDisplayMode;
class="kw">import com.hypixel.hytale.codec.validation.Validators;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">import org.joml.Vector3i;
class="kw">import org.joml.Vector3ic;
class="kw">public class="kw">final class Vector3iUtil {
@Nonnull
class="kw">public class="kw">static class="kw">final BuilderCodec<Vector3i> CODEC = BuilderCodec.builder(Vector3i.class, Vector3i::new)
.metadata(UIDisplayMode.COMPACT)
.<Integer>appendInherited(new KeyedCodec<>("X", Codec.INTEGER), (var0, var1) -> var0.x = var1, var0 -> var0.x, (var0, var1) -> var0.x = var1.x)
.addValidator(Validators.nonNull())
.add()
.<Integer>appendInherited(new KeyedCodec<>("Y", Codec.INTEGER), (var0, var1) -> var0.y = var1, var0 -> var0.y, (var0, var1) -> var0.y = var1.y)
.addValidator(Validators.nonNull())
.add()
.<Integer>appendInherited(new KeyedCodec<>("Z", Codec.INTEGER), (var0, var1) -> var0.z = var1, var0 -> var0.z, (var0, var1) -> var0.z = var1.z)
.addValidator(Validators.nonNull())
.add()
.build();
class="kw">public class="kw">static class="kw">final Vector3ic ZERO = new Vector3i(0, 0, 0);
class="kw">public class="kw">static class="kw">final Vector3ic UP = new Vector3i(0, 1, 0);
class="kw">public class="kw">static class="kw">final Vector3ic DOWN = new Vector3i(0, -1, 0);
class="kw">public class="kw">static class="kw">final Vector3ic FORWARD = new Vector3i(0, 0, -1);
class="kw">public class="kw">static class="kw">final Vector3ic BACKWARD = new Vector3i(0, 0, 1);
class="kw">public class="kw">static class="kw">final Vector3ic LEFT = new Vector3i(-1, 0, 0);
class="kw">public class="kw">static class="kw">final Vector3ic RIGHT = new Vector3i(1, 0, 0);
class="kw">public class="kw">static class="kw">final Vector3ic POS_X = RIGHT;
class="kw">public class="kw">static class="kw">final Vector3ic POS_Z = BACKWARD;
class="kw">public class="kw">static class="kw">final Vector3ic POS_Y = UP;
class="kw">public class="kw">static class="kw">final Vector3ic NEG_X = LEFT;
class="kw">public class="kw">static class="kw">final Vector3ic NEG_Y = DOWN;
class="kw">public class="kw">static class="kw">final Vector3ic NEG_Z = FORWARD;
class="kw">public class="kw">static class="kw">final Vector3ic NORTH = FORWARD;
class="kw">public class="kw">static class="kw">final Vector3ic SOUTH = BACKWARD;
class="kw">public class="kw">static class="kw">final Vector3ic EAST = RIGHT;
class="kw">public class="kw">static class="kw">final Vector3ic WEST = LEFT;
class="kw">public class="kw">static class="kw">final Vector3ic[] BLOCK_CORNERS = new Vector3ic[]{
add(UP, FORWARD, LEFT),
add(UP, FORWARD, RIGHT),
add(DOWN, FORWARD, LEFT),
add(DOWN, FORWARD, RIGHT),
add(UP, BACKWARD, LEFT),
add(UP, BACKWARD, RIGHT),
add(DOWN, BACKWARD, LEFT),
add(DOWN, BACKWARD, RIGHT)
};
class="kw">public class="kw">static class="kw">final Vector3ic[] BLOCK_SIDES = new Vector3ic[]{UP, DOWN, FORWARD, BACKWARD, LEFT, RIGHT};
class="kw">public class="kw">static class="kw">final Vector3ic[] BLOCK_EDGES = new Vector3ic[]{
add(UP, FORWARD),
add(DOWN, FORWARD),
add(UP, BACKWARD),
add(DOWN, BACKWARD),
add(UP, LEFT),
add(DOWN, LEFT),
add(UP, RIGHT),
add(DOWN, RIGHT),
add(FORWARD, LEFT),
add(FORWARD, RIGHT),
add(BACKWARD, LEFT),
add(BACKWARD, RIGHT)
};
class="kw">public class="kw">static class="kw">final Vector3ic[][] BLOCK_PARTS = new Vector3ic[][]{BLOCK_SIDES, BLOCK_EDGES, BLOCK_CORNERS};
class="kw">public class="kw">static class="kw">final Vector3ic ALL_ONES = new Vector3i(1, 1, 1);
class="kw">public class="kw">static class="kw">final Vector3ic MIN = new Vector3i(Integer.MIN_VALUE, Integer.MIN_VALUE, Integer.MIN_VALUE);
class="kw">public class="kw">static class="kw">final Vector3ic MAX = new Vector3i(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
class="kw">private Vector3iUtil() {
}
@Nonnull
class="kw">public class="kw">static Vector3i max(@Nonnull Vector3ic var0, @Nonnull Vector3ic var1) {
class="kw">return var0.max(var1, new Vector3i());
}
@Nonnull
class="kw">public class="kw">static Vector3i min(@Nonnull Vector3ic var0, @Nonnull Vector3ic var1) {
class="kw">return var0.min(var1, new Vector3i());
}
class="kw">public class="kw">static long inclusiveBoxVolume(int var0, int var1, int var2, int var3, int var4, int var5) {
long var6 = Math.abs((long)var3 - var0) + 1L;
long var8 = Math.abs((long)var4 - var1) + 1L;
long var10 = Math.abs((long)var5 - var2) + 1L;
class="kw">return MathUtil.saturatedMultiply(MathUtil.saturatedMultiply(var6, var8), var10);
}
@Nonnull
class="kw">private class="kw">static Vector3i add(@Nonnull Vector3ic var0, @Nonnull Vector3ic var1) {
class="kw">return new Vector3i(var0).add(var1);
}
@Nonnull
class="kw">private class="kw">static Vector3i add(@Nonnull Vector3ic var0, @Nonnull Vector3ic var1, @Nonnull Vector3ic var2) {
class="kw">return new Vector3i(var0).add(var1).add(var2);
}
class="kw">public class="kw">static Vector3d toVector3d(Vector3ic var0) {
class="kw">return new Vector3d(var0.x(), var0.y(), var0.z());
}
}