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