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 cxdintermediary net/minecraft/class_2841named net/minecraft/world/chunk/PalettedContainer
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceA counter that receives a palette entry and its number of occurrences in the container.private static final recordRuntime representation of data in a paletted container.private static final recordA palette data provider constructs an empty data for a paletted container given a palette provider and a desired entry size in bits.static classA 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
FieldsModifier and TypeFieldDescriptionprivate PalettedContainer.Data<T>private final PaletteResizeListener<T>private static final intprivate final IndexedIterable<T>private final LockHelperprivate final PalettedContainer.PaletteProvider -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivatePalettedContainer(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()voidcount(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 Tget(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 entrybitssize.intbooleanReturnstrueif any object in this container's palette matches this predicate.voidlock()Acquires the semaphore on this container, and crashes if it cannot be acquired.voidmethod_39793(Consumer<T> consumer) private static <T> voidmethod_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) intCallback for a palette's request to resize to at leastnewBitsfor each entry and to update the storage correspondingly in order to accommodate the new object.voidreadPacket(PacketByteBuf buf) Reads data from the packet byte buffer into this container.voidprivate voidprivate TswapUnsafe(int x, int y, int z, T value) voidunlock()Releases the semaphore on this container.voidwritePacket(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 aLcxd;a:Iintermediary field_34557Lnet/minecraft/class_2841;field_34557:Inamed field_34557Lnet/minecraft/world/chunk/PalettedContainer;field_34557:I
-
dummyListener
- Mappings:
Namespace Name Mixin selector official bLcxd;b:Lcxc;intermediary field_34558Lnet/minecraft/class_2841;field_34558:Lnet/minecraft/class_2835;named dummyListenerLnet/minecraft/world/chunk/PalettedContainer;dummyListener:Lnet/minecraft/world/chunk/PaletteResizeListener;
-
idList
- Mappings:
Namespace Name Mixin selector official cLcxd;c:Lhf;intermediary field_34559Lnet/minecraft/class_2841;field_34559:Lnet/minecraft/class_2359;named idListLnet/minecraft/world/chunk/PalettedContainer;idList:Lnet/minecraft/util/collection/IndexedIterable;
-
data
- Mappings:
Namespace Name Mixin selector official dLcxd;d:Lcxd$c;intermediary field_34560Lnet/minecraft/class_2841;field_34560:Lnet/minecraft/class_2841$class_6561;named dataLnet/minecraft/world/chunk/PalettedContainer;data:Lnet/minecraft/world/chunk/PalettedContainer$Data;
-
paletteProvider
- Mappings:
Namespace Name Mixin selector official eLcxd;e:Lcxd$d;intermediary field_34561Lnet/minecraft/class_2841;field_34561:Lnet/minecraft/class_2841$class_6563;named paletteProviderLnet/minecraft/world/chunk/PalettedContainer;paletteProvider:Lnet/minecraft/world/chunk/PalettedContainer$PaletteProvider;
-
lockHelper
- Mappings:
Namespace Name Mixin selector official fLcxd;f:Lamg;intermediary field_36300Lnet/minecraft/class_2841;field_36300:Lnet/minecraft/class_5798;named lockHelperLnet/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;)Vintermediary <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;)Vnamed <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;)Vintermediary <init>Lnet/minecraft/class_2841;<init>(Lnet/minecraft/class_2359;Lnet/minecraft/class_2841$class_6563;Lnet/minecraft/class_2841$class_6561;)Vnamed <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;)Vintermediary <init>Lnet/minecraft/class_2841;<init>(Lnet/minecraft/class_2359;Ljava/lang/Object;Lnet/minecraft/class_2841$class_6563;)Vnamed <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 aLcxd;a()Vintermediary method_12334Lnet/minecraft/class_2841;method_12334()Vnamed lockLnet/minecraft/world/chunk/PalettedContainer;lock()V
-
unlock
public void unlock()Releases the semaphore on this container.- Mappings:
Namespace Name Mixin selector official bLcxd;b()Vintermediary method_12335Lnet/minecraft/class_2841;method_12335()Vnamed unlockLnet/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 aLcxd;a(Lhf;Lcom/mojang/serialization/Codec;Lcxd$d;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;intermediary method_44343Lnet/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_44343Lnet/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 bLcxd;b(Lhf;Lcom/mojang/serialization/Codec;Lcxd$d;Ljava/lang/Object;)Lcom/mojang/serialization/Codec;intermediary method_44347Lnet/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_44347Lnet/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 aLcxd;a(Lhf;Lcom/mojang/serialization/Codec;Lcxd$d;Ljava/lang/Object;Lcxe$b;)Lcom/mojang/serialization/Codec;intermediary method_38298Lnet/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 createCodecLnet/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 entrybitssize. This may return a new data object or returnpreviousDataif 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
bitssize - Mappings:
Namespace Name Mixin selector official aLcxd;a(Lcxd$c;I)Lcxd$c;intermediary method_38297Lnet/minecraft/class_2841;method_38297(Lnet/minecraft/class_2841$class_6561;I)Lnet/minecraft/class_2841$class_6561;named getCompatibleDataLnet/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 leastnewBitsfor 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 theobjectin the updated palette.- Specified by:
onResizein interfacePaletteResizeListener<T>- Returns:
- the ID for the
objectin the (possibly new) palette - Mappings:
Namespace Name Mixin selector official onResizeLcxc;onResize(ILjava/lang/Object;)Iintermediary onResizeLnet/minecraft/class_2835;onResize(ILjava/lang/Object;)Inamed onResizeLnet/minecraft/world/chunk/PaletteResizeListener;onResize(ILjava/lang/Object;)I
-
swap
- Mappings:
Namespace Name Mixin selector official aLcxd;a(IIILjava/lang/Object;)Ljava/lang/Object;intermediary method_12328Lnet/minecraft/class_2841;method_12328(IIILjava/lang/Object;)Ljava/lang/Object;named swapLnet/minecraft/world/chunk/PalettedContainer;swap(IIILjava/lang/Object;)Ljava/lang/Object;
-
swapUnsafe
- Mappings:
Namespace Name Mixin selector official bLcxd;b(IIILjava/lang/Object;)Ljava/lang/Object;intermediary method_16678Lnet/minecraft/class_2841;method_16678(IIILjava/lang/Object;)Ljava/lang/Object;named swapUnsafeLnet/minecraft/world/chunk/PalettedContainer;swapUnsafe(IIILjava/lang/Object;)Ljava/lang/Object;
-
swap
- Mappings:
Namespace Name Mixin selector official aLcxd;a(ILjava/lang/Object;)Ljava/lang/Object;intermediary method_12336Lnet/minecraft/class_2841;method_12336(ILjava/lang/Object;)Ljava/lang/Object;named swapLnet/minecraft/world/chunk/PalettedContainer;swap(ILjava/lang/Object;)Ljava/lang/Object;
-
set
- Mappings:
Namespace Name Mixin selector official cLcxd;c(IIILjava/lang/Object;)Vintermediary method_35321Lnet/minecraft/class_2841;method_35321(IIILjava/lang/Object;)Vnamed setLnet/minecraft/world/chunk/PalettedContainer;set(IIILjava/lang/Object;)V
-
set
- Mappings:
Namespace Name Mixin selector official bLcxd;b(ILjava/lang/Object;)Vintermediary method_12322Lnet/minecraft/class_2841;method_12322(ILjava/lang/Object;)Vnamed setLnet/minecraft/world/chunk/PalettedContainer;set(ILjava/lang/Object;)V
-
get
- Specified by:
getin interfaceclass_7522<T>- Mappings:
Namespace Name Mixin selector official aLcxe;a(III)Ljava/lang/Object;intermediary method_12321Lnet/minecraft/class_7522;method_12321(III)Ljava/lang/Object;named getLnet/minecraft/class_7522;get(III)Ljava/lang/Object;
-
get
- Mappings:
Namespace Name Mixin selector official aLcxd;a(I)Ljava/lang/Object;intermediary method_12331Lnet/minecraft/class_2841;method_12331(I)Ljava/lang/Object;named getLnet/minecraft/world/chunk/PalettedContainer;get(I)Ljava/lang/Object;
-
method_39793
- Specified by:
method_39793in interfaceclass_7522<T>- Mappings:
Namespace Name Mixin selector official aLcxe;a(Ljava/util/function/Consumer;)Vintermediary method_39793Lnet/minecraft/class_7522;method_39793(Ljava/util/function/Consumer;)Vnamed method_39793Lnet/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 aLcxd;a(Lqx;)Vintermediary method_12326Lnet/minecraft/class_2841;method_12326(Lnet/minecraft/class_2540;)Vnamed readPacketLnet/minecraft/world/chunk/PalettedContainer;readPacket(Lnet/minecraft/network/PacketByteBuf;)V
-
writePacket
Writes this container to the packet byte buffer.- Specified by:
writePacketin interfaceclass_7522<T>- Parameters:
buf- the packet byte buffer- Mappings:
Namespace Name Mixin selector official bLcxe;b(Lqx;)Vintermediary method_12325Lnet/minecraft/class_7522;method_12325(Lnet/minecraft/class_2540;)Vnamed writePacketLnet/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 aLcxd;a(Lhf;Lcxd$d;Lcxe$a;)Lcom/mojang/serialization/DataResult;intermediary method_44346Lnet/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_44346Lnet/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_44345in interfaceclass_7522<T>- Mappings:
Namespace Name Mixin selector official aLcxe;a(Lhf;Lcxd$d;)Lcxe$a;intermediary method_44345Lnet/minecraft/class_7522;method_44345(Lnet/minecraft/class_2359;Lnet/minecraft/class_2841$class_6563;)Lnet/minecraft/class_7522$class_6562;named method_44345Lnet/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 aLcxd;a([ILjava/util/function/IntUnaryOperator;)Vintermediary method_39894Lnet/minecraft/class_2841;method_39894([ILjava/util/function/IntUnaryOperator;)Vnamed method_39894Lnet/minecraft/world/chunk/PalettedContainer;method_39894([ILjava/util/function/IntUnaryOperator;)V
-
getPacketSize
public int getPacketSize()- Specified by:
getPacketSizein interfaceclass_7522<T>- Mappings:
Namespace Name Mixin selector official cLcxe;c()Iintermediary method_12327Lnet/minecraft/class_7522;method_12327()Inamed getPacketSizeLnet/minecraft/class_7522;getPacketSize()I
-
hasAny
Returnstrueif any object in this container's palette matches this predicate.- Specified by:
hasAnyin interfaceclass_7522<T>- Returns:
trueif any object in this container's palette matches this predicate- Mappings:
Namespace Name Mixin selector official aLcxe;a(Ljava/util/function/Predicate;)Zintermediary method_19526Lnet/minecraft/class_7522;method_19526(Ljava/util/function/Predicate;)Znamed hasAnyLnet/minecraft/class_7522;hasAny(Ljava/util/function/Predicate;)Z
-
copy
- Mappings:
Namespace Name Mixin selector official dLcxd;d()Lcxd;intermediary method_39957Lnet/minecraft/class_2841;method_39957()Lnet/minecraft/class_2841;named copyLnet/minecraft/world/chunk/PalettedContainer;copy()Lnet/minecraft/world/chunk/PalettedContainer;
-
method_44350
- Specified by:
method_44350in interfaceclass_7522<T>- Mappings:
Namespace Name Mixin selector official eLcxe;e()Lcxd;intermediary method_44350Lnet/minecraft/class_7522;method_44350()Lnet/minecraft/class_2841;named method_44350Lnet/minecraft/class_7522;method_44350()Lnet/minecraft/world/chunk/PalettedContainer;
-
count
- Specified by:
countin interfaceclass_7522<T>- Mappings:
Namespace Name Mixin selector official aLcxe;a(Lcxd$b;)Vintermediary method_21732Lnet/minecraft/class_7522;method_21732(Lnet/minecraft/class_2841$class_4464;)Vnamed countLnet/minecraft/class_7522;count(Lnet/minecraft/world/chunk/PalettedContainer$Counter;)V
-