Package net.minecraft.world.level.chunk
Class PalettedContainer<T>
java.lang.Object
net.minecraft.world.level.chunk.PalettedContainer<T>
- All Implemented Interfaces:
PalettedContainerRO<T>
,PaletteResize<T>
public class PalettedContainer<T>
extends Object
implements PaletteResize<T>, PalettedContainerRO<T>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final record
static interface
(package private) static final record
static class
Nested classes/interfaces inherited from interface net.minecraft.world.level.chunk.PalettedContainerRO
PalettedContainerRO.PackedData<T>, PalettedContainerRO.Unpacker<T,
C extends PalettedContainerRO<T>> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate PalettedContainer.Data
<T> private final PaletteResize
<T> private static final int
private final PalettedContainer.Strategy
private final ThreadingDetector
-
Constructor Summary
ConstructorsModifierConstructorDescriptionPalettedContainer
(IdMap<T> pRegistry, PalettedContainer.Strategy pStrategy, PalettedContainer.Configuration<T> pConfiguration, BitStorage pStorage, List<T> pValues) private
PalettedContainer
(IdMap<T> pRegistry, PalettedContainer.Strategy pStrategy, PalettedContainer.Data<T> pData) PalettedContainer
(IdMap<T> pRegistry, T pPalette, PalettedContainer.Strategy pStrategy) -
Method Summary
Modifier and TypeMethodDescriptionvoid
acquire()
private static <T,
C extends PalettedContainerRO<T>>
com.mojang.serialization.Codec<C> codec
(IdMap<T> p_238428_, com.mojang.serialization.Codec<T> p_238429_, PalettedContainer.Strategy p_238430_, T p_238431_, PalettedContainerRO.Unpacker<T, C> p_238432_) static <T> com.mojang.serialization.Codec
<PalettedContainerRO<T>> codecRO
(IdMap<T> p_238419_, com.mojang.serialization.Codec<T> p_238420_, PalettedContainer.Strategy p_238421_, T p_238422_) static <T> com.mojang.serialization.Codec
<PalettedContainer<T>> codecRW
(IdMap<T> p_238372_, com.mojang.serialization.Codec<T> p_238373_, PalettedContainer.Strategy p_238374_, T p_238375_) copy()
void
count
(PalettedContainer.CountConsumer<T> pCountConsumer) Counts the number of instances of each state in the container.private PalettedContainer.Data
<T> createOrReuseData
(PalettedContainer.Data<T> pData, int pId) protected T
get
(int pIndex) get
(int pX, int pY, int pZ) void
private T
getAndSetUnchecked
(int pX, int pY, int pZ, T pState) int
boolean
int
Called when the underlying palette needs to resize itself to support additional objects.pack
(IdMap<T> pRegistry, PalettedContainer.Strategy pStrategy) void
read
(FriendlyByteBuf pBuffer) recreate()
void
release()
void
private void
private static <T> void
swapPalette
(int[] pBits, IntUnaryOperator pOperator) private static <T> com.mojang.serialization.DataResult
<PalettedContainer<T>> unpack
(IdMap<T> p_188068_, PalettedContainer.Strategy p_188069_, PalettedContainerRO.PackedData<T> p_238258_) void
write
(FriendlyByteBuf pBuffer)
-
Field Details
-
MIN_PALETTE_BITS
private static final int MIN_PALETTE_BITS- See Also:
-
dummyPaletteResize
-
registry
-
data
-
strategy
-
threadingDetector
-
-
Constructor Details
-
PalettedContainer
public PalettedContainer(IdMap<T> pRegistry, PalettedContainer.Strategy pStrategy, PalettedContainer.Configuration<T> pConfiguration, BitStorage pStorage, List<T> pValues) -
PalettedContainer
private PalettedContainer(IdMap<T> pRegistry, PalettedContainer.Strategy pStrategy, PalettedContainer.Data<T> pData) -
PalettedContainer
-
-
Method Details
-
acquire
public void acquire() -
release
public void release() -
codecRW
public static <T> com.mojang.serialization.Codec<PalettedContainer<T>> codecRW(IdMap<T> p_238372_, com.mojang.serialization.Codec<T> p_238373_, PalettedContainer.Strategy p_238374_, T p_238375_) -
codecRO
public static <T> com.mojang.serialization.Codec<PalettedContainerRO<T>> codecRO(IdMap<T> p_238419_, com.mojang.serialization.Codec<T> p_238420_, PalettedContainer.Strategy p_238421_, T p_238422_) -
codec
private static <T,C extends PalettedContainerRO<T>> com.mojang.serialization.Codec<C> codec(IdMap<T> p_238428_, com.mojang.serialization.Codec<T> p_238429_, PalettedContainer.Strategy p_238430_, T p_238431_, PalettedContainerRO.Unpacker<T, C> p_238432_) -
createOrReuseData
private PalettedContainer.Data<T> createOrReuseData(@Nullable PalettedContainer.Data<T> pData, int pId) -
onResize
Called when the underlying palette needs to resize itself to support additional objects.- Specified by:
onResize
in interfacePaletteResize<T>
- Parameters:
pBits
- The new palette size, in bits.- Returns:
- The new integer mapping for the object added.
-
getAndSet
-
getAndSetUnchecked
-
getAndSet
-
set
-
set
-
get
- Specified by:
get
in interfacePalettedContainerRO<T>
-
get
-
getAll
- Specified by:
getAll
in interfacePalettedContainerRO<T>
-
read
-
write
- Specified by:
write
in interfacePalettedContainerRO<T>
-
unpack
private static <T> com.mojang.serialization.DataResult<PalettedContainer<T>> unpack(IdMap<T> p_188068_, PalettedContainer.Strategy p_188069_, PalettedContainerRO.PackedData<T> p_238258_) -
pack
public PalettedContainerRO.PackedData<T> pack(IdMap<T> pRegistry, PalettedContainer.Strategy pStrategy) - Specified by:
pack
in interfacePalettedContainerRO<T>
-
swapPalette
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSize
in interfacePalettedContainerRO<T>
-
maybeHas
- Specified by:
maybeHas
in interfacePalettedContainerRO<T>
-
copy
-
recreate
- Specified by:
recreate
in interfacePalettedContainerRO<T>
-
count
Counts the number of instances of each state in the container. The provided consumer is invoked for each state with the number of instances.- Specified by:
count
in interfacePalettedContainerRO<T>
-