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