Package net.minecraft.registry.entry
Class RegistryElementCodec<E>
java.lang.Object
net.minecraft.registry.entry.RegistryElementCodec<E>
- Type Parameters:
E- the element type
- All Implemented Interfaces:
com.mojang.serialization.Codec<RegistryEntry<E>>,com.mojang.serialization.Decoder<RegistryEntry<E>>,com.mojang.serialization.Encoder<RegistryEntry<E>>
public final class RegistryElementCodec<E>
extends Object
implements com.mojang.serialization.Codec<RegistryEntry<E>>
A codec for registry elements. Will prefer to encode/decode objects as
identifiers if they exist in a registry and falls back to full encoding/
decoding behavior if it cannot do so.
The codec's saves and loads Supplier<E> in order to avoid early
loading from registry before a registry is fully loaded from a codec.
- See Also:
- Mappings:
Namespace Name named net/minecraft/registry/entry/RegistryElementCodecintermediary net/minecraft/class_5381official akn
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.mojang.serialization.Codec
com.mojang.serialization.Codec.RecursiveCodec<T>, com.mojang.serialization.Codec.ResultFunction<A>Nested classes/interfaces inherited from interface com.mojang.serialization.Decoder
com.mojang.serialization.Decoder.Boxed<A>, com.mojang.serialization.Decoder.Simple<A>, com.mojang.serialization.Decoder.Terminal<A> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final com.mojang.serialization.Codec<E> private final RegistryKey<? extends Registry<E>> Fields inherited from interface com.mojang.serialization.Codec
BOOL, BYTE, BYTE_BUFFER, DOUBLE, EMPTY, FLOAT, INT, INT_STREAM, LONG, LONG_STREAM, PASSTHROUGH, SHORT, STRING -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateRegistryElementCodec(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions) -
Method Summary
Modifier and TypeMethodDescription<T> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<RegistryEntry<E>, T>> decode(com.mojang.serialization.DynamicOps<T> ops, T input) <T> com.mojang.serialization.DataResult<T> encode(RegistryEntry<E> registryEntry, com.mojang.serialization.DynamicOps<T> dynamicOps, T t) static <E> RegistryElementCodec<E> of(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec) static <E> RegistryElementCodec<E> of(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions) toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.mojang.serialization.Codec
comapFlatMap, deprecated, dispatch, dispatch, dispatchMap, dispatchMap, dispatchStable, fieldOf, flatComapMap, flatXmap, lenientOptionalFieldOf, lenientOptionalFieldOf, lenientOptionalFieldOf, lenientOptionalFieldOf, listOf, listOf, mapResult, optionalFieldOf, optionalFieldOf, optionalFieldOf, optionalFieldOf, orElse, orElse, orElse, orElseGet, orElseGet, orElseGet, partialDispatch, promotePartial, sizeLimitedListOf, stable, validate, withLifecycle, xmapMethods inherited from interface com.mojang.serialization.Decoder
boxed, decode, flatMap, map, parse, parse, simple, terminalMethods inherited from interface com.mojang.serialization.Encoder
comap, encodeStart, flatComap
-
Field Details
-
registryRef
- Mappings:
Namespace Name Mixin selector named registryRefLnet/minecraft/registry/entry/RegistryElementCodec;registryRef:Lnet/minecraft/registry/RegistryKey;intermediary field_25507Lnet/minecraft/class_5381;field_25507:Lnet/minecraft/class_5321;official aLakn;a:Lakq;
-
elementCodec
- Mappings:
Namespace Name Mixin selector named elementCodecLnet/minecraft/registry/entry/RegistryElementCodec;elementCodec:Lcom/mojang/serialization/Codec;intermediary field_25508Lnet/minecraft/class_5381;field_25508:Lcom/mojang/serialization/Codec;official bLakn;b:Lcom/mojang/serialization/Codec;
-
allowInlineDefinitions
private final boolean allowInlineDefinitions- Mappings:
Namespace Name Mixin selector named allowInlineDefinitionsLnet/minecraft/registry/entry/RegistryElementCodec;allowInlineDefinitions:Zintermediary field_26758Lnet/minecraft/class_5381;field_26758:Zofficial cLakn;c:Z
-
-
Constructor Details
-
RegistryElementCodec
private RegistryElementCodec(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions) - Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/registry/entry/RegistryElementCodec;<init>(Lnet/minecraft/registry/RegistryKey;Lcom/mojang/serialization/Codec;Z)Vintermediary <init>Lnet/minecraft/class_5381;<init>(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Z)Vofficial <init>Lakn;<init>(Lakq;Lcom/mojang/serialization/Codec;Z)V
-
-
Method Details
-
of
public static <E> RegistryElementCodec<E> of(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec) - Mappings:
Namespace Name Mixin selector named ofLnet/minecraft/registry/entry/RegistryElementCodec;of(Lnet/minecraft/registry/RegistryKey;Lcom/mojang/serialization/Codec;)Lnet/minecraft/registry/entry/RegistryElementCodec;intermediary method_29749Lnet/minecraft/class_5381;method_29749(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_5381;official aLakn;a(Lakq;Lcom/mojang/serialization/Codec;)Lakn;
-
of
public static <E> RegistryElementCodec<E> of(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions) - Mappings:
Namespace Name Mixin selector named ofLnet/minecraft/registry/entry/RegistryElementCodec;of(Lnet/minecraft/registry/RegistryKey;Lcom/mojang/serialization/Codec;Z)Lnet/minecraft/registry/entry/RegistryElementCodec;intermediary method_31192Lnet/minecraft/class_5381;method_31192(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Z)Lnet/minecraft/class_5381;official aLakn;a(Lakq;Lcom/mojang/serialization/Codec;Z)Lakn;
-
encode
public <T> com.mojang.serialization.DataResult<T> encode(RegistryEntry<E> registryEntry, com.mojang.serialization.DynamicOps<T> dynamicOps, T t) - Specified by:
encodein interfacecom.mojang.serialization.Encoder<E>- Mappings:
Namespace Name Mixin selector named encodeLnet/minecraft/registry/entry/RegistryElementCodec;encode(Lnet/minecraft/registry/entry/RegistryEntry;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;intermediary method_29748Lnet/minecraft/class_5381;method_29748(Lnet/minecraft/class_6880;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;official aLakn;a(Ljm;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
-
decode
public <T> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<RegistryEntry<E>,T>> decode(com.mojang.serialization.DynamicOps<T> ops, T input) - Specified by:
decodein interfacecom.mojang.serialization.Decoder<E>- Mappings:
Namespace Name Mixin selector named decodeLnet/minecraft/registry/entry/RegistryElementCodec;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;intermediary decodeLnet/minecraft/class_5381;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;official decodeLakn;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
-
toString
-