Package net.minecraft.world.chunk
Class ChunkNibbleArray
java.lang.Object
net.minecraft.world.chunk.ChunkNibbleArray
A chunk nibble array is an array of nibbles for each block position in
a chunk. It is most often used to store light data.
A nibble is 4 bits, storing an integer from 0 to
15. It takes half the space of a byte.
The nibbles are stored in an X-Z-Y major order; in the backing array, the indices increases by first increasing X, then Z, and finally Y.
- Mappings:
Namespace Name official cwrintermediary net/minecraft/class_2804named net/minecraft/world/chunk/ChunkNibbleArray
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected @org.jetbrains.annotations.Nullable byte[]static final intstatic final intstatic final intprivate static final int -
Constructor Summary
ConstructorsModifierConstructorDescriptionChunkNibbleArray(byte[] bytes) protectedChunkNibbleArray(int size) -
Method Summary
Modifier and TypeMethodDescriptionbyte[]bottomToString(int unused) Returns a hexadecimal string representation of they=0level of this array.copy()private intget(int index) intget(int x, int y, int z) Returns the integer value of a nibble, in[0, 15].private static intgetArrayIndex(int i) private static intgetIndex(int int2, int x, int y) booleanprivate static intoccupiesSmallerBits(int i) Returns if the nibble atnis stored in the less significant (smaller) 4 bits of the byte in the backing array.private voidset(int index, int value) voidset(int x, int y, int z, int value) Sets the value of a nibble.toString()
-
Field Details
-
COPY_TIMES
public static final int COPY_TIMES- See Also:
- Mappings:
Namespace Name Mixin selector official aLcwr;a:Iintermediary field_34052Lnet/minecraft/class_2804;field_34052:Inamed COPY_TIMESLnet/minecraft/world/chunk/ChunkNibbleArray;COPY_TIMES:I
-
COPY_BLOCK_SIZE
public static final int COPY_BLOCK_SIZE- See Also:
- Mappings:
Namespace Name Mixin selector official bLcwr;b:Iintermediary field_31404Lnet/minecraft/class_2804;field_31404:Inamed COPY_BLOCK_SIZELnet/minecraft/world/chunk/ChunkNibbleArray;COPY_BLOCK_SIZE:I
-
BYTES_LENGTH
public static final int BYTES_LENGTH- See Also:
- Mappings:
Namespace Name Mixin selector official cLcwr;c:Iintermediary field_31403Lnet/minecraft/class_2804;field_31403:Inamed BYTES_LENGTHLnet/minecraft/world/chunk/ChunkNibbleArray;BYTES_LENGTH:I
-
NIBBLE_BITS
private static final int NIBBLE_BITS- See Also:
- Mappings:
Namespace Name Mixin selector official eLcwr;e:Iintermediary field_31405Lnet/minecraft/class_2804;field_31405:Inamed NIBBLE_BITSLnet/minecraft/world/chunk/ChunkNibbleArray;NIBBLE_BITS:I
-
bytes
- Mappings:
Namespace Name Mixin selector official dLcwr;d:[Bintermediary field_12783Lnet/minecraft/class_2804;field_12783:[Bnamed bytesLnet/minecraft/world/chunk/ChunkNibbleArray;bytes:[B
-
-
Constructor Details
-
ChunkNibbleArray
public ChunkNibbleArray() -
ChunkNibbleArray
public ChunkNibbleArray(byte[] bytes) - Mappings:
Namespace Name Mixin selector official <init>Lcwr;<init>([B)Vintermediary <init>Lnet/minecraft/class_2804;<init>([B)Vnamed <init>Lnet/minecraft/world/chunk/ChunkNibbleArray;<init>([B)V
-
ChunkNibbleArray
protected ChunkNibbleArray(int size) - Mappings:
Namespace Name Mixin selector official <init>Lcwr;<init>(I)Vintermediary <init>Lnet/minecraft/class_2804;<init>(I)Vnamed <init>Lnet/minecraft/world/chunk/ChunkNibbleArray;<init>(I)V
-
-
Method Details
-
get
public int get(int x, int y, int z) Returns the integer value of a nibble, in[0, 15].- Returns:
- the integer value of a nibble, in
[0, 15] - Mappings:
Namespace Name Mixin selector official aLcwr;a(III)Iintermediary method_12139Lnet/minecraft/class_2804;method_12139(III)Inamed getLnet/minecraft/world/chunk/ChunkNibbleArray;get(III)I
-
set
public void set(int x, int y, int z, int value) Sets the value of a nibble.If the
valuehas bits outside of the lowest 4 set to1, (value is outside of[0, 15]), the extraneous bits are discarded.- Mappings:
Namespace Name Mixin selector official aLcwr;a(IIII)Vintermediary method_12145Lnet/minecraft/class_2804;method_12145(IIII)Vnamed setLnet/minecraft/world/chunk/ChunkNibbleArray;set(IIII)V
-
getIndex
private static int getIndex(int int2, int x, int y) - Mappings:
Namespace Name Mixin selector official bLcwr;b(III)Iintermediary method_12140Lnet/minecraft/class_2804;method_12140(III)Inamed getIndexLnet/minecraft/world/chunk/ChunkNibbleArray;getIndex(III)I
-
get
private int get(int index) - Mappings:
Namespace Name Mixin selector official bLcwr;b(I)Iintermediary method_12141Lnet/minecraft/class_2804;method_12141(I)Inamed getLnet/minecraft/world/chunk/ChunkNibbleArray;get(I)I
-
set
private void set(int index, int value) - Mappings:
Namespace Name Mixin selector official aLcwr;a(II)Vintermediary method_12142Lnet/minecraft/class_2804;method_12142(II)Vnamed setLnet/minecraft/world/chunk/ChunkNibbleArray;set(II)V
-
occupiesSmallerBits
private static int occupiesSmallerBits(int i) Returns if the nibble atnis stored in the less significant (smaller) 4 bits of the byte in the backing array.- Returns:
- if the nibble at
nis stored in the less significant (smaller) 4 bits of the byte in the backing array - Mappings:
Namespace Name Mixin selector official cLcwr;c(I)Iintermediary method_37459Lnet/minecraft/class_2804;method_37459(I)Inamed occupiesSmallerBitsLnet/minecraft/world/chunk/ChunkNibbleArray;occupiesSmallerBits(I)I
-
getArrayIndex
private static int getArrayIndex(int i) - Mappings:
Namespace Name Mixin selector official dLcwr;d(I)Iintermediary method_12138Lnet/minecraft/class_2804;method_12138(I)Inamed getArrayIndexLnet/minecraft/world/chunk/ChunkNibbleArray;getArrayIndex(I)I
-
asByteArray
public byte[] asByteArray()- Mappings:
Namespace Name Mixin selector official aLcwr;a()[Bintermediary method_12137Lnet/minecraft/class_2804;method_12137()[Bnamed asByteArrayLnet/minecraft/world/chunk/ChunkNibbleArray;asByteArray()[B
-
copy
- Mappings:
Namespace Name Mixin selector official bLcwr;b()Lcwr;intermediary method_12144Lnet/minecraft/class_2804;method_12144()Lnet/minecraft/class_2804;named copyLnet/minecraft/world/chunk/ChunkNibbleArray;copy()Lnet/minecraft/world/chunk/ChunkNibbleArray;
-
toString
-
bottomToString
Returns a hexadecimal string representation of they=0level of this array.It is useful for debugging the grid nibble array.
- Parameters:
unused- unused- Returns:
- a hexadecimal string representation of the
y=0level of this array - Mappings:
Namespace Name Mixin selector official aLcwr;a(I)Ljava/lang/String;intermediary method_35320Lnet/minecraft/class_2804;method_35320(I)Ljava/lang/String;named bottomToStringLnet/minecraft/world/chunk/ChunkNibbleArray;bottomToString(I)Ljava/lang/String;
-
isUninitialized
public boolean isUninitialized()- Mappings:
Namespace Name Mixin selector official cLcwr;c()Zintermediary method_12146Lnet/minecraft/class_2804;method_12146()Znamed isUninitializedLnet/minecraft/world/chunk/ChunkNibbleArray;isUninitialized()Z
-