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 static interface
RegistryOps.EntryLoader
(package private) static class
RegistryOps.ValueHolder<E>
-
Field Summary
Fields Modifier and Type Field Description private RegistryOps.EntryLoader
entryLoader
private RegistryOps<JsonElement>
entryOps
private static Logger
LOGGER
private DynamicRegistryManager.Impl
registryManager
private Map<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>>
valueHolders
Fields inherited from class net.minecraft.util.dynamic.ForwardingDynamicOps
delegate
-
Constructor Summary
Constructors Modifier Constructor Description private
RegistryOps(com.mojang.serialization.DynamicOps<T> delegate, RegistryOps.EntryLoader entryLoader, DynamicRegistryManager.Impl impl, IdentityHashMap<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>> identityHashMap)
-
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<? extends Registry<E>> registryKey, com.mojang.serialization.Codec<E> codec, boolean allowInlineDefinitions)
Encode an id for a registry element than a full object if possible.private <E> RegistryOps.ValueHolder<E>
getValueHolder(RegistryKey<? extends Registry<E>> registryRef)
<E> com.mojang.serialization.DataResult<SimpleRegistry<E>>
loadToRegistry(SimpleRegistry<E> registry, RegistryKey<? extends Registry<E>> registryKey, com.mojang.serialization.Codec<E> codec)
Loads elements into a registry just loaded from a decoder.protected <E> com.mojang.serialization.DataResult<Registry<E>>
method_31152(RegistryKey<? extends Registry<E>> registryKey)
static <T> RegistryOps<T>
of(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, DynamicRegistryManager.Impl impl)
static <T> RegistryOps<T>
of(com.mojang.serialization.DynamicOps<T> dynamicOps, RegistryOps.EntryLoader entryLoader, DynamicRegistryManager.Impl impl)
private <E> com.mojang.serialization.DataResult<Supplier<E>>
readSupplier(RegistryKey<? extends Registry<E>> registryKey, MutableRegistry<E> mutableRegistry, com.mojang.serialization.Codec<E> codec, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.mojang.serialization.DynamicOps
convertList, convertMap, createMap, emptyList, emptyMap, get, getGeneric, getNumberValue, mergeToMap, mergeToPrimitive, set, update, updateGeneric, withDecoder, withEncoder, withParser
-
Field Details
-
LOGGER
-
entryLoader
-
registryManager
-
valueHolders
-
entryOps
-
-
Constructor Details
-
RegistryOps
private RegistryOps(com.mojang.serialization.DynamicOps<T> delegate, RegistryOps.EntryLoader entryLoader, DynamicRegistryManager.Impl impl, IdentityHashMap<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>> identityHashMap)
-
-
Method Details
-
of
public static <T> RegistryOps<T> of(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, DynamicRegistryManager.Impl impl) -
of
public static <T> RegistryOps<T> of(com.mojang.serialization.DynamicOps<T> dynamicOps, RegistryOps.EntryLoader entryLoader, DynamicRegistryManager.Impl impl) -
decodeOrId
protected <E> com.mojang.serialization.DataResult<com.mojang.datafixers.util.Pair<Supplier<E>,T>> decodeOrId(T t, RegistryKey<? extends Registry<E>> registryKey, com.mojang.serialization.Codec<E> codec, boolean allowInlineDefinitions)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.
-
loadToRegistry
public <E> com.mojang.serialization.DataResult<SimpleRegistry<E>> loadToRegistry(SimpleRegistry<E> registry, RegistryKey<? extends Registry<E>> registryKey, com.mojang.serialization.Codec<E> codec)Loads elements into a registry just loaded from a decoder. -
readSupplier
private <E> com.mojang.serialization.DataResult<Supplier<E>> readSupplier(RegistryKey<? extends Registry<E>> registryKey, MutableRegistry<E> mutableRegistry, com.mojang.serialization.Codec<E> codec, Identifier elementId)Reads a supplier for a registry element.This logic is used by both
decodeOrId
andloadToRegistry
. -
getValueHolder
private <E> RegistryOps.ValueHolder<E> getValueHolder(RegistryKey<? extends Registry<E>> registryRef) -
method_31152
protected <E> com.mojang.serialization.DataResult<Registry<E>> method_31152(RegistryKey<? extends Registry<E>> registryKey)
-