Package net.minecraft.util.dynamic
Class RegistryElementCodec<E>
java.lang.Object
net.minecraft.util.dynamic.RegistryElementCodec<E>
- Type Parameters:
E- the element type
- All Implemented Interfaces:
com.mojang.serialization.Codec<Supplier<E>>,com.mojang.serialization.Decoder<Supplier<E>>,com.mojang.serialization.Encoder<Supplier<E>>
public final class RegistryElementCodec<E> extends Object implements com.mojang.serialization.Codec<Supplier<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:
RegistryCodec,RegistryReadingOps,RegistryOps- Mappings:
Namespace Name official vwintermediary net/minecraft/class_5381named net/minecraft/util/dynamic/RegistryElementCodec
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.mojang.serialization.Codec
com.mojang.serialization.Codec.ResultFunction<A extends Object> -
Field Summary
Fields Modifier and Type Field Description private booleanallowInlineDefinitionsprivate com.mojang.serialization.Codec<E>elementCodecprivate RegistryKey<? extends Registry<E>>registryRefFields 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
Constructors Modifier Constructor Description privateRegistryElementCodec(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions) -
Method Summary
Modifier and Type Method Description <T> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,T>>decode(com.mojang.serialization.DynamicOps<T> ops, T input)<T> com.mojang.serialization.DataResult<T>encode(Supplier<E> supplier, com.mojang.serialization.DynamicOps<T> dynamicOps, T t)static <E> com.mojang.serialization.Codec<List<Supplier<E>>>method_31194(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)private static <E> RegistryElementCodec<E>of(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions)StringtoString()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, listOf, mapResult, optionalFieldOf, optionalFieldOf, optionalFieldOf, optionalFieldOf, orElse, orElse, orElse, orElseGet, orElseGet, orElseGet, partialDispatch, promotePartial, stable, 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 official aLvw;a:Lwa;intermediary field_25507Lnet/minecraft/class_5381;field_25507:Lnet/minecraft/class_5321;named registryRefLnet/minecraft/util/dynamic/RegistryElementCodec;registryRef:Lnet/minecraft/util/registry/RegistryKey;
-
elementCodec
- Mappings:
Namespace Name Mixin selector official bLvw;b:Lcom/mojang/serialization/Codec;intermediary field_25508Lnet/minecraft/class_5381;field_25508:Lcom/mojang/serialization/Codec;named elementCodecLnet/minecraft/util/dynamic/RegistryElementCodec;elementCodec:Lcom/mojang/serialization/Codec;
-
allowInlineDefinitions
private final boolean allowInlineDefinitions- Mappings:
Namespace Name Mixin selector official cLvw;c:Zintermediary field_26758Lnet/minecraft/class_5381;field_26758:Znamed allowInlineDefinitionsLnet/minecraft/util/dynamic/RegistryElementCodec;allowInlineDefinitions:Z
-
-
Constructor Details
-
RegistryElementCodec
private RegistryElementCodec(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions)- Mappings:
Namespace Name Mixin selector official <init>Lvw;<init>(Lwa;Lcom/mojang/serialization/Codec;Z)Vintermediary <init>Lnet/minecraft/class_5381;<init>(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Z)Vnamed <init>Lnet/minecraft/util/dynamic/RegistryElementCodec;<init>(Lnet/minecraft/util/registry/RegistryKey;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 official aLvw;a(Lwa;Lcom/mojang/serialization/Codec;)Lvw;intermediary method_29749Lnet/minecraft/class_5381;method_29749(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;)Lnet/minecraft/class_5381;named ofLnet/minecraft/util/dynamic/RegistryElementCodec;of(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;)Lnet/minecraft/util/dynamic/RegistryElementCodec;
-
method_31194
public static <E> com.mojang.serialization.Codec<List<Supplier<E>>> method_31194(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec)- Mappings:
Namespace Name Mixin selector official bLvw;b(Lwa;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;intermediary method_31194Lnet/minecraft/class_5381;method_31194(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;named method_31194Lnet/minecraft/util/dynamic/RegistryElementCodec;method_31194(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/Codec;
-
of
private static <E> RegistryElementCodec<E> of(RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> elementCodec, boolean allowInlineDefinitions)- Mappings:
Namespace Name Mixin selector official aLvw;a(Lwa;Lcom/mojang/serialization/Codec;Z)Lvw;intermediary method_31192Lnet/minecraft/class_5381;method_31192(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Z)Lnet/minecraft/class_5381;named ofLnet/minecraft/util/dynamic/RegistryElementCodec;of(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;Z)Lnet/minecraft/util/dynamic/RegistryElementCodec;
-
encode
public <T> com.mojang.serialization.DataResult<T> encode(Supplier<E> supplier, com.mojang.serialization.DynamicOps<T> dynamicOps, T t)- Specified by:
encodein interfacecom.mojang.serialization.Encoder<E>- Mappings:
Namespace Name Mixin selector official aLvw;a(Ljava/util/function/Supplier;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;intermediary method_29748Lnet/minecraft/class_5381;method_29748(Ljava/util/function/Supplier;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;named encodeLnet/minecraft/util/dynamic/RegistryElementCodec;encode(Ljava/util/function/Supplier;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
-
decode
public <T> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,T>> decode(com.mojang.serialization.DynamicOps<T> ops, T input)- Specified by:
decodein interfacecom.mojang.serialization.Decoder<E>- Mappings:
Namespace Name Mixin selector official decodeLvw;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;named decodeLnet/minecraft/util/dynamic/RegistryElementCodec;decode(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
-
toString
-