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 cpv
intermediary net/minecraft/class_2804
named net/minecraft/world/chunk/ChunkNibbleArray
-
Field Summary
Modifier and TypeFieldDescriptionprotected @org.jetbrains.annotations.Nullable byte[]
static final int
static final int
static final int
private static final int
-
Constructor Summary
ModifierConstructorDescriptionChunkNibbleArray
(byte[] bytes) protected
ChunkNibbleArray
(int size) -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
bottomToString
(int unused) Returns a hexademical string representation of they=0
level of this array.copy()
private int
get
(int index) int
get
(int x, int y, int z) Returns the integer value of a nibble, in[0, 15]
.private static int
getArrayIndex
(int i) private static int
getIndex
(int int2, int x, int y) boolean
private static int
occupiesSmallerBits
(int i) Returns if the nibble atn
is stored in the less significant (smaller) 4 bits of the byte in the backing array.private void
set
(int index, int value) void
set
(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 a
Lcpv;a:I
intermediary field_34052
Lnet/minecraft/class_2804;field_34052:I
named COPY_TIMES
Lnet/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 b
Lcpv;b:I
intermediary field_31404
Lnet/minecraft/class_2804;field_31404:I
named COPY_BLOCK_SIZE
Lnet/minecraft/world/chunk/ChunkNibbleArray;COPY_BLOCK_SIZE:I
-
BYTES_LENGTH
public static final int BYTES_LENGTH- See Also:
- Mappings:
Namespace Name Mixin selector official c
Lcpv;c:I
intermediary field_31403
Lnet/minecraft/class_2804;field_31403:I
named BYTES_LENGTH
Lnet/minecraft/world/chunk/ChunkNibbleArray;BYTES_LENGTH:I
-
NIBBLE_BITS
private static final int NIBBLE_BITS- See Also:
- Mappings:
Namespace Name Mixin selector official e
Lcpv;e:I
intermediary field_31405
Lnet/minecraft/class_2804;field_31405:I
named NIBBLE_BITS
Lnet/minecraft/world/chunk/ChunkNibbleArray;NIBBLE_BITS:I
-
bytes
- Mappings:
Namespace Name Mixin selector official d
Lcpv;d:[B
intermediary field_12783
Lnet/minecraft/class_2804;field_12783:[B
named bytes
Lnet/minecraft/world/chunk/ChunkNibbleArray;bytes:[B
-
-
Constructor Details
-
ChunkNibbleArray
public ChunkNibbleArray() -
ChunkNibbleArray
public ChunkNibbleArray(byte[] bytes) - Mappings:
Namespace Name Mixin selector official <init>
Lcpv;<init>([B)V
intermediary <init>
Lnet/minecraft/class_2804;<init>([B)V
named <init>
Lnet/minecraft/world/chunk/ChunkNibbleArray;<init>([B)V
-
ChunkNibbleArray
protected ChunkNibbleArray(int size) - Mappings:
Namespace Name Mixin selector official <init>
Lcpv;<init>(I)V
intermediary <init>
Lnet/minecraft/class_2804;<init>(I)V
named <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 a
Lcpv;a(III)I
intermediary method_12139
Lnet/minecraft/class_2804;method_12139(III)I
named get
Lnet/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
value
has 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 a
Lcpv;a(IIII)V
intermediary method_12145
Lnet/minecraft/class_2804;method_12145(IIII)V
named set
Lnet/minecraft/world/chunk/ChunkNibbleArray;set(IIII)V
-
getIndex
private static int getIndex(int int2, int x, int y) - Mappings:
Namespace Name Mixin selector official b
Lcpv;b(III)I
intermediary method_12140
Lnet/minecraft/class_2804;method_12140(III)I
named getIndex
Lnet/minecraft/world/chunk/ChunkNibbleArray;getIndex(III)I
-
get
private int get(int index) - Mappings:
Namespace Name Mixin selector official b
Lcpv;b(I)I
intermediary method_12141
Lnet/minecraft/class_2804;method_12141(I)I
named get
Lnet/minecraft/world/chunk/ChunkNibbleArray;get(I)I
-
set
private void set(int index, int value) - Mappings:
Namespace Name Mixin selector official a
Lcpv;a(II)V
intermediary method_12142
Lnet/minecraft/class_2804;method_12142(II)V
named set
Lnet/minecraft/world/chunk/ChunkNibbleArray;set(II)V
-
occupiesSmallerBits
private static int occupiesSmallerBits(int i) Returns if the nibble atn
is stored in the less significant (smaller) 4 bits of the byte in the backing array.- Returns:
- if the nibble at
n
is stored in the less significant (smaller) 4 bits of the byte in the backing array - Mappings:
Namespace Name Mixin selector official c
Lcpv;c(I)I
intermediary method_37459
Lnet/minecraft/class_2804;method_37459(I)I
named occupiesSmallerBits
Lnet/minecraft/world/chunk/ChunkNibbleArray;occupiesSmallerBits(I)I
-
getArrayIndex
private static int getArrayIndex(int i) - Mappings:
Namespace Name Mixin selector official d
Lcpv;d(I)I
intermediary method_12138
Lnet/minecraft/class_2804;method_12138(I)I
named getArrayIndex
Lnet/minecraft/world/chunk/ChunkNibbleArray;getArrayIndex(I)I
-
asByteArray
public byte[] asByteArray()- Mappings:
Namespace Name Mixin selector official a
Lcpv;a()[B
intermediary method_12137
Lnet/minecraft/class_2804;method_12137()[B
named asByteArray
Lnet/minecraft/world/chunk/ChunkNibbleArray;asByteArray()[B
-
copy
- Mappings:
Namespace Name Mixin selector official b
Lcpv;b()Lcpv;
intermediary method_12144
Lnet/minecraft/class_2804;method_12144()Lnet/minecraft/class_2804;
named copy
Lnet/minecraft/world/chunk/ChunkNibbleArray;copy()Lnet/minecraft/world/chunk/ChunkNibbleArray;
-
toString
-
bottomToString
Returns a hexademical string representation of they=0
level of this array.It is useful for debugging the grid nibble array.
- Parameters:
unused
- unused- Returns:
- a hexademical string representation of the
y=0
level of this array - Mappings:
Namespace Name Mixin selector official a
Lcpv;a(I)Ljava/lang/String;
intermediary method_35320
Lnet/minecraft/class_2804;method_35320(I)Ljava/lang/String;
named bottomToString
Lnet/minecraft/world/chunk/ChunkNibbleArray;bottomToString(I)Ljava/lang/String;
-
isUninitialized
public boolean isUninitialized()- Mappings:
Namespace Name Mixin selector official c
Lcpv;c()Z
intermediary method_12146
Lnet/minecraft/class_2804;method_12146()Z
named isUninitialized
Lnet/minecraft/world/chunk/ChunkNibbleArray;isUninitialized()Z
-