GridUtils class

Пакет: com.hypixel.hytale.builtin.hytalegenerator

Файл: com/hypixel/hytale/builtin/hytalegenerator/GridUtils.java

Поля (26)

МодификаторыТипИмя
return var0 >> 3
final int BUFFER_COUNT_IN_CHUNK_Y
Vector3i var1
Vector3i var1
Vector3i var1
int var1
Vector3i var1
Vector3i var2
Vector3i var2
Vector3i var2
Vector3i var2
int var2
int var2
Vector3i var3
Vector3i var3
Vector3i var3
Vector3i var3
int var3
Vector3i var4
Vector3i var4
Vector3i var4
int var4
int var4
int var5
int var5
int var6

Методы (22)

МодификаторыВозвратСигнатура
abstract return new Bounds3ireturn new Bounds3i(var3, var4)
abstract return new Bounds3ireturn new Bounds3i()
abstract return new Bounds3ireturn new Bounds3i(var1, var2)
abstract return new Bounds3ireturn new Bounds3i(var2, var3)
if if(var0.max.x % VoxelBuffer.SIZE.x == 0)
if if(var0.max.y % VoxelBuffer.SIZE.y == 0)
if if(var0.max.z % VoxelBuffer.SIZE.z == 0)
static void setBoundsYToWorldHeight_bufferGridvoid setBoundsYToWorldHeight_bufferGrid(@Nonnull Bounds3i var0)
static void setBoundsYToWorldHeight_voxelGridvoid setBoundsYToWorldHeight_voxelGrid(@Nonnull Bounds3i var0)
static int toBufferDistanceInclusive_fromVoxelDistanceint toBufferDistanceInclusive_fromVoxelDistance(int var0)
static int toBufferGrid_fromVoxelGridint toBufferGrid_fromVoxelGrid(int var0)
static void toBufferGrid_fromVoxelGridvoid toBufferGrid_fromVoxelGrid(@Nonnull Vector3i var0)
static void toBufferGrid_fromVoxelGridOverlapvoid toBufferGrid_fromVoxelGridOverlap(@Nonnull Bounds3i var0)
static int toIndexFromPositionYXZint toIndexFromPositionYXZ(int var0, int var1, int var2, @Nonnull Bounds3i var3)
static int toIndexFromPositionYXZint toIndexFromPositionYXZ(@Nonnull Vector3i var0, @Nonnull Bounds3i var1)
static void toVoxelGridInsideBuffer_fromWorldGridvoid toVoxelGridInsideBuffer_fromWorldGrid(@Nonnull Vector3i var0)
static void toVoxelGrid_fromBufferGridvoid toVoxelGrid_fromBufferGrid(@Nonnull Bounds3i var0)
static void toVoxelGrid_fromBufferGridvoid toVoxelGrid_fromBufferGrid(@Nonnull Vector3i var0)
static void toVoxelPosition_fromChunkPositionvoid toVoxelPosition_fromChunkPosition(@Nonnull Vector3i var0)
static int toXVoxelGridInsideBuffer_fromWorldGridint toXVoxelGridInsideBuffer_fromWorldGrid(int var0)
static int toYVoxelGridInsideBuffer_fromWorldGridint toYVoxelGridInsideBuffer_fromWorldGrid(int var0)
static int toZVoxelGridInsideBuffer_fromWorldGridint toZVoxelGridInsideBuffer_fromWorldGrid(int var0)

Исходный код

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

class="kw">import com.hypixel.hytale.builtin.hytalegenerator.bounds.Bounds3i;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.engine.bufferbundle.buffers.VoxelBuffer;
class="kw">import com.hypixel.hytale.builtin.hytalegenerator.math.Calculator;
class="kw">import com.hypixel.hytale.math.vector.Vector3iUtil;
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 GridUtils {
   class="kw">public class="kw">static class="kw">final int BUFFER_COUNT_IN_CHUNK_Y = 320 / VoxelBuffer.SIZE.y;

   class="kw">public GridUtils() {
   }

   class="kw">public class="kw">static void toBufferGrid_fromVoxelGridOverlap(@Nonnull Bounds3i var0) {
      assert var0.isCorrect();
      VectorUtil.bitShiftRight(3, var0.min);
      if (var0.max.x % VoxelBuffer.SIZE.x == 0) {
         var0.max.x--;
      }

      if (var0.max.y % VoxelBuffer.SIZE.y == 0) {
         var0.max.y--;
      }

      if (var0.max.z % VoxelBuffer.SIZE.z == 0) {
         var0.max.z--;
      }

      var0.max.x >>= 3;
      var0.max.y >>= 3;
      var0.max.z >>= 3;
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createColumnBounds_voxelGrid(@Nonnull Vector3i var0, int var1, int var2) {
      assert var1 <= var2;
      Vector3i var3 = new Vector3i(var0);
      VectorUtil.bitShiftLeft(3, var3);
      Vector3i var4 = new Vector3i(var3).add(VoxelBuffer.SIZE);
      var3.y = var1;
      var4.y = var2;
      class="kw">return new Bounds3i(var3, var4);
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createBufferBoundsInclusive_fromVoxelBounds(@Nonnull Bounds3i var0) {
      assert var0.isCorrect();
      if (var0.isZeroVolume()) {
         class="kw">return new Bounds3i();
      }

      Vector3i var1 = new Vector3i(var0.min);
      Vector3i var2 = new Vector3i(var0.max);
      var1.x = Calculator.floor(var1.x, VoxelBuffer.SIZE.x);
      var1.x >>= 3;
      var1.y = Calculator.floor(var1.y, VoxelBuffer.SIZE.y);
      var1.y >>= 3;
      var1.z = Calculator.floor(var1.z, VoxelBuffer.SIZE.z);
      var1.z >>= 3;
      var2.x--;
      var2.x = Calculator.ceil(var2.x, VoxelBuffer.SIZE.x);
      var2.x >>= 3;
      var2.x++;
      var2.y--;
      var2.y = Calculator.ceil(var2.y, VoxelBuffer.SIZE.y);
      var2.y >>= 3;
      var2.y++;
      var2.z--;
      var2.z = Calculator.ceil(var2.z, VoxelBuffer.SIZE.z);
      var2.z >>= 3;
      var2.z++;
      class="kw">return new Bounds3i(var1, var2);
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createColumnBounds_bufferGrid(@Nonnull Vector3i var0, int var1, int var2) {
      assert var1 <= var2;
      Vector3i var3 = new Vector3i(var0);
      Vector3i var4 = new Vector3i(var3).add(Vector3iUtil.ALL_ONES);
      var3.y = var1;
      var4.y = var2;
      class="kw">return new Bounds3i(var3, var4);
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createChunkBounds_voxelGrid(int var0, int var1) {
      Vector3i var2 = new Vector3i(var0 << 5, 0, var1 << 5);
      Vector3i var3 = new Vector3i(var2).add(32, 320, 32);
      class="kw">return new Bounds3i(var2, var3);
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createUnitBounds3i(@Nonnull Vector3ic var0) {
      class="kw">return new Bounds3i(var0, new Vector3i(var0).add(Vector3iUtil.ALL_ONES));
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createBounds_fromRadius_originVoxelInclusive(int var0) {
      Vector3i var1 = new Vector3i(-var0, -var0, -var0);
      Vector3i var2 = new Vector3i(var0 + 1, var0 + 1, var0 + 1);
      class="kw">return new Bounds3i(var1, var2);
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createBounds_fromVector_originVoxelInclusive(@Nonnull Vector3i var0) {
      Vector3i var1 = new Vector3i(var0).negate();
      Vector3i var2 = new Vector3i(var0).add(Vector3iUtil.ALL_ONES);
      class="kw">return new Bounds3i(var1, var2);
   }

   @Nonnull
   class="kw">public class="kw">static Bounds3i createChunkBounds_bufferGrid(int var0, int var1) {
      int var2 = 2;
      Vector3i var3 = new Vector3i(var0 << 2, 0, var1 << 2);
      Vector3i var4 = new Vector3i(var0 + 1 << 2, 40, var1 + 1 << 2);
      class="kw">return new Bounds3i(var3, var4);
   }

   class="kw">public class="kw">static void toVoxelGrid_fromBufferGrid(@Nonnull Bounds3i var0) {
      assert var0.isCorrect();
      VectorUtil.bitShiftLeft(3, var0.min);
      VectorUtil.bitShiftLeft(3, var0.max);
   }

   class="kw">public class="kw">static void toVoxelGrid_fromBufferGrid(@Nonnull Vector3i var0) {
      VectorUtil.bitShiftLeft(3, var0);
   }

   class="kw">public class="kw">static int toBufferGrid_fromVoxelGrid(int var0) {
      class="kw">return var0 >> 3;
   }

   class="kw">public class="kw">static void toBufferGrid_fromVoxelGrid(@Nonnull Vector3i var0) {
      VectorUtil.bitShiftRight(3, var0);
   }

   class="kw">public class="kw">static int toBufferDistanceInclusive_fromVoxelDistance(int var0) {
      int var1 = var0 >> 3;
      class="kw">return Calculator.wrap(var0, VoxelBuffer.SIZE.x) == 0 ? var1 : var1 + 1;
   }

   @Nonnull
   class="kw">public class="kw">static Vector3i toIntegerGrid_fromDecimalGrid(@Nonnull Vector3d var0) {
      Vector3i var1 = new Vector3i();
      var1.x = Calculator.toIntFloored(var0.x);
      var1.y = Calculator.toIntFloored(var0.y);
      var1.z = Calculator.toIntFloored(var0.z);
      class="kw">return var1;
   }

   class="kw">public class="kw">static int toXVoxelGridInsideBuffer_fromWorldGrid(int var0) {
      class="kw">return Calculator.wrap(var0, VoxelBuffer.SIZE.x);
   }

   class="kw">public class="kw">static int toYVoxelGridInsideBuffer_fromWorldGrid(int var0) {
      class="kw">return Calculator.wrap(var0, VoxelBuffer.SIZE.y);
   }

   class="kw">public class="kw">static int toZVoxelGridInsideBuffer_fromWorldGrid(int var0) {
      class="kw">return Calculator.wrap(var0, VoxelBuffer.SIZE.z);
   }

   class="kw">public class="kw">static void toVoxelGridInsideBuffer_fromWorldGrid(@Nonnull Vector3i var0) {
      var0.x = Calculator.wrap(var0.x, VoxelBuffer.SIZE.x);
      var0.y = Calculator.wrap(var0.y, VoxelBuffer.SIZE.y);
      var0.z = Calculator.wrap(var0.z, VoxelBuffer.SIZE.z);
   }

   class="kw">public class="kw">static int toIndexFromPositionYXZ(int var0, int var1, int var2, @Nonnull Bounds3i var3) {
      assert var3.contains(var0, var1, var2);
      var0 -= var3.min.x;
      var1 -= var3.min.y;
      var2 -= var3.min.z;
      int var4 = var3.max.x - var3.min.x;
      int var5 = var3.max.y - var3.min.y;
      class="kw">return var1 + var0 * var5 + var2 * var5 * var4;
   }

   class="kw">public class="kw">static int toIndexFromPositionYXZ(@Nonnull Vector3i var0, @Nonnull Bounds3i var1) {
      assert var1.contains(var0);
      int var2 = var0.x - var1.min.x;
      int var3 = var0.y - var1.min.y;
      int var4 = var0.z - var1.min.z;
      int var5 = var1.max.x - var1.min.x;
      int var6 = var1.max.y - var1.min.y;
      class="kw">return var3 + var2 * var6 + var4 * var6 * var5;
   }

   class="kw">public class="kw">static void setBoundsYToWorldHeight_bufferGrid(@Nonnull Bounds3i var0) {
      assert var0.isCorrect();
      var0.min.y = 0;
      var0.max.y = 40;
   }

   class="kw">public class="kw">static void setBoundsYToWorldHeight_voxelGrid(@Nonnull Bounds3i var0) {
      assert var0.isCorrect();
      var0.min.y = 0;
      var0.max.y = 320;
   }

   class="kw">public class="kw">static void toVoxelPosition_fromChunkPosition(@Nonnull Vector3i var0) {
      var0.x <<= 5;
      var0.z <<= 5;
   }
}