Package net.minecraft.util.registry
Interface DynamicRegistryManager
- All Known Subinterfaces:
DynamicRegistryManager.Immutable,DynamicRegistryManager.Mutable
- All Known Implementing Classes:
DynamicRegistryManager.ImmutableImpl,DynamicRegistryManager.MutableImpl
public interface DynamicRegistryManager
A manager of dynamic registries. It allows users to access non-hardcoded
registries reliably.
Each minecraft server has a dynamic registry manager for file-loaded registries, while each client play network handler has a dynamic registry manager for server-sent dynamic registries.
The
class serves as an immutable implementation of any particular collection
or configuration of dynamic registries.invalid @link
DynamicRegistryManager.Impl
- Mappings:
Namespace Name official haintermediary net/minecraft/class_5455named net/minecraft/util/registry/DynamicRegistryManager
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordstatic interfacestatic final classstatic final recordRepresents the serialization behavior of the registries, including the id of the registry, the codec for its elements, and whether the registry should be sent to the client.static interfacestatic final class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Supplier<DynamicRegistryManager.Immutable>static final com.mojang.serialization.Codec<DynamicRegistryManager>static final Map<RegistryKey<? extends Registry<?>>,DynamicRegistryManager.Info<?>> static final org.slf4j.Logger -
Method Summary
Modifier and TypeMethodDescriptionprivate static <E> voidaddEntriesToLoad(DynamicRegistryManager.Mutable registryManager, EntryLoader.Impl entryLoader, DynamicRegistryManager.Info<E> info) private static <E> com.mojang.serialization.Codec<DynamicRegistryManager>private static <K extends RegistryKey<? extends Registry<?>>,V extends Registry<?>>
com.mojang.serialization.Codec<DynamicRegistryManager>createCodec(com.mojang.serialization.codecs.UnboundedMapCodec<K, V> originalCodec) static DynamicRegistryManagercreateDynamicRegistryManager(com.mojang.serialization.Dynamic<?> dynamic) private static Map<RegistryKey<? extends Registry<?>>,? extends MutableRegistry<?>> private static DynamicRegistryManager.Mutablestatic <E> Registry<E>createRegistry(RegistryKey<? extends Registry<? extends E>> registryRef, com.mojang.serialization.Dynamic<?> dynamic) static <E> MutableRegistry<?>createSimpleRegistry(RegistryKey<? extends Registry<?>> registryRef) default <E> Registry<E>get(RegistryKey<? extends Registry<? extends E>> key) Retrieves a registry from this manager orRegistry.REGISTRIES, or throws an exception when the registry does not exist.static Iterable<DynamicRegistryManager.Info<?>>getInfos()default <E> Registry<E>getManaged(RegistryKey<? extends Registry<? extends E>> key) Retrieves a registry from this manager, or throws an exception when the registry does not exist.private static <E> com.mojang.serialization.DataResult<? extends com.mojang.serialization.Codec<E>>getNetworkEntryCodec(RegistryKey<? extends Registry<E>> registryKey) getOptional(RegistryKey<? extends Registry<? extends E>> key) getOptionalManaged(RegistryKey<? extends Registry<? extends E>> key) Retrieves a registry optionally from this manager.private static <E> voidload(com.mojang.serialization.DynamicOps<JsonElement> ops, RegistryLoader.LoaderAccess loaderAccess, DynamicRegistryManager.Info<E> info) Loads elements from theopsinto the registry specified byinfowithin themanager.static voidload(DynamicRegistryManager.Mutable dynamicRegistryManager, com.mojang.serialization.DynamicOps<JsonElement> ops, RegistryLoader registryLoader) Loads a dynamic registry manager from the resource manager's data files.private static <E> voidregister(ImmutableMap.Builder<RegistryKey<? extends Registry<?>>, DynamicRegistryManager.Info<?>> infosBuilder, RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> entryCodec) private static <E> voidregister(ImmutableMap.Builder<RegistryKey<? extends Registry<?>>, DynamicRegistryManager.Info<?>> infosBuilder, RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> entryCodec, com.mojang.serialization.Codec<E> networkEntryCodec) static <E> booleanshouldSkipLoading(RegistryKey<? extends Registry<E>> registryRef) default Stream<DynamicRegistryManager.Entry<?>>private static Stream<DynamicRegistryManager.Entry<Object>>private Stream<DynamicRegistryManager.Entry<?>>default Stream<DynamicRegistryManager.Entry<?>>default DynamicRegistryManager.Immutable
-
Field Details
-
LOGGER
static final org.slf4j.Logger LOGGER- Mappings:
Namespace Name Mixin selector official aLha;a:Lorg/slf4j/Logger;intermediary field_25918Lnet/minecraft/class_5455;field_25918:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/util/registry/DynamicRegistryManager;LOGGER:Lorg/slf4j/Logger;
-
INFOS
- Mappings:
Namespace Name Mixin selector official bLha;b:Ljava/util/Map;intermediary field_25919Lnet/minecraft/class_5455;field_25919:Ljava/util/Map;named INFOSLnet/minecraft/util/registry/DynamicRegistryManager;INFOS:Ljava/util/Map;
-
CODEC
- Mappings:
Namespace Name Mixin selector official cLha;c:Lcom/mojang/serialization/Codec;intermediary field_36469Lnet/minecraft/class_5455;field_36469:Lcom/mojang/serialization/Codec;named CODECLnet/minecraft/util/registry/DynamicRegistryManager;CODEC:Lcom/mojang/serialization/Codec;
-
BUILTIN
- Mappings:
Namespace Name Mixin selector official dLha;d:Ljava/util/function/Supplier;intermediary field_26733Lnet/minecraft/class_5455;field_26733:Ljava/util/function/Supplier;named BUILTINLnet/minecraft/util/registry/DynamicRegistryManager;BUILTIN:Ljava/util/function/Supplier;
-
-
Method Details
-
getOptionalManaged
Retrieves a registry optionally from this manager.- Mappings:
Namespace Name Mixin selector official aLha;a(Lyo;)Ljava/util/Optional;intermediary method_30527Lnet/minecraft/class_5455;method_30527(Lnet/minecraft/class_5321;)Ljava/util/Optional;named getOptionalManagedLnet/minecraft/util/registry/DynamicRegistryManager;getOptionalManaged(Lnet/minecraft/util/registry/RegistryKey;)Ljava/util/Optional;
-
getManaged
Retrieves a registry from this manager, or throws an exception when the registry does not exist.- Throws:
IllegalStateException- if the registry does not exist- Mappings:
Namespace Name Mixin selector official bLha;b(Lyo;)Lgz;intermediary method_33309Lnet/minecraft/class_5455;method_33309(Lnet/minecraft/class_5321;)Lnet/minecraft/class_2378;named getManagedLnet/minecraft/util/registry/DynamicRegistryManager;getManaged(Lnet/minecraft/util/registry/RegistryKey;)Lnet/minecraft/util/registry/Registry;
-
getOptional
default <E> Optional<? extends Registry<E>> getOptional(RegistryKey<? extends Registry<? extends E>> key) - Mappings:
Namespace Name Mixin selector official cLha;c(Lyo;)Ljava/util/Optional;intermediary method_33310Lnet/minecraft/class_5455;method_33310(Lnet/minecraft/class_5321;)Ljava/util/Optional;named getOptionalLnet/minecraft/util/registry/DynamicRegistryManager;getOptional(Lnet/minecraft/util/registry/RegistryKey;)Ljava/util/Optional;
-
get
Retrieves a registry from this manager orRegistry.REGISTRIES, or throws an exception when the registry does not exist.- Throws:
IllegalStateException- if the registry does not exist- Mappings:
Namespace Name Mixin selector official dLha;d(Lyo;)Lgz;intermediary method_30530Lnet/minecraft/class_5455;method_30530(Lnet/minecraft/class_5321;)Lnet/minecraft/class_2378;named getLnet/minecraft/util/registry/DynamicRegistryManager;get(Lnet/minecraft/util/registry/RegistryKey;)Lnet/minecraft/util/registry/Registry;
-
register
private static <E> void register(ImmutableMap.Builder<RegistryKey<? extends Registry<?>>, DynamicRegistryManager.Info<?>> infosBuilder, RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> entryCodec) - Mappings:
Namespace Name Mixin selector official aLha;a(Lcom/google/common/collect/ImmutableMap$Builder;Lyo;Lcom/mojang/serialization/Codec;)Vintermediary method_30520Lnet/minecraft/class_5455;method_30520(Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;)Vnamed registerLnet/minecraft/util/registry/DynamicRegistryManager;register(Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;)V
-
register
private static <E> void register(ImmutableMap.Builder<RegistryKey<? extends Registry<?>>, DynamicRegistryManager.Info<?>> infosBuilder, RegistryKey<? extends Registry<E>> registryRef, com.mojang.serialization.Codec<E> entryCodec, com.mojang.serialization.Codec<E> networkEntryCodec) - Mappings:
Namespace Name Mixin selector official aLha;a(Lcom/google/common/collect/ImmutableMap$Builder;Lyo;Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Vintermediary method_31060Lnet/minecraft/class_5455;method_31060(Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/class_5321;Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Vnamed registerLnet/minecraft/util/registry/DynamicRegistryManager;register(Lcom/google/common/collect/ImmutableMap$Builder;Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)V
-
getInfos
- Mappings:
Namespace Name Mixin selector official aLha;a()Ljava/lang/Iterable;intermediary method_39674Lnet/minecraft/class_5455;method_39674()Ljava/lang/Iterable;named getInfosLnet/minecraft/util/registry/DynamicRegistryManager;getInfos()Ljava/lang/Iterable;
-
streamManagedRegistries
Stream<DynamicRegistryManager.Entry<?>> streamManagedRegistries()- Mappings:
Namespace Name Mixin selector official bLha;b()Ljava/util/stream/Stream;intermediary method_40308Lnet/minecraft/class_5455;method_40308()Ljava/util/stream/Stream;named streamManagedRegistriesLnet/minecraft/util/registry/DynamicRegistryManager;streamManagedRegistries()Ljava/util/stream/Stream;
-
streamStaticRegistries
- Mappings:
Namespace Name Mixin selector official gLha;g()Ljava/util/stream/Stream;intermediary method_40318Lnet/minecraft/class_5455;method_40318()Ljava/util/stream/Stream;named streamStaticRegistriesLnet/minecraft/util/registry/DynamicRegistryManager;streamStaticRegistries()Ljava/util/stream/Stream;
-
streamAllRegistries
- Mappings:
Namespace Name Mixin selector official cLha;c()Ljava/util/stream/Stream;intermediary method_40311Lnet/minecraft/class_5455;method_40311()Ljava/util/stream/Stream;named streamAllRegistriesLnet/minecraft/util/registry/DynamicRegistryManager;streamAllRegistries()Ljava/util/stream/Stream;
-
streamSyncedRegistries
- Mappings:
Namespace Name Mixin selector official dLha;d()Ljava/util/stream/Stream;intermediary method_40313Lnet/minecraft/class_5455;method_40313()Ljava/util/stream/Stream;named streamSyncedRegistriesLnet/minecraft/util/registry/DynamicRegistryManager;streamSyncedRegistries()Ljava/util/stream/Stream;
-
createCodec
- Mappings:
Namespace Name Mixin selector official hLha;h()Lcom/mojang/serialization/Codec;intermediary method_40320Lnet/minecraft/class_5455;method_40320()Lcom/mojang/serialization/Codec;named createCodecLnet/minecraft/util/registry/DynamicRegistryManager;createCodec()Lcom/mojang/serialization/Codec;
-
createCodec
private static <K extends RegistryKey<? extends Registry<?>>,V extends Registry<?>> com.mojang.serialization.Codec<DynamicRegistryManager> createCodec(com.mojang.serialization.codecs.UnboundedMapCodec<K, V> originalCodec) - Mappings:
Namespace Name Mixin selector official aLha;a(Lcom/mojang/serialization/codecs/UnboundedMapCodec;)Lcom/mojang/serialization/Codec;intermediary method_40301Lnet/minecraft/class_5455;method_40301(Lcom/mojang/serialization/codecs/UnboundedMapCodec;)Lcom/mojang/serialization/Codec;named createCodecLnet/minecraft/util/registry/DynamicRegistryManager;createCodec(Lcom/mojang/serialization/codecs/UnboundedMapCodec;)Lcom/mojang/serialization/Codec;
-
streamSyncedManagedRegistries
- Mappings:
Namespace Name Mixin selector official iLha;i()Ljava/util/stream/Stream;intermediary method_40321Lnet/minecraft/class_5455;method_40321()Ljava/util/stream/Stream;named streamSyncedManagedRegistriesLnet/minecraft/util/registry/DynamicRegistryManager;streamSyncedManagedRegistries()Ljava/util/stream/Stream;
-
getNetworkEntryCodec
private static <E> com.mojang.serialization.DataResult<? extends com.mojang.serialization.Codec<E>> getNetworkEntryCodec(RegistryKey<? extends Registry<E>> registryKey) - Mappings:
Namespace Name Mixin selector official gLha;g(Lyo;)Lcom/mojang/serialization/DataResult;intermediary method_40319Lnet/minecraft/class_5455;method_40319(Lnet/minecraft/class_5321;)Lcom/mojang/serialization/DataResult;named getNetworkEntryCodecLnet/minecraft/util/registry/DynamicRegistryManager;getNetworkEntryCodec(Lnet/minecraft/util/registry/RegistryKey;)Lcom/mojang/serialization/DataResult;
-
createMutableRegistries
private static Map<RegistryKey<? extends Registry<?>>,? extends MutableRegistry<?>> createMutableRegistries()- Mappings:
Namespace Name Mixin selector official jLha;j()Ljava/util/Map;intermediary method_40323Lnet/minecraft/class_5455;method_40323()Ljava/util/Map;named createMutableRegistriesLnet/minecraft/util/registry/DynamicRegistryManager;createMutableRegistries()Ljava/util/Map;
-
createMutableRegistryManager
- Mappings:
Namespace Name Mixin selector official kLha;k()Lha$e;intermediary method_40325Lnet/minecraft/class_5455;method_40325()Lnet/minecraft/class_5455$class_6893;named createMutableRegistryManagerLnet/minecraft/util/registry/DynamicRegistryManager;createMutableRegistryManager()Lnet/minecraft/util/registry/DynamicRegistryManager$Mutable;
-
of
- Mappings:
Namespace Name Mixin selector official aLha;a(Lgz;)Lha$a;intermediary method_40302Lnet/minecraft/class_5455;method_40302(Lnet/minecraft/class_2378;)Lnet/minecraft/class_5455$class_6890;named ofLnet/minecraft/util/registry/DynamicRegistryManager;of(Lnet/minecraft/util/registry/Registry;)Lnet/minecraft/util/registry/DynamicRegistryManager$Immutable;
-
createAndLoad
- Mappings:
Namespace Name Mixin selector official eLha;e()Lha$e;intermediary method_40314Lnet/minecraft/class_5455;method_40314()Lnet/minecraft/class_5455$class_6893;named createAndLoadLnet/minecraft/util/registry/DynamicRegistryManager;createAndLoad()Lnet/minecraft/util/registry/DynamicRegistryManager$Mutable;
-
addEntriesToLoad
private static <E> void addEntriesToLoad(DynamicRegistryManager.Mutable registryManager, EntryLoader.Impl entryLoader, DynamicRegistryManager.Info<E> info) - Mappings:
Namespace Name Mixin selector official aLha;a(Lha$e;Lyn$a;Lha$c;)Vintermediary method_31141Lnet/minecraft/class_5455;method_31141(Lnet/minecraft/class_5455$class_6893;Lnet/minecraft/class_5506$class_5507;Lnet/minecraft/class_5455$class_5456;)Vnamed addEntriesToLoadLnet/minecraft/util/registry/DynamicRegistryManager;addEntriesToLoad(Lnet/minecraft/util/registry/DynamicRegistryManager$Mutable;Lnet/minecraft/util/dynamic/EntryLoader$Impl;Lnet/minecraft/util/registry/DynamicRegistryManager$Info;)V
-
shouldSkipLoading
- Mappings:
Namespace Name Mixin selector official eLha;e(Lyo;)Zintermediary method_40315Lnet/minecraft/class_5455;method_40315(Lnet/minecraft/class_5321;)Znamed shouldSkipLoadingLnet/minecraft/util/registry/DynamicRegistryManager;shouldSkipLoading(Lnet/minecraft/util/registry/RegistryKey;)Z
-
load
static void load(DynamicRegistryManager.Mutable dynamicRegistryManager, com.mojang.serialization.DynamicOps<JsonElement> ops, RegistryLoader registryLoader) Loads a dynamic registry manager from the resource manager's data files.- Mappings:
Namespace Name Mixin selector official aLha;a(Lha$e;Lcom/mojang/serialization/DynamicOps;Lyl;)Vintermediary method_30519Lnet/minecraft/class_5455;method_30519(Lnet/minecraft/class_5455$class_6893;Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/class_6900;)Vnamed loadLnet/minecraft/util/registry/DynamicRegistryManager;load(Lnet/minecraft/util/registry/DynamicRegistryManager$Mutable;Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/util/dynamic/RegistryLoader;)V
-
load
private static <E> void load(com.mojang.serialization.DynamicOps<JsonElement> ops, RegistryLoader.LoaderAccess loaderAccess, DynamicRegistryManager.Info<E> info) Loads elements from theopsinto the registry specified byinfowithin themanager. Note that the resource manager instance is kept within theops.- Mappings:
Namespace Name Mixin selector official aLha;a(Lcom/mojang/serialization/DynamicOps;Lyl$a;Lha$c;)Vintermediary method_30526Lnet/minecraft/class_5455;method_30526(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/class_6900$class_6901;Lnet/minecraft/class_5455$class_5456;)Vnamed loadLnet/minecraft/util/registry/DynamicRegistryManager;load(Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/util/dynamic/RegistryLoader$LoaderAccess;Lnet/minecraft/util/registry/DynamicRegistryManager$Info;)V
-
createDynamicRegistryManager
static DynamicRegistryManager createDynamicRegistryManager(com.mojang.serialization.Dynamic<?> dynamic) - Mappings:
Namespace Name Mixin selector official aLha;a(Lcom/mojang/serialization/Dynamic;)Lha;intermediary method_40299Lnet/minecraft/class_5455;method_40299(Lcom/mojang/serialization/Dynamic;)Lnet/minecraft/class_5455;named createDynamicRegistryManagerLnet/minecraft/util/registry/DynamicRegistryManager;createDynamicRegistryManager(Lcom/mojang/serialization/Dynamic;)Lnet/minecraft/util/registry/DynamicRegistryManager;
-
createRegistry
static <E> Registry<E> createRegistry(RegistryKey<? extends Registry<? extends E>> registryRef, com.mojang.serialization.Dynamic<?> dynamic) - Mappings:
Namespace Name Mixin selector official aLha;a(Lyo;Lcom/mojang/serialization/Dynamic;)Lgz;intermediary method_40307Lnet/minecraft/class_5455;method_40307(Lnet/minecraft/class_5321;Lcom/mojang/serialization/Dynamic;)Lnet/minecraft/class_2378;named createRegistryLnet/minecraft/util/registry/DynamicRegistryManager;createRegistry(Lnet/minecraft/util/registry/RegistryKey;Lcom/mojang/serialization/Dynamic;)Lnet/minecraft/util/registry/Registry;
-
createSimpleRegistry
- Mappings:
Namespace Name Mixin selector official fLha;f(Lyo;)Lhg;intermediary method_40317Lnet/minecraft/class_5455;method_40317(Lnet/minecraft/class_5321;)Lnet/minecraft/class_2385;named createSimpleRegistryLnet/minecraft/util/registry/DynamicRegistryManager;createSimpleRegistry(Lnet/minecraft/util/registry/RegistryKey;)Lnet/minecraft/util/registry/MutableRegistry;
-
toImmutable
- Mappings:
Namespace Name Mixin selector official fLha;f()Lha$a;intermediary method_40316Lnet/minecraft/class_5455;method_40316()Lnet/minecraft/class_5455$class_6890;named toImmutableLnet/minecraft/util/registry/DynamicRegistryManager;toImmutable()Lnet/minecraft/util/registry/DynamicRegistryManager$Immutable;
-