ChunkUtil class

Пакет: com.hypixel.hytale.math.util

Файл: com/hypixel/hytale/math/util/ChunkUtil.java

Поля (6)

МодификаторыТипИмя
return var0 >> 5
return var0 >> 5
return var0 << 5
final int BITS
ByteBuffer var1
ByteBuffer var1

Методы (34)

МодификаторыВозвратСигнатура
static int chunkCoordinateint chunkCoordinate(double var0)
static int chunkCoordinateint chunkCoordinate(int var0)
static int chunkCoordinateint chunkCoordinate(long var0)
static int indexBlockint indexBlock(int var0, int var1, int var2)
static int indexBlockFromColumnint indexBlockFromColumn(int var0, int var1)
static long indexChunklong indexChunk(int var0, int var1)
static long indexChunkFromBlocklong indexChunkFromBlock(int var0, int var1)
static long indexChunkFromBlocklong indexChunkFromBlock(double var0, double var2)
static int indexColumnint indexColumn(int var0, int var1)
static int indexSectionint indexSection(int var0)
static byte[] intToByteArraybyte[] intToByteArray(@Nonnull int[] var0)
static boolean isBorderBlockboolean isBorderBlock(int var0, int var1)
abstract return isBorderBlockreturn isBorderBlock(var0, var1)
static boolean isBorderBlockGlobalboolean isBorderBlockGlobal(int var0, int var1)
static boolean isInsideChunkboolean isInsideChunk(int var0, int var1, int var2, int var3)
static boolean isInsideChunkRelativeboolean isInsideChunkRelative(int var0, int var1)
static boolean isSameChunkboolean isSameChunk(int var0, int var1, int var2, int var3)
static boolean isSameChunkSectionboolean isSameChunkSection(int var0, int var1, int var2, int var3, int var4, int var5)
static boolean isValidChunkCoordboolean isValidChunkCoord(int var0)
static boolean isValidChunkCoordsboolean isValidChunkCoords(int var0, int var1)
static boolean isValidChunkIndexboolean isValidChunkIndex(long var0)
static boolean isWithinLocalChunkboolean isWithinLocalChunk(int var0, int var1)
static int localCoordinateint localCoordinate(long var0)
static int maxBlockint maxBlock(int var0)
static int minBlockint minBlock(int var0)
static byte[] shortToByteArraybyte[] shortToByteArray(@Nonnull short[] var0)
static int worldCoordFromLocalCoordint worldCoordFromLocalCoord(int var0, int var1)
static int xFromColumnint xFromColumn(int var0)
static int xFromIndexint xFromIndex(int var0)
static int xOfChunkIndexint xOfChunkIndex(long var0)
static int yFromIndexint yFromIndex(int var0)
static int zFromColumnint zFromColumn(int var0)
static int zFromIndexint zFromIndex(int var0)
static int zOfChunkIndexint zOfChunkIndex(long var0)

Исходный код

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

class="kw">import java.nio.ByteBuffer;
class="kw">import java.nio.ByteOrder;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ChunkUtil {
   class="kw">public class="kw">static class="kw">final int BITS = 5;
   class="kw">public class="kw">static class="kw">final int SIZE = 32;
   class="kw">public class="kw">static class="kw">final int SIZE_2 = 1024;
   class="kw">public class="kw">static class="kw">final int SIZE_MINUS_1 = 31;
   class="kw">public class="kw">static class="kw">final int SIZE_MASK = 31;
   class="kw">public class="kw">static class="kw">final int SIZE_COLUMNS = 1024;
   class="kw">public class="kw">static class="kw">final int SIZE_COLUMNS_MASK = 1023;
   class="kw">public class="kw">static class="kw">final int SIZE_BLOCKS = 32768;
   class="kw">public class="kw">static class="kw">final int SIZE_BLOCKS_MASK = 32767;
   class="kw">public class="kw">static class="kw">final int BITS2 = 10;
   class="kw">public class="kw">static class="kw">final int NON_CHUNK_MASK = -32;
   class="kw">public class="kw">static class="kw">final int HEIGHT_SECTIONS = 10;
   class="kw">public class="kw">static class="kw">final int HEIGHT = 320;
   class="kw">public class="kw">static class="kw">final int HEIGHT_MINUS_1 = 319;
   class="kw">public class="kw">static class="kw">final int HEIGHT_MASK = (Integer.highestOneBit(320) << 1) - 1;
   class="kw">public class="kw">static class="kw">final int SIZE_BLOCKS_COLUMN = 327680;
   class="kw">public class="kw">static class="kw">final long NOT_FOUND = indexChunk(Integer.MIN_VALUE, Integer.MIN_VALUE);
   class="kw">public class="kw">static class="kw">final int MIN_Y = 0;
   class="kw">public class="kw">static class="kw">final int MIN_ENTITY_Y = -32;
   class="kw">public class="kw">static class="kw">final int MIN_SECTION = 0;
   class="kw">public class="kw">static class="kw">final int MIN_CHUNK_COORD = -67108864;
   class="kw">public class="kw">static class="kw">final int MAX_CHUNK_COORD = 67108863;

   class="kw">private ChunkUtil() {
   }

   class="kw">public class="kw">static byte[] shortToByteArray(@Nonnull short[] var0) {
      ByteBuffer var1 = ByteBuffer.allocate(var0.length * 2).order(ByteOrder.LITTLE_ENDIAN);
      var1.asShortBuffer().put(var0);
      class="kw">return var1.array();
   }

   class="kw">public class="kw">static byte[] intToByteArray(@Nonnull int[] var0) {
      ByteBuffer var1 = ByteBuffer.allocate(var0.length * 4).order(ByteOrder.LITTLE_ENDIAN);
      var1.asIntBuffer().put(var0);
      class="kw">return var1.array();
   }

   class="kw">public class="kw">static int indexColumn(int var0, int var1) {
      class="kw">return (var1 & 31) << 5 | var0 & 31;
   }

   class="kw">public class="kw">static int xFromColumn(int var0) {
      class="kw">return var0 & 31;
   }

   class="kw">public class="kw">static int zFromColumn(int var0) {
      class="kw">return var0 >> 5 & 31;
   }

   class="kw">public class="kw">static int indexSection(int var0) {
      class="kw">return var0 >> 5;
   }

   class="kw">public class="kw">static int indexBlockFromColumn(int var0, int var1) {
      class="kw">return (var1 & 31) << 10 | var0 & 1023;
   }

   class="kw">public class="kw">static int indexBlock(int var0, int var1, int var2) {
      class="kw">return (var1 & 31) << 10 | (var2 & 31) << 5 | var0 & 31;
   }

   class="kw">public class="kw">static int xFromIndex(int var0) {
      class="kw">return var0 & 31;
   }

   class="kw">public class="kw">static int yFromIndex(int var0) {
      class="kw">return var0 >> 10 & 31;
   }

   class="kw">public class="kw">static int zFromIndex(int var0) {
      class="kw">return var0 >> 5 & 31;
   }

   class="kw">public class="kw">static int localCoordinate(long var0) {
      class="kw">return (int)(var0 & 31L);
   }

   class="kw">public class="kw">static int chunkCoordinate(double var0) {
      class="kw">return MathUtil.floor(var0) >> 5;
   }

   class="kw">public class="kw">static int chunkCoordinate(int var0) {
      class="kw">return var0 >> 5;
   }

   class="kw">public class="kw">static int chunkCoordinate(long var0) {
      class="kw">return (int)(var0 >> 5);
   }

   class="kw">public class="kw">static int minBlock(int var0) {
      class="kw">return var0 << 5;
   }

   class="kw">public class="kw">static int maxBlock(int var0) {
      class="kw">return (var0 << 5) + 31;
   }

   class="kw">public class="kw">static boolean isWithinLocalChunk(int var0, int var1) {
      class="kw">return var0 >= 0 && var1 >= 0 && var0 < 32 && var1 < 32;
   }

   class="kw">public class="kw">static boolean isBorderBlock(int var0, int var1) {
      class="kw">return var0 == 0 || var1 == 0 || var0 == 31 || var1 == 31;
   }

   class="kw">public class="kw">static boolean isBorderBlockGlobal(int var0, int var1) {
      var0 &= 31;
      var1 &= 31;
      class="kw">return isBorderBlock(var0, var1);
   }

   class="kw">public class="kw">static boolean isInsideChunk(int var0, int var1, int var2, int var3) {
      class="kw">return chunkCoordinate(var2) == var0 && chunkCoordinate(var3) == var1;
   }

   class="kw">public class="kw">static boolean isSameChunk(int var0, int var1, int var2, int var3) {
      class="kw">return chunkCoordinate(var0) == chunkCoordinate(var2) && chunkCoordinate(var1) == chunkCoordinate(var3);
   }

   class="kw">public class="kw">static boolean isSameChunkSection(int var0, int var1, int var2, int var3, int var4, int var5) {
      class="kw">return chunkCoordinate(var0) == chunkCoordinate(var3) && chunkCoordinate(var1) == chunkCoordinate(var4) && chunkCoordinate(var2) == chunkCoordinate(var5);
   }

   class="kw">public class="kw">static boolean isInsideChunkRelative(int var0, int var1) {
      class="kw">return (var0 & 31) == var0 && (var1 & 31) == var1;
   }

   class="kw">public class="kw">static int xOfChunkIndex(long var0) {
      class="kw">return (int)(var0 >> 32);
   }

   class="kw">public class="kw">static int zOfChunkIndex(long var0) {
      class="kw">return (int)var0;
   }

   class="kw">public class="kw">static long indexChunk(int var0, int var1) {
      class="kw">return (long)var0 << 32 | var1 & 4294967295L;
   }

   class="kw">public class="kw">static long indexChunkFromBlock(int var0, int var1) {
      class="kw">return indexChunk(chunkCoordinate(var0), chunkCoordinate(var1));
   }

   class="kw">public class="kw">static long indexChunkFromBlock(double var0, double var2) {
      class="kw">return indexChunkFromBlock(MathUtil.floor(var0), MathUtil.floor(var2));
   }

   class="kw">public class="kw">static int worldCoordFromLocalCoord(int var0, int var1) {
      class="kw">return var0 << 5 | var1;
   }

   class="kw">public class="kw">static boolean isValidChunkIndex(long var0) {
      class="kw">return isValidChunkCoords(xOfChunkIndex(var0), zOfChunkIndex(var0));
   }

   class="kw">public class="kw">static boolean isValidChunkCoords(int var0, int var1) {
      class="kw">return isValidChunkCoord(var0) && isValidChunkCoord(var1);
   }

   class="kw">public class="kw">static boolean isValidChunkCoord(int var0) {
      class="kw">return var0 >= -67108864 && var0 <= 67108863;
   }
}