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 RegistryTracker |
registryTracker |
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,
RegistryTracker registryTracker) |
| Modifier and Type | Method and 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.
|
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 RegistryTracker registryTracker
private final Map<RegistryKey<? extends Registry<?>>,RegistryOps.ValueHolder<?>> valueHolders
private RegistryOps(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, RegistryTracker registryTracker)
public static <T> RegistryOps<T> of(com.mojang.serialization.DynamicOps<T> delegate, ResourceManager resourceManager, RegistryTracker registryTracker)
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)
This method is called by casting an arbitrary dynamic ops to a registry reading ops.
RegistryReadingOps#encodeOrId(Object, Object, RegistryKey, Codec)public <E> com.mojang.serialization.DataResult<SimpleRegistry<E>> loadToRegistry(SimpleRegistry<E> registry, RegistryKey<Registry<E>> registryRef, com.mojang.serialization.MapCodec<E> mapCodec)
private <E> com.mojang.serialization.DataResult<Supplier<E>> readSupplier(RegistryKey<Registry<E>> registryRef, MutableRegistry<E> registry, com.mojang.serialization.MapCodec<E> mapCodec, Identifier elementId)
This logic is used by both decodeOrId and loadToRegistry.
private <E> com.mojang.serialization.DataResult<E> readElement(RegistryKey<Registry<E>> registryRef, RegistryKey<E> elementRef, com.mojang.serialization.MapCodec<E> mapCodec)
private <E> RegistryOps.ValueHolder<E> getValueHolder(RegistryKey<Registry<E>> registryRef)