public class RegistryOps<T> extends ForwardingDynamicOps<T>
| Modifier and Type | Class and Description |
|---|---|
(package private) static class |
RegistryOps.ValueHolder<E> |
| Modifier and Type | Field and Description |
|---|---|
private static Logger |
LOGGER |
private DynamicRegistryManager.Impl |
registryManager |
private ResourceManager |
resourceManager |
private Map<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>> |
valueHolders |
delegate| Modifier | Constructor and Description |
|---|---|
private |
RegistryOps(com.mojang.serialization.DynamicOps<T> delegate,
ResourceManager resourceManager,
DynamicRegistryManager.Impl impl) |
| Modifier and Type | Method and 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)
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>> registryRef,
com.mojang.serialization.Codec<E> codec)
Loads elements into a registry just loaded from a decoder.
|
static <T> RegistryOps<T> |
of(com.mojang.serialization.DynamicOps<T> delegate,
ResourceManager resourceManager,
DynamicRegistryManager.Impl impl) |
private <E> com.mojang.serialization.DataResult<E> |
readElement(RegistryKey<? extends Registry<E>> registryRef,
RegistryKey<E> elementRef,
com.mojang.serialization.Codec<E> codec)
Reads the actual element.
|
private <E> com.mojang.serialization.DataResult<Supplier<E>> |
readSupplier(RegistryKey<? extends Registry<E>> registryRef,
MutableRegistry<E> mutableRegistry,
com.mojang.serialization.Codec<E> codec,
Identifier elementId)
Reads a supplier for a registry element.
|
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, removeprivate static final Logger LOGGER
private final ResourceManager resourceManager
private final DynamicRegistryManager.Impl registryManager
private final Map<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>> valueHolders
private RegistryOps(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, DynamicRegistryManager.Impl impl)
public static <T> RegistryOps<T> of(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, DynamicRegistryManager.Impl impl)
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)
This method is called by casting an arbitrary dynamic ops to a registry reading ops.
RegistryReadingOps#encodeOrId(Object, Object, RegistryKey, MapCodec)public <E> com.mojang.serialization.DataResult<SimpleRegistry<E>> loadToRegistry(SimpleRegistry<E> registry, RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> codec)
private <E> com.mojang.serialization.DataResult<Supplier<E>> readSupplier(RegistryKey<? extends Registry<E>> registryRef, MutableRegistry<E> mutableRegistry, com.mojang.serialization.Codec<E> codec, Identifier elementId)
This logic is used by both decodeOrId and loadToRegistry.
private <E> com.mojang.serialization.DataResult<E> readElement(RegistryKey<? extends Registry<E>> registryRef, RegistryKey<E> elementRef, com.mojang.serialization.Codec<E> codec)
private <E> RegistryOps.ValueHolder<E> getValueHolder(RegistryKey<? extends Registry<E>> registryRef)