mirror of https://github.com/FabricMC/yarn.git
grid nibble array (#2632)
Signed-off-by: liach <liach@users.noreply.github.com> Co-authored-by: liach <liach@users.noreply.github.com>
This commit is contained in:
parent
8653ed5962
commit
bccb8ac86c
|
@ -1,15 +1,25 @@
|
|||
CLASS net/minecraft/class_2804 net/minecraft/world/chunk/ChunkNibbleArray
|
||||
COMMENT A chunk nibble array is an array of nibbles for each block position in
|
||||
COMMENT a chunk. It is most often used to store light data.
|
||||
COMMENT
|
||||
COMMENT <p>A {@index nibble} is 4 bits, storing an integer from {@code 0} to
|
||||
COMMENT {@code 15}. It takes half the space of a byte.
|
||||
COMMENT
|
||||
COMMENT <p>The nibbles are stored in an X-Z-Y major order; in the backing array,
|
||||
COMMENT the indices increases by first increasing X, then Z, and finally Y.
|
||||
FIELD field_12783 bytes [B
|
||||
FIELD field_31403 BYTES_LENGTH I
|
||||
FIELD field_31404 COPY_BLOCK_SIZE I
|
||||
FIELD field_31405 NIBBLE_BITS I
|
||||
METHOD <init> (I)V
|
||||
ARG 1 size
|
||||
METHOD <init> ([B)V
|
||||
ARG 1 bytes
|
||||
METHOD method_12137 asByteArray ()[B
|
||||
METHOD method_12138 divideByTwo (I)I
|
||||
METHOD method_12138 getArrayIndex (I)I
|
||||
ARG 1 n
|
||||
METHOD method_12139 get (III)I
|
||||
COMMENT {@return the integer value of a nibble, in {@code [0, 15]}}
|
||||
ARG 1 x
|
||||
ARG 2 y
|
||||
ARG 3 z
|
||||
|
@ -22,10 +32,26 @@ CLASS net/minecraft/class_2804 net/minecraft/world/chunk/ChunkNibbleArray
|
|||
METHOD method_12142 set (II)V
|
||||
ARG 1 index
|
||||
ARG 2 value
|
||||
METHOD method_12143 occupiesSmallerBits (I)Z
|
||||
COMMENT {@return if the nibble at {@code n} is stored in the less
|
||||
COMMENT significant (smaller) 4 bits of the byte in the backing array}
|
||||
ARG 1 n
|
||||
COMMENT the index of the nibble, not the array index
|
||||
METHOD method_12144 copy ()Lnet/minecraft/class_2804;
|
||||
METHOD method_12145 set (IIII)V
|
||||
COMMENT Sets the value of a nibble.
|
||||
COMMENT
|
||||
COMMENT <p>If the {@code value} has bits outside of the lowest 4 set to {@code 1},
|
||||
COMMENT (value is outside of {@code [0, 15]), the extraneous bits are discarded.
|
||||
ARG 1 x
|
||||
ARG 2 y
|
||||
ARG 3 z
|
||||
ARG 4 value
|
||||
METHOD method_12146 isUninitialized ()Z
|
||||
METHOD method_35320 bottomToString (I)Ljava/lang/String;
|
||||
COMMENT {@return a hexademical string representation of the {@code y=0} level of
|
||||
COMMENT this array}
|
||||
COMMENT
|
||||
COMMENT <p>It is useful for debugging the grid nibble array.
|
||||
ARG 1 unused
|
||||
COMMENT unused
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
CLASS net/minecraft/class_4298 net/minecraft/world/chunk/GridNibbleArray
|
||||
COMMENT A specialized chunk nibble array that ignores the Y parameters and only
|
||||
COMMENT stores the nibbles for a 16 × 16 horizontal chunk slice.
|
||||
COMMENT
|
||||
COMMENT <p>When it is {@linkplain #toByteArray() converted to a byte array}, it
|
||||
COMMENT fills each Y-level of the returned array with the same nibbles it stores.
|
||||
FIELD field_31707 INDICES_PER_Y I
|
||||
COMMENT The number of array indices each Y-level uses in a chunk nibble array.
|
||||
METHOD <init> (Lnet/minecraft/class_2804;I)V
|
||||
ARG 1 array
|
||||
ARG 2 y
|
Loading…
Reference in New Issue