Package net.minecraft.util.dynamic
Class RegistryOps<T>
java.lang.Object
net.minecraft.util.dynamic.ForwardingDynamicOps<T>
net.minecraft.util.dynamic.RegistryOps<T>
- All Implemented Interfaces:
com.mojang.serialization.DynamicOps<T>
public class RegistryOps<T> extends ForwardingDynamicOps<T>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classRegistryOps.ValueHolder<E> -
Field Summary
Fields Modifier and Type Field Description private static LoggerLOGGERprivate RegistryTrackerregistryTrackerprivate ResourceManagerresourceManagerprivate Map<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>>valueHolders -
Constructor Summary
Constructors Modifier Constructor Description privateRegistryOps(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, RegistryTracker registryTracker) -
Method Summary
Modifier and Type Method Description protected <E> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,T>>decodeOrId(T t, RegistryKey<Registry<E>> registryKey, com.mojang.serialization.MapCodec<E> mapCodec)Encode an id for a registry element than a full object if possible.private <E> RegistryOps.ValueHolder<E>getValueHolder(RegistryKey<Registry<E>> registryRef)<E> com.mojang.serialization.DataResult<SimpleRegistry<E>>loadToRegistry(SimpleRegistry<E> registry, RegistryKey<Registry<E>> registryRef, com.mojang.serialization.MapCodec<E> mapCodec)Loads elements into a registry just loaded from a decoder.static <T> RegistryOps<T>of(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, RegistryTracker registryTracker)private <E> com.mojang.serialization.DataResult<E>readElement(RegistryKey<Registry<E>> registryRef, RegistryKey<E> elementRef, com.mojang.serialization.MapCodec<E> mapCodec)Reads the actual element.private <E> com.mojang.serialization.DataResult<Supplier<E>>readSupplier(RegistryKey<Registry<E>> registryRef, MutableRegistry<E> registry, com.mojang.serialization.MapCodec<E> mapCodec, Identifier elementId)Reads a supplier for a registry element.Methods inherited from class net.minecraft.util.dynamic.ForwardingDynamicOps
compressMaps, convertTo, createBoolean, createByte, createByteList, createDouble, createFloat, createInt, createIntList, createList, createLong, createLongList, createMap, createNumeric, createShort, createString, empty, getBooleanValue, getByteBuffer, getIntStream, getList, getLongStream, getMap, getMapEntries, getMapValues, getNumberValue, getStream, getStringValue, listBuilder, mapBuilder, mergeToList, mergeToList, mergeToMap, mergeToMap, remove
-
Field Details
-
Constructor Details
-
RegistryOps
private RegistryOps(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, RegistryTracker registryTracker)
-
-
Method Details
-
of
public static <T> RegistryOps<T> of(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, RegistryTracker registryTracker) -
decodeOrId
protected <E> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,T>> decodeOrId(T t, RegistryKey<Registry<E>> registryKey, com.mojang.serialization.MapCodec<E> mapCodec)Encode an id for a registry element than a full object if possible.This method is called by casting an arbitrary dynamic ops to a registry reading ops.
- See Also:
RegistryReadingOps#encodeOrId(Object, Object, RegistryKey, Codec)
-
loadToRegistry
public <E> com.mojang.serialization.DataResult<SimpleRegistry<E>> loadToRegistry(SimpleRegistry<E> registry, RegistryKey<Registry<E>> registryRef, com.mojang.serialization.MapCodec<E> mapCodec)Loads elements into a registry just loaded from a decoder. -
readSupplier
private <E> com.mojang.serialization.DataResult<Supplier<E>> readSupplier(RegistryKey<Registry<E>> registryRef, MutableRegistry<E> registry, com.mojang.serialization.MapCodec<E> mapCodec, Identifier elementId)Reads a supplier for a registry element.This logic is used by both
decodeOrIdandloadToRegistry. -
readElement
private <E> com.mojang.serialization.DataResult<E> readElement(RegistryKey<Registry<E>> registryRef, RegistryKey<E> elementRef, com.mojang.serialization.MapCodec<E> mapCodec)Reads the actual element. -
getValueHolder
-