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 DynamicRegistryManager.ImmutableImpl
class serves as an immutable implementation of any particular collection
or configuration of dynamic registries.
- Mappings:
Namespace Name official hnintermediary 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(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.default com.mojang.serialization.Lifecycleprivate 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) 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 aLhn;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 bLhn;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 cLhn;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 dLhn;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 aLhn;a(Laai;)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 bLhn;b(Laai;)Lhm;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 cLhn;c(Laai;)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 dLhn;d(Laai;)Lhm;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 aLhn;a(Lcom/google/common/collect/ImmutableMap$Builder;Laai;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 aLhn;a(Lcom/google/common/collect/ImmutableMap$Builder;Laai;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 aLhn;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 bLhn;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 hLhn;h()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 cLhn;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 dLhn;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 iLhn;i()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 aLhn;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 jLhn;j()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 fLhn;f(Laai;)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 kLhn;k()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 lLhn;l()Lhn$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 aLhn;a(Lhm;)Lhn$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 eLhn;e()Lhn$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(EntryLoader.Impl entryLoader, DynamicRegistryManager.Info<E> info) - Mappings:
Namespace Name Mixin selector official aLhn;a(Laah$b;Lhn$c;)Vintermediary method_31141Lnet/minecraft/class_5455;method_31141(Lnet/minecraft/class_5506$class_5507;Lnet/minecraft/class_5455$class_5456;)Vnamed addEntriesToLoadLnet/minecraft/util/registry/DynamicRegistryManager;addEntriesToLoad(Lnet/minecraft/util/dynamic/EntryLoader$Impl;Lnet/minecraft/util/registry/DynamicRegistryManager$Info;)V
-
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 aLhn;a(Lhn$e;Lcom/mojang/serialization/DynamicOps;Laaf;)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 aLhn;a(Lcom/mojang/serialization/DynamicOps;Laaf$a;Lhn$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 aLhn;a(Lcom/mojang/serialization/Dynamic;)Lhn;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 aLhn;a(Laai;Lcom/mojang/serialization/Dynamic;)Lhm;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 eLhn;e(Laai;)Lht;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 fLhn;f()Lhn$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;
-
getRegistryLifecycle
default com.mojang.serialization.Lifecycle getRegistryLifecycle()- Mappings:
Namespace Name Mixin selector official gLhn;g()Lcom/mojang/serialization/Lifecycle;intermediary method_41201Lnet/minecraft/class_5455;method_41201()Lcom/mojang/serialization/Lifecycle;named getRegistryLifecycleLnet/minecraft/util/registry/DynamicRegistryManager;getRegistryLifecycle()Lcom/mojang/serialization/Lifecycle;
-