Package net.minecraft.world.chunk
Class PalettedContainer<T>
java.lang.Object
net.minecraft.world.chunk.PalettedContainer<T>
- All Implemented Interfaces:
class_7522<T>
,PaletteResizeListener<T>
A paletted container stores objects in 3D voxels as small integer indices,
governed by "palettes" that map between these objects and indices.
- See Also:
- Mappings:
Namespace Name official cxd
intermediary net/minecraft/class_2841
named net/minecraft/world/chunk/PalettedContainer
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
A counter that receives a palette entry and its number of occurrences in the container.private static final record
Runtime representation of data in a paletted container.private static final record
A palette data provider constructs an empty data for a paletted container given a palette provider and a desired entry size in bits.static class
A palette provider determines what type of palette to choose given the bits used to represent each element.Nested classes/interfaces inherited from interface net.minecraft.class_7522
class_7522.class_7523<T,
C extends class_7522<T>>, class_7522.Serialized<T> -
Field Summary
Modifier and TypeFieldDescriptionprivate PalettedContainer.Data<T>
private final PaletteResizeListener<T>
private static final int
private final IndexedIterable<T>
private final LockHelper
private final PalettedContainer.PaletteProvider
-
Constructor Summary
ModifierConstructorDescriptionprivate
PalettedContainer
(IndexedIterable<T> idList, PalettedContainer.PaletteProvider paletteProvider, PalettedContainer.Data<T> data) PalettedContainer
(IndexedIterable<T> idList, PalettedContainer.PaletteProvider paletteProvider, PalettedContainer.DataProvider<T> dataProvider, PaletteStorage storage, List<T> paletteEntries) PalettedContainer
(IndexedIterable<T> idList, T object, PalettedContainer.PaletteProvider paletteProvider) -
Method Summary
Modifier and TypeMethodDescriptioncopy()
void
count
(PalettedContainer.Counter<T> counter) private static <T,
C extends class_7522<T>>
com.mojang.serialization.Codec<C>createCodec
(IndexedIterable<T> indexedIterable, com.mojang.serialization.Codec<T> entryCodec, PalettedContainer.PaletteProvider provider, T t, class_7522.class_7523<T, C> class_7523) Creates a codec for a paletted container with a specific palette provider.protected T
get
(int index) get
(int x, int y, int z) private PalettedContainer.Data<T>
getCompatibleData
(@Nullable PalettedContainer.Data<T> previousData, int bits) Returns a compatible data object for the given entrybits
size.int
boolean
Returnstrue
if any object in this container's palette matches this predicate.void
lock()
Acquires the semaphore on this container, and crashes if it cannot be acquired.void
method_39793
(Consumer<T> consumer) private static <T> void
method_39894
(int[] int2, IntUnaryOperator intUnaryOperator) static <T> com.mojang.serialization.Codec<PalettedContainer<T>>
method_44343
(IndexedIterable<T> indexedIterable, com.mojang.serialization.Codec<T> codec, PalettedContainer.PaletteProvider paletteProvider, T t) method_44345
(IndexedIterable<T> indexedIterable, PalettedContainer.PaletteProvider paletteProvider) private static <T> com.mojang.serialization.DataResult<PalettedContainer<T>>
method_44346
(IndexedIterable<T> indexedIterable, PalettedContainer.PaletteProvider paletteProvider, class_7522.Serialized<T> serialized) static <T> com.mojang.serialization.Codec<class_7522<T>>
method_44347
(IndexedIterable<T> indexedIterable, com.mojang.serialization.Codec<T> codec, PalettedContainer.PaletteProvider paletteProvider, T t) int
Callback for a palette's request to resize to at leastnewBits
for each entry and to update the storage correspondingly in order to accommodate the new object.void
readPacket
(PacketByteBuf buf) Reads data from the packet byte buffer into this container.void
private void
private T
swapUnsafe
(int x, int y, int z, T value) void
unlock()
Releases the semaphore on this container.void
writePacket
(PacketByteBuf buf) Writes this container to the packet byte buffer.
-
Field Details
-
field_34557
private static final int field_34557- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcxd;a:I
intermediary field_34557
Lnet/minecraft/class_2841;field_34557:I
named field_34557
Lnet/minecraft/world/chunk/PalettedContainer;field_34557:I
-
dummyListener
- Mappings:
Namespace Name Mixin selector official b
Lcxd;b:Lcxc;
intermediary field_34558
Lnet/minecraft/class_2841;field_34558:Lnet/minecraft/class_2835;
named dummyListener
Lnet/minecraft/world/chunk/PalettedContainer;dummyListener:Lnet/minecraft/world/chunk/PaletteResizeListener;
-
idList
- Mappings:
Namespace Name Mixin selector official c
Lcxd;c:Lhf;
intermediary field_34559
Lnet/minecraft/class_2841;field_34559:Lnet/minecraft/class_2359;
named idList
Lnet/minecraft/world/chunk/PalettedContainer;idList:Lnet/minecraft/util/collection/IndexedIterable;
-
data
- Mappings:
Namespace Name Mixin selector official d
Lcxd;d:Lcxd$c;
intermediary field_34560
Lnet/minecraft/class_2841;field_34560:Lnet/minecraft/class_2841$class_6561;
named data
Lnet/minecraft/world/chunk/PalettedContainer;data:Lnet/minecraft/world/chunk/PalettedContainer$Data;
-
paletteProvider
- Mappings:
Namespace Name Mixin selector official e
Lcxd;e:Lcxd$d;
intermediary field_34561
Lnet/minecraft/class_2841;field_34561:Lnet/minecraft/class_2841$class_6563;
named paletteProvider
Lnet/minecraft/world/chunk/PalettedContainer;paletteProvider:Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;
-
lockHelper
- Mappings:
Namespace Name Mixin selector official f
Lcxd;f:Lamg;
intermediary field_36300
Lnet/minecraft/class_2841;field_36300:Lnet/minecraft/class_5798;
named lockHelper
Lnet/minecraft/world/chunk/PalettedContainer;lockHelper:Lnet/minecraft/util/thread/LockHelper;
-
-
Constructor Details
-
PalettedContainer
public PalettedContainer(IndexedIterable<T> idList, PalettedContainer.PaletteProvider paletteProvider, PalettedContainer.DataProvider<T> dataProvider, PaletteStorage storage, List<T> paletteEntries) - Mappings:
Namespace Name Mixin selector official <init>
Lcxd;<init>(Lhf;Lcxd$d;Lcxd$a;Lakn;Ljava/util/List;)V
intermediary <init>
Lnet/minecraft/class_2841;<init>(Lnet/minecraft/class_2359;Lnet/minecraft/class_2841$class_6563;Lnet/minecraft/class_2841$class_6560;Lnet/minecraft/class_6490;Ljava/util/List;)V
named <init>
Lnet/minecraft/world/chunk/PalettedContainer;<init>(Lnet/minecraft/util/collection/IndexedIterable;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;Lnet/minecraft/world/chunk/PalettedContainer$DataProvider;Lnet/minecraft/util/collection/PaletteStorage;Ljava/util/List;)V
-
PalettedContainer
private PalettedContainer(IndexedIterable<T> idList, PalettedContainer.PaletteProvider paletteProvider, PalettedContainer.Data<T> data) - Mappings:
Namespace Name Mixin selector official <init>
Lcxd;<init>(Lhf;Lcxd$d;Lcxd$c;)V
intermediary <init>
Lnet/minecraft/class_2841;<init>(Lnet/minecraft/class_2359;Lnet/minecraft/class_2841$class_6563;Lnet/minecraft/class_2841$class_6561;)V
named <init>
Lnet/minecraft/world/chunk/PalettedContainer;<init>(Lnet/minecraft/util/collection/IndexedIterable;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;Lnet/minecraft/world/chunk/PalettedContainer$Data;)V
-
PalettedContainer
public PalettedContainer(IndexedIterable<T> idList, T object, PalettedContainer.PaletteProvider paletteProvider) - Mappings:
Namespace Name Mixin selector official <init>
Lcxd;<init>(Lhf;Ljava/lang/Object;Lcxd$d;)V
intermediary <init>
Lnet/minecraft/class_2841;<init>(Lnet/minecraft/class_2359;Ljava/lang/Object;Lnet/minecraft/class_2841$class_6563;)V
named <init>
Lnet/minecraft/world/chunk/PalettedContainer;<init>(Lnet/minecraft/util/collection/IndexedIterable;Ljava/lang/Object;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;)V
-
-
Method Details
-
lock
public void lock()Acquires the semaphore on this container, and crashes if it cannot be acquired.- Mappings:
Namespace Name Mixin selector official a
Lcxd;a()V
intermediary method_12334
Lnet/minecraft/class_2841;method_12334()V
named lock
Lnet/minecraft/world/chunk/PalettedContainer;lock()V
-
unlock
public void unlock()Releases the semaphore on this container.- Mappings:
Namespace Name Mixin selector official b
Lcxd;b()V
intermediary method_12335
Lnet/minecraft/class_2841;method_12335()V
named unlock
Lnet/minecraft/world/chunk/PalettedContainer;unlock()V
-
method_44343
public static <T> com.mojang.serialization.Codec<PalettedContainer<T>> method_44343(IndexedIterable<T> indexedIterable, com.mojang.serialization.Codec<T> codec, PalettedContainer.PaletteProvider paletteProvider, T t) - Mappings:
Namespace Name Mixin selector official a
Lcxd;a(Lhf;Lcom/mojang/serialization/Codec;Lcxd$d;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;
intermediary method_44343
Lnet/minecraft/class_2841;method_44343(Lnet/minecraft/class_2359;Lcom/mojang/serialization/Codec;Lnet/minecraft/class_2841$class_6563;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;
named method_44343
Lnet/minecraft/world/chunk/PalettedContainer;method_44343(Lnet/minecraft/util/collection/IndexedIterable;Lcom/mojang/serialization/Codec;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;
-
method_44347
public static <T> com.mojang.serialization.Codec<class_7522<T>> method_44347(IndexedIterable<T> indexedIterable, com.mojang.serialization.Codec<T> codec, PalettedContainer.PaletteProvider paletteProvider, T t) - Mappings:
Namespace Name Mixin selector official b
Lcxd;b(Lhf;Lcom/mojang/serialization/Codec;Lcxd$d;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;
intermediary method_44347
Lnet/minecraft/class_2841;method_44347(Lnet/minecraft/class_2359;Lcom/mojang/serialization/Codec;Lnet/minecraft/class_2841$class_6563;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;
named method_44347
Lnet/minecraft/world/chunk/PalettedContainer;method_44347(Lnet/minecraft/util/collection/IndexedIterable;Lcom/mojang/serialization/Codec;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;
-
createCodec
private static <T,C extends class_7522<T>> com.mojang.serialization.Codec<C> createCodec(IndexedIterable<T> indexedIterable, com.mojang.serialization.Codec<T> entryCodec, PalettedContainer.PaletteProvider provider, T t, class_7522.class_7523<T, C> class_7523) Creates a codec for a paletted container with a specific palette provider.- Parameters:
entryCodec
- the codec for each entry in the paletteprovider
- the palette provider that controls how the data are serialized and what types of palette are used for what entry bit sizes- Returns:
- the created codec
- Mappings:
Namespace Name Mixin selector official a
Lcxd;a(Lhf;Lcom/mojang/serialization/Codec;Lcxd$d;Ljava/lang/Object;Lcxe$b;)Lcom/mojang/serialization/Codec;
intermediary method_38298
Lnet/minecraft/class_2841;method_38298(Lnet/minecraft/class_2359;Lcom/mojang/serialization/Codec;Lnet/minecraft/class_2841$class_6563;Ljava/lang/Object;Lnet/minecraft/class_7522$class_7523;)Lcom/mojang/serialization/Codec;
named createCodec
Lnet/minecraft/world/chunk/PalettedContainer;createCodec(Lnet/minecraft/util/collection/IndexedIterable;Lcom/mojang/serialization/Codec;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;Ljava/lang/Object;Lnet/minecraft/class_7522$class_7523;)Lcom/mojang/serialization/Codec;
-
getCompatibleData
private PalettedContainer.Data<T> getCompatibleData(@Nullable @Nullable PalettedContainer.Data<T> previousData, int bits) Returns a compatible data object for the given entrybits
size. This may return a new data object or returnpreviousData
if it can be reused.- Parameters:
previousData
- the previous data, may be reused if suitablebits
- the number of bits each entry uses- Returns:
- a compatible data object for the given entry
bits
size - Mappings:
Namespace Name Mixin selector official a
Lcxd;a(Lcxd$c;I)Lcxd$c;
intermediary method_38297
Lnet/minecraft/class_2841;method_38297(Lnet/minecraft/class_2841$class_6561;I)Lnet/minecraft/class_2841$class_6561;
named getCompatibleData
Lnet/minecraft/world/chunk/PalettedContainer;getCompatibleData(Lnet/minecraft/world/chunk/PalettedContainer$Data;I)Lnet/minecraft/world/chunk/PalettedContainer$Data;
-
onResize
Callback for a palette's request to resize to at leastnewBits
for each entry and to update the storage correspondingly in order to accommodate the new object. After the resize is completed in this method, returns the ID assigned to theobject
in the updated palette.- Specified by:
onResize
in interfacePaletteResizeListener<T>
- Returns:
- the ID for the
object
in the (possibly new) palette - Mappings:
Namespace Name Mixin selector official onResize
Lcxc;onResize(ILjava/lang/Object;)I
intermediary onResize
Lnet/minecraft/class_2835;onResize(ILjava/lang/Object;)I
named onResize
Lnet/minecraft/world/chunk/PaletteResizeListener;onResize(ILjava/lang/Object;)I
-
swap
- Mappings:
Namespace Name Mixin selector official a
Lcxd;a(IIILjava/lang/Object;)Ljava/lang/Object;
intermediary method_12328
Lnet/minecraft/class_2841;method_12328(IIILjava/lang/Object;)Ljava/lang/Object;
named swap
Lnet/minecraft/world/chunk/PalettedContainer;swap(IIILjava/lang/Object;)Ljava/lang/Object;
-
swapUnsafe
- Mappings:
Namespace Name Mixin selector official b
Lcxd;b(IIILjava/lang/Object;)Ljava/lang/Object;
intermediary method_16678
Lnet/minecraft/class_2841;method_16678(IIILjava/lang/Object;)Ljava/lang/Object;
named swapUnsafe
Lnet/minecraft/world/chunk/PalettedContainer;swapUnsafe(IIILjava/lang/Object;)Ljava/lang/Object;
-
swap
- Mappings:
Namespace Name Mixin selector official a
Lcxd;a(ILjava/lang/Object;)Ljava/lang/Object;
intermediary method_12336
Lnet/minecraft/class_2841;method_12336(ILjava/lang/Object;)Ljava/lang/Object;
named swap
Lnet/minecraft/world/chunk/PalettedContainer;swap(ILjava/lang/Object;)Ljava/lang/Object;
-
set
- Mappings:
Namespace Name Mixin selector official c
Lcxd;c(IIILjava/lang/Object;)V
intermediary method_35321
Lnet/minecraft/class_2841;method_35321(IIILjava/lang/Object;)V
named set
Lnet/minecraft/world/chunk/PalettedContainer;set(IIILjava/lang/Object;)V
-
set
- Mappings:
Namespace Name Mixin selector official b
Lcxd;b(ILjava/lang/Object;)V
intermediary method_12322
Lnet/minecraft/class_2841;method_12322(ILjava/lang/Object;)V
named set
Lnet/minecraft/world/chunk/PalettedContainer;set(ILjava/lang/Object;)V
-
get
- Specified by:
get
in interfaceclass_7522<T>
- Mappings:
Namespace Name Mixin selector official a
Lcxe;a(III)Ljava/lang/Object;
intermediary method_12321
Lnet/minecraft/class_7522;method_12321(III)Ljava/lang/Object;
named get
Lnet/minecraft/class_7522;get(III)Ljava/lang/Object;
-
get
- Mappings:
Namespace Name Mixin selector official a
Lcxd;a(I)Ljava/lang/Object;
intermediary method_12331
Lnet/minecraft/class_2841;method_12331(I)Ljava/lang/Object;
named get
Lnet/minecraft/world/chunk/PalettedContainer;get(I)Ljava/lang/Object;
-
method_39793
- Specified by:
method_39793
in interfaceclass_7522<T>
- Mappings:
Namespace Name Mixin selector official a
Lcxe;a(Ljava/util/function/Consumer;)V
intermediary method_39793
Lnet/minecraft/class_7522;method_39793(Ljava/util/function/Consumer;)V
named method_39793
Lnet/minecraft/class_7522;method_39793(Ljava/util/function/Consumer;)V
-
readPacket
Reads data from the packet byte buffer into this container. Previous data in this container is discarded.- Parameters:
buf
- the packet byte buffer- Mappings:
Namespace Name Mixin selector official a
Lcxd;a(Lqx;)V
intermediary method_12326
Lnet/minecraft/class_2841;method_12326(Lnet/minecraft/class_2540;)V
named readPacket
Lnet/minecraft/world/chunk/PalettedContainer;readPacket(Lnet/minecraft/network/PacketByteBuf;)V
-
writePacket
Writes this container to the packet byte buffer.- Specified by:
writePacket
in interfaceclass_7522<T>
- Parameters:
buf
- the packet byte buffer- Mappings:
Namespace Name Mixin selector official b
Lcxe;b(Lqx;)V
intermediary method_12325
Lnet/minecraft/class_7522;method_12325(Lnet/minecraft/class_2540;)V
named writePacket
Lnet/minecraft/class_7522;writePacket(Lnet/minecraft/network/PacketByteBuf;)V
-
method_44346
private static <T> com.mojang.serialization.DataResult<PalettedContainer<T>> method_44346(IndexedIterable<T> indexedIterable, PalettedContainer.PaletteProvider paletteProvider, class_7522.Serialized<T> serialized) - Mappings:
Namespace Name Mixin selector official a
Lcxd;a(Lhf;Lcxd$d;Lcxe$a;)Lcom/mojang/serialization/DataResult;
intermediary method_44346
Lnet/minecraft/class_2841;method_44346(Lnet/minecraft/class_2359;Lnet/minecraft/class_2841$class_6563;Lnet/minecraft/class_7522$class_6562;)Lcom/mojang/serialization/DataResult;
named method_44346
Lnet/minecraft/world/chunk/PalettedContainer;method_44346(Lnet/minecraft/util/collection/IndexedIterable;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;Lnet/minecraft/class_7522$Serialized;)Lcom/mojang/serialization/DataResult;
-
method_44345
public class_7522.Serialized<T> method_44345(IndexedIterable<T> indexedIterable, PalettedContainer.PaletteProvider paletteProvider) - Specified by:
method_44345
in interfaceclass_7522<T>
- Mappings:
Namespace Name Mixin selector official a
Lcxe;a(Lhf;Lcxd$d;)Lcxe$a;
intermediary method_44345
Lnet/minecraft/class_7522;method_44345(Lnet/minecraft/class_2359;Lnet/minecraft/class_2841$class_6563;)Lnet/minecraft/class_7522$class_6562;
named method_44345
Lnet/minecraft/class_7522;method_44345(Lnet/minecraft/util/collection/IndexedIterable;Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;)Lnet/minecraft/class_7522$Serialized;
-
method_39894
- Mappings:
Namespace Name Mixin selector official a
Lcxd;a([ILjava/util/function/IntUnaryOperator;)V
intermediary method_39894
Lnet/minecraft/class_2841;method_39894([ILjava/util/function/IntUnaryOperator;)V
named method_39894
Lnet/minecraft/world/chunk/PalettedContainer;method_39894([ILjava/util/function/IntUnaryOperator;)V
-
getPacketSize
public int getPacketSize()- Specified by:
getPacketSize
in interfaceclass_7522<T>
- Mappings:
Namespace Name Mixin selector official c
Lcxe;c()I
intermediary method_12327
Lnet/minecraft/class_7522;method_12327()I
named getPacketSize
Lnet/minecraft/class_7522;getPacketSize()I
-
hasAny
Returnstrue
if any object in this container's palette matches this predicate.- Specified by:
hasAny
in interfaceclass_7522<T>
- Returns:
true
if any object in this container's palette matches this predicate- Mappings:
Namespace Name Mixin selector official a
Lcxe;a(Ljava/util/function/Predicate;)Z
intermediary method_19526
Lnet/minecraft/class_7522;method_19526(Ljava/util/function/Predicate;)Z
named hasAny
Lnet/minecraft/class_7522;hasAny(Ljava/util/function/Predicate;)Z
-
copy
- Mappings:
Namespace Name Mixin selector official d
Lcxd;d()Lcxd;
intermediary method_39957
Lnet/minecraft/class_2841;method_39957()Lnet/minecraft/class_2841;
named copy
Lnet/minecraft/world/chunk/PalettedContainer;copy()Lnet/minecraft/world/chunk/PalettedContainer;
-
method_44350
- Specified by:
method_44350
in interfaceclass_7522<T>
- Mappings:
Namespace Name Mixin selector official e
Lcxe;e()Lcxd;
intermediary method_44350
Lnet/minecraft/class_7522;method_44350()Lnet/minecraft/class_2841;
named method_44350
Lnet/minecraft/class_7522;method_44350()Lnet/minecraft/world/chunk/PalettedContainer;
-
count
- Specified by:
count
in interfaceclass_7522<T>
- Mappings:
Namespace Name Mixin selector official a
Lcxe;a(Lcxd$b;)V
intermediary method_21732
Lnet/minecraft/class_7522;method_21732(Lnet/minecraft/class_2841$class_4464;)V
named count
Lnet/minecraft/class_7522;count(Lnet/minecraft/world/chunk/PalettedContainer$Counter;)V
-