yarn/mappings/net/minecraft/util/registry/Registry.mapping

617 lines
34 KiB
Plaintext

CLASS net/minecraft/class_2378 net/minecraft/util/registry/Registry
COMMENT A registry is used to register various in-game components. Almost all parts of the
COMMENT game - from blocks, items, and entity types, to cat types, goat horn instruments,
COMMENT and structure pools - are registered in registries. Registry system allows the game
COMMENT to enumerate all known types of something, and to assign a unique identifier to each
COMMENT of those. Therefore, registering an object in the registry plays a very important
COMMENT role, and failure to register new instances of registerable object usually results
COMMENT in a bug or even a crash.
COMMENT
COMMENT <h2 id="terms">Terminologies</h2>
COMMENT <p>A <strong>registry</strong> is an object that holds the mapping between three things:
COMMENT the string ID, the numeric ID, and the registered value. There are many registries
COMMENT for different types of registerable objects, and a registry's type parameter indicates
COMMENT the accepted type. For example, you register your {@link Block} to {@code
COMMENT Registry<Block>}. It's important to note that registries themselves are registered
COMMENT in a "registry of registries", {@link #ROOT}.
COMMENT
COMMENT <p>The <strong>string ID</strong>, usually just called "ID", is a human-readable
COMMENT {@link Identifier} that uniquely identifies the registered value in a registry.
COMMENT This should stay the same between two game versions, and is usually used for disk
COMMENT storage.
COMMENT
COMMENT <p>The <strong>numeric ID</strong> or <strong>raw ID</strong> is an integer
COMMENT assigned automatically by the registry to each registered value. This is not
COMMENT guaranteed to stay the same between two game versions, and is usually used for
COMMENT networking purposes.
COMMENT
COMMENT <p>The <strong>registered value</strong>, often just called "value" in the code,
COMMENT is the value added to the registry. The registry's type parameter determines
COMMENT the type of the registered value.
COMMENT
COMMENT <p>Each registered value can also be identified with a <strong>{@linkplain RegistryKey
COMMENT registry key}</strong>. A registry key is a combination of the registry's ID and
COMMENT the registered value's ID. Using a registry key makes the type of the ID's
COMMENT associated value clear, as the type parameter contains the type.
COMMENT
COMMENT <p>A <strong>{@linkplain RegistryEntry registry entry}</strong> is an object
COMMENT holding a value that can be registered in a registry. In most cases, the
COMMENT value is already registered in a registry ("reference entry"), hence the name;
COMMENT however, it is possible to create a registry entry by direct reference
COMMENT ("direct entry"). This is useful for data packs, as they can define
COMMENT one-time use values directly without having to register them every time.
COMMENT
COMMENT <p>A <strong>{@link RegistryEntryList registry entry list}</strong> is a list
COMMENT of registry entries. This, is either a direct reference to each item, or
COMMENT a reference to a tag. A <strong>tag</strong> is a way to dynamically
COMMENT define a list of registered values. Anything registered in a registry
COMMENT can be tagged, and each registry holds a list of tags it recognizes.
COMMENT
COMMENT <h2 id="static-and-dynamic-registries">Static and dynamic registries</h2>
COMMENT <p>There are two kinds of registries: static and dynamic.
COMMENT
COMMENT <ul>
COMMENT <li>A <strong>static registry</strong> is a registry whose values are hard-coded
COMMENT in the game and cannot be added or modified through data packs. Most registries
COMMENT are static. Since they cannot be modified (without mods), it is a singleton,
COMMENT and exists in this class. During the game bootstrap, vanilla objects are
COMMENT registered, after which the registry gets frozen to prohibit further changes.</li>
COMMENT
COMMENT <li>A <strong>dynamic registry</strong> is a registry whose values can be
COMMENT added or replaced through data packs. Vanilla values are registered in
COMMENT {@link BuiltinRegistries}. When a server starts, {@link DynamicRegistryManager}
COMMENT (also known as "DRM") creates a copy of the vanilla registries, and loads the
COMMENT registry value definitions in all enabled data packs. Therefore, a dynamic
COMMENT registry is bound to a server, and multiple registries for the same type of
COMMENT registerable object can exist during the lifetime of the game. When a player
COMMENT joins, the server sends the contents of the dynamic registry manager to
COMMENT the client, but only "network serializable" registries are sent.
COMMENT To access a dynamic registry, first get an instance of the dynamic registry
COMMENT manager, then call the {@link DynamicRegistryManager#get} method. The
COMMENT dynamic registry manager can be obtained {@linkplain
COMMENT net.minecraft.server.MinecraftServer#getRegistryManager from the server} or
COMMENT {@linkplain net.minecraft.client.network.ClientPlayNetworkHandler#getRegistryManager
COMMENT from the client network handler}.</li>
COMMENT </ul>
COMMENT
COMMENT <h2 id="using">Using Registry</h2>
COMMENT <h3 id="reading">Reading Registry</h3>
COMMENT <p>A registry is also an {@link IndexedIterable}. Therefore, registries can be
COMMENT iterated using, e.g. {@code for (Block block : Registry.BLOCK)}.
COMMENT
COMMENT <p>There are several other methods used for reading the contents of the registry:
COMMENT <ul>
COMMENT <li>{@link #entryOf} or {@link #getEntry(RegistryEntry)} for getting the registry entry
COMMENT from the key.</li>
COMMENT <li>{@link #get(Identifier)} or {@link #get(RegistryKey)} for getting the registered
COMMENT value from the ID or the registry key.</li>
COMMENT <li>{@link #getId(Object)} for getting the ID of a registered value.</li>
COMMENT <li>{@link #getEntry(int)} for getting the registry entry from the raw ID.</li>
COMMENT <li>{@link #getEntryList} and {@link #iterateEntries} for getting the contents of a tag,</li>
COMMENT <li>{@link #streamTags} for streaming all tags of a registry.</li>
COMMENT </ul>
COMMENT
COMMENT <h3 id="registering">Registering something to Registry</h3>
COMMENT <p>The steps for registration are different, depending on whether the registry is static
COMMENT or dynamic. For dynamic registries, data packs can usually be used to register a new
COMMENT value or replace one. For static registries, the game's code must be modified.
COMMENT
COMMENT <p>Static registries are defined in this class, and unlike the dynamic registries, it
COMMENT cannot be changed after the game initialization. The game enforces this by "freezing"
COMMENT the registry. Attempting to register a value after freezing causes a crash, such as
COMMENT "Registry is already frozen". Modding APIs usually provide a way to bypass this restriction.
COMMENT
COMMENT <p>To register a value to a dynamic registry, register to a registry found in {@link
COMMENT BuiltinRegistries}. Values registered in those registries are available in all worlds.
COMMENT
COMMENT <p>In both cases, use {@link #register(Registry, Identifier, Object)} for registering
COMMENT a value to a registry.
COMMENT
COMMENT <h3 id="intrusive-holders">Intrusive holders</h3>
COMMENT <p>For historical reasons, there are two types of reference registry entries.
COMMENT (This is different from the "direct" and "reference" registry entry types.)
COMMENT
COMMENT <ul>
COMMENT <li><strong>Intrusive holders</strong> are registry entries tied to a specific
COMMENT registerable object at instantiation time. When instantiating those, it promises
COMMENT that the object is later registered - which, if broken, will result in a crash.
COMMENT This is used for {@link #BLOCK}, {@link #ITEM}, {@link #FLUID}, {@link #ENTITY_TYPE},
COMMENT and {@link #GAME_EVENT} registries.</li>
COMMENT <li><strong>Standalone holders</strong> are registry entries that are not intrusive.
COMMENT There is no restriction on instantiation.</li>
COMMENT </ul>
COMMENT
COMMENT <p>When a class whose instances are registered as intrusive holders, such as
COMMENT {@link Block} or {@link Item}, are instantiated without registering, the game
COMMENT crashes with "Some intrusive holders were not added to registry" error message.
COMMENT <strong>This includes conditional registration</strong>. For example, the code
COMMENT below can cause a crash:
COMMENT
COMMENT <pre>{@code
COMMENT Item myItem = new Item(new Item.Settings());
COMMENT if (condition) {
COMMENT Registry.register(Registry.ITEM, new Identifier("example", "bad"), myItem);
COMMENT }
COMMENT }</pre>
COMMENT
COMMENT <p>The correct way is to make the instantiation conditional as well:
COMMENT
COMMENT <pre>{@code
COMMENT if (condition) {
COMMENT Item myItem = new Item(new Item.Settings());
COMMENT Registry.register(Registry.ITEM, new Identifier("example", "bad"), myItem);
COMMENT }
COMMENT }</pre>
FIELD field_11137 BLOCK_ENTITY_TYPE Lnet/minecraft/class_2378;
FIELD field_11138 FEATURE Lnet/minecraft/class_2378;
FIELD field_11139 LOGGER Lorg/slf4j/Logger;
FIELD field_11140 DEFAULT_ENTRIES Ljava/util/Map;
FIELD field_11141 PARTICLE_TYPE Lnet/minecraft/class_2378;
FIELD field_11142 ITEM Lnet/minecraft/class_2348;
FIELD field_11143 POTION Lnet/minecraft/class_2348;
FIELD field_11144 REGISTRIES Lnet/minecraft/class_2378;
FIELD field_11145 ENTITY_TYPE Lnet/minecraft/class_2348;
FIELD field_11146 BLOCK Lnet/minecraft/class_2348;
FIELD field_11150 PAINTING_VARIANT Lnet/minecraft/class_2348;
FIELD field_11152 STAT_TYPE Lnet/minecraft/class_2378;
FIELD field_11154 FLUID Lnet/minecraft/class_2348;
FIELD field_11156 SOUND_EVENT Lnet/minecraft/class_2378;
FIELD field_11157 CARVER Lnet/minecraft/class_2378;
FIELD field_11158 CUSTOM_STAT Lnet/minecraft/class_2378;
FIELD field_11159 STATUS_EFFECT Lnet/minecraft/class_2378;
FIELD field_11160 ENCHANTMENT Lnet/minecraft/class_2378;
FIELD field_16643 CHUNK_STATUS Lnet/minecraft/class_2348;
FIELD field_16644 STRUCTURE_TYPE Lnet/minecraft/class_2378;
FIELD field_16645 STRUCTURE_PIECE Lnet/minecraft/class_2378;
FIELD field_16792 RULE_TEST Lnet/minecraft/class_2378;
FIELD field_16793 STRUCTURE_POOL_ELEMENT Lnet/minecraft/class_2378;
FIELD field_16794 STRUCTURE_PROCESSOR Lnet/minecraft/class_2378;
FIELD field_17166 VILLAGER_TYPE Lnet/minecraft/class_2348;
FIELD field_17167 VILLAGER_PROFESSION Lnet/minecraft/class_2348;
FIELD field_17429 SCREEN_HANDLER Lnet/minecraft/class_2378;
FIELD field_17597 RECIPE_TYPE Lnet/minecraft/class_2378;
FIELD field_17598 RECIPE_SERIALIZER Lnet/minecraft/class_2378;
FIELD field_18792 POINT_OF_INTEREST_TYPE Lnet/minecraft/class_2378;
FIELD field_18793 MEMORY_MODULE_TYPE Lnet/minecraft/class_2348;
FIELD field_18794 SENSOR_TYPE Lnet/minecraft/class_2348;
FIELD field_18795 SCHEDULE Lnet/minecraft/class_2378;
FIELD field_18796 ACTIVITY Lnet/minecraft/class_2378;
FIELD field_21445 BLOCK_STATE_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_21447 FOLIAGE_PLACER_TYPE Lnet/minecraft/class_2378;
FIELD field_21448 TREE_DECORATOR_TYPE Lnet/minecraft/class_2378;
FIELD field_23398 POS_RULE_TEST Lnet/minecraft/class_2378;
FIELD field_23781 ATTRIBUTE Lnet/minecraft/class_2378;
FIELD field_23782 TRUNK_PLACER_TYPE Lnet/minecraft/class_2378;
FIELD field_24331 FEATURE_SIZE_TYPE Lnet/minecraft/class_2378;
FIELD field_25068 TREE_DECORATOR_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25069 FEATURE_SIZE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25070 PARTICLE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25071 BIOME_SOURCE_KEY Lnet/minecraft/class_5321;
FIELD field_25072 CHUNK_GENERATOR_KEY Lnet/minecraft/class_5321;
FIELD field_25073 BLOCK_ENTITY_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25074 PAINTING_VARIANT_KEY Lnet/minecraft/class_5321;
FIELD field_25075 CUSTOM_STAT_KEY Lnet/minecraft/class_5321;
FIELD field_25076 CHUNK_STATUS_KEY Lnet/minecraft/class_5321;
FIELD field_25077 STRUCTURE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25078 STRUCTURE_PIECE_KEY Lnet/minecraft/class_5321;
FIELD field_25079 RULE_TEST_KEY Lnet/minecraft/class_5321;
FIELD field_25080 POS_RULE_TEST_KEY Lnet/minecraft/class_5321;
FIELD field_25081 STRUCTURE_PROCESSOR_KEY Lnet/minecraft/class_5321;
FIELD field_25082 STRUCTURE_POOL_ELEMENT_KEY Lnet/minecraft/class_5321;
FIELD field_25083 MENU_KEY Lnet/minecraft/class_5321;
FIELD field_25084 RECIPE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25085 RECIPE_SERIALIZER_KEY Lnet/minecraft/class_5321;
FIELD field_25086 ATTRIBUTE_KEY Lnet/minecraft/class_5321;
FIELD field_25087 STAT_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25088 VILLAGER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25089 VILLAGER_PROFESSION_KEY Lnet/minecraft/class_5321;
FIELD field_25090 POINT_OF_INTEREST_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25091 MEMORY_MODULE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25092 SENSOR_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25093 SCHEDULE_KEY Lnet/minecraft/class_5321;
FIELD field_25094 ACTIVITY_KEY Lnet/minecraft/class_5321;
FIELD field_25095 DIMENSION_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25096 BIOME_SOURCE Lnet/minecraft/class_2378;
FIELD field_25097 CHUNK_GENERATOR Lnet/minecraft/class_2378;
FIELD field_25098 registryKey Lnet/minecraft/class_5321;
COMMENT The key representing the type of elements held by this registry. It is also the
COMMENT key of this registry within the root registry.
FIELD field_25099 lifecycle Lcom/mojang/serialization/Lifecycle;
FIELD field_25100 ROOT_KEY Lnet/minecraft/class_2960;
FIELD field_25101 ROOT Lnet/minecraft/class_2385;
FIELD field_25102 SOUND_EVENT_KEY Lnet/minecraft/class_5321;
FIELD field_25103 FLUID_KEY Lnet/minecraft/class_5321;
FIELD field_25104 MOB_EFFECT_KEY Lnet/minecraft/class_5321;
FIELD field_25105 BLOCK_KEY Lnet/minecraft/class_5321;
FIELD field_25106 ENCHANTMENT_KEY Lnet/minecraft/class_5321;
FIELD field_25107 ENTITY_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25108 ITEM_KEY Lnet/minecraft/class_5321;
FIELD field_25109 POTION_KEY Lnet/minecraft/class_5321;
FIELD field_25110 CARVER_KEY Lnet/minecraft/class_5321;
FIELD field_25112 FEATURE_KEY Lnet/minecraft/class_5321;
FIELD field_25114 BIOME_KEY Lnet/minecraft/class_5321;
FIELD field_25115 BLOCK_STATE_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25117 FOLIAGE_PLACER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25118 TRUNK_PLACER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25293 LOOT_POOL_ENTRY_TYPE Lnet/minecraft/class_2378;
FIELD field_25294 LOOT_FUNCTION_TYPE Lnet/minecraft/class_2378;
FIELD field_25295 LOOT_POOL_ENTRY_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25296 LOOT_FUNCTION_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25297 LOOT_CONDITION_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_25298 WORLD_KEY Lnet/minecraft/class_5321;
COMMENT A registry key representing the {@link World} type. Can be used to obtain
COMMENT registry keys with the {@link World} type, such as that for the overworld.
COMMENT
COMMENT <p>Notice that {@code this == Registry.DIMENSION_KEY}.
COMMENT
COMMENT @see #DIMENSION_KEY
COMMENT @see World#OVERWORLD
COMMENT @see net.minecraft.server.MinecraftServer#worlds
FIELD field_25299 LOOT_CONDITION_TYPE Lnet/minecraft/class_2378;
FIELD field_25490 DIMENSION_KEY Lnet/minecraft/class_5321;
COMMENT A registry key representing the {@link DimensionOptions} type.
COMMENT
COMMENT <p>Notice that {@code this == Registry.WORLD_KEY}.
COMMENT
COMMENT @see #WORLD_KEY
FIELD field_25913 CONFIGURED_CARVER_KEY Lnet/minecraft/class_5321;
FIELD field_25914 CONFIGURED_FEATURE_KEY Lnet/minecraft/class_5321;
FIELD field_25915 STRUCTURE_KEY Lnet/minecraft/class_5321;
FIELD field_25916 STRUCTURE_PROCESSOR_LIST_KEY Lnet/minecraft/class_5321;
FIELD field_25917 STRUCTURE_POOL_KEY Lnet/minecraft/class_5321;
FIELD field_26374 CHUNK_GENERATOR_SETTINGS_KEY Lnet/minecraft/class_5321;
FIELD field_28005 LOOT_NUMBER_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_28006 LOOT_NBT_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_28007 LOOT_SCORE_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_28008 LOOT_NUMBER_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_28009 LOOT_NBT_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_28010 LOOT_SCORE_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_28263 POSITION_SOURCE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_28264 GAME_EVENT Lnet/minecraft/class_2348;
FIELD field_28265 POSITION_SOURCE_TYPE Lnet/minecraft/class_2378;
FIELD field_28266 GAME_EVENT_KEY Lnet/minecraft/class_5321;
FIELD field_29075 FLOAT_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_29076 FLOAT_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_33092 INT_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_33093 INT_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_33094 HEIGHT_PROVIDER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_33095 HEIGHT_PROVIDER_TYPE Lnet/minecraft/class_2378;
FIELD field_35089 BLOCK_PREDICATE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_35090 BLOCK_PREDICATE_TYPE Lnet/minecraft/class_2378;
FIELD field_35305 MATERIAL_CONDITION_KEY Lnet/minecraft/class_5321;
FIELD field_35306 MATERIAL_RULE_KEY Lnet/minecraft/class_5321;
FIELD field_35307 MATERIAL_CONDITION Lnet/minecraft/class_2378;
FIELD field_35308 MATERIAL_RULE Lnet/minecraft/class_2378;
FIELD field_35433 NOISE_KEY Lnet/minecraft/class_5321;
FIELD field_35758 PLACED_FEATURE_KEY Lnet/minecraft/class_5321;
FIELD field_35759 PLACEMENT_MODIFIER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_35760 PLACEMENT_MODIFIER_TYPE Lnet/minecraft/class_2378;
FIELD field_36466 STRUCTURE_PLACEMENT_KEY Lnet/minecraft/class_5321;
FIELD field_36467 STRUCTURE_PLACEMENT Lnet/minecraft/class_2378;
FIELD field_37227 STRUCTURE_SET_KEY Lnet/minecraft/class_5321;
FIELD field_37228 DENSITY_FUNCTION_KEY Lnet/minecraft/class_5321;
FIELD field_37229 DENSITY_FUNCTION_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_37230 DENSITY_FUNCTION_TYPE Lnet/minecraft/class_2378;
FIELD field_37997 COMMAND_ARGUMENT_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_37998 WORLD_PRESET_KEY Lnet/minecraft/class_5321;
FIELD field_37999 FLAT_LEVEL_GENERATOR_PRESET_KEY Lnet/minecraft/class_5321;
FIELD field_38000 COMMAND_ARGUMENT_TYPE Lnet/minecraft/class_2378;
FIELD field_38802 CAT_VARIANT_KEY Lnet/minecraft/class_5321;
FIELD field_38803 CAT_VARIANT Lnet/minecraft/class_2378;
FIELD field_38804 FROG_VARIANT_KEY Lnet/minecraft/class_5321;
FIELD field_38805 FROG_VARIANT Lnet/minecraft/class_2378;
FIELD field_38806 ROOT_PLACER_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_38807 ROOT_PLACER_TYPE Lnet/minecraft/class_2378;
FIELD field_39205 MESSAGE_TYPE_KEY Lnet/minecraft/class_5321;
FIELD field_39207 BANNER_PATTERN_KEY Lnet/minecraft/class_5321;
FIELD field_39208 BANNER_PATTERN Lnet/minecraft/class_2378;
FIELD field_39209 INSTRUMENT_KEY Lnet/minecraft/class_5321;
FIELD field_39210 INSTRUMENT Lnet/minecraft/class_2378;
METHOD <init> (Lnet/minecraft/class_5321;Lcom/mojang/serialization/Lifecycle;)V
ARG 1 key
ARG 2 lifecycle
METHOD keys (Lcom/mojang/serialization/DynamicOps;)Ljava/util/stream/Stream;
ARG 1 ops
METHOD method_10218 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_2591;
ARG 0 registry
METHOD method_10219 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1291;
ARG 0 registry
METHOD method_10220 stream ()Ljava/util/stream/Stream;
COMMENT {@return a stream of all values of this registry}
METHOD method_10221 getId (Ljava/lang/Object;)Lnet/minecraft/class_2960;
COMMENT {@return the ID assigned to {@code value}, or {@code null} if it is not registered}
ARG 1 value
METHOD method_10222 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_6018;
ARG 0 registry
METHOD method_10223 get (Lnet/minecraft/class_2960;)Ljava/lang/Object;
COMMENT {@return the value that is assigned {@code id}, or {@code null} if there is none}
ARG 1 id
METHOD method_10224 create (Lnet/minecraft/class_5321;Ljava/lang/String;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2348;
ARG 0 key
ARG 1 defaultId
ARG 2 defaultEntryGetter
METHOD method_10226 register (Lnet/minecraft/class_2378;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
ARG 0 registry
ARG 1 id
ARG 2 entry
METHOD method_10227 create (Lnet/minecraft/class_5321;Lnet/minecraft/class_2385;Lnet/minecraft/class_2378$class_6889;Lcom/mojang/serialization/Lifecycle;)Lnet/minecraft/class_2385;
ARG 0 key
ARG 1 registry
ARG 2 defaultEntryGetter
ARG 3 lifecycle
METHOD method_10228 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_2396;
ARG 0 registry
METHOD method_10229 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5864;
ARG 0 registry
METHOD method_10230 register (Lnet/minecraft/class_2378;Lnet/minecraft/class_2960;Ljava/lang/Object;)Ljava/lang/Object;
COMMENT Registers {@code entry} to {@code registry} under {@code id}.
COMMENT
COMMENT @return the passed {@code entry}
ARG 0 registry
ARG 1 id
ARG 2 entry
METHOD method_10231 register (Lnet/minecraft/class_2378;ILjava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
ARG 0 registry
ARG 1 rawId
ARG 2 id
ARG 3 entry
METHOD method_10233 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3414;
ARG 0 registry
METHOD method_10234 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1792;
ARG 0 registry
METHOD method_10235 getIds ()Ljava/util/Set;
COMMENT {@return the set of all IDs registered in a registry}
METHOD method_10236 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_2960;
ARG 0 registry
METHOD method_10237 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_2248;
ARG 0 registry
METHOD method_10240 getRandom (Lnet/minecraft/class_5819;)Ljava/util/Optional;
COMMENT {@return a random registry entry from this registry, or an empty optional if the
COMMENT registry is empty}
ARG 1 random
METHOD method_10243 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1887;
ARG 0 registry
METHOD method_10245 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1842;
ARG 0 registry
METHOD method_10247 create (Lnet/minecraft/class_5321;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2378;
ARG 0 key
ARG 1 defaultEntryGetter
METHOD method_10248 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3611;
ARG 0 registry
METHOD method_10250 containsId (Lnet/minecraft/class_2960;)Z
COMMENT {@return whether {@code id} is registered in this registry}
ARG 1 id
METHOD method_10252 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1299;
ARG 0 registry
METHOD method_16543 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_2806;
ARG 0 registry
METHOD method_16701 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3827;
ARG 0 registry
METHOD method_17172 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3852;
ARG 0 registry
METHOD method_17173 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3854;
ARG 0 registry
METHOD method_17583 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3917;
ARG 0 registry
METHOD method_17797 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1865;
ARG 0 registry
METHOD method_17798 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3956;
ARG 0 registry
METHOD method_17966 getOrEmpty (Lnet/minecraft/class_2960;)Ljava/util/Optional;
COMMENT {@return the value that is assigned {@code id}, or an empty optional if there is none}
ARG 1 id
METHOD method_19449 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4168;
ARG 0 registry
METHOD method_19450 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4170;
ARG 0 registry
METHOD method_19451 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4149;
ARG 0 registry
METHOD method_19452 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4140;
ARG 0 registry
METHOD method_20574 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3448;
ARG 0 registry
METHOD method_26429 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4996;
ARG 0 registry
METHOD method_27041 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_1320;
ARG 0 registry
METHOD method_29103 validate (Lnet/minecraft/class_2378;)V
ARG 0 registries
METHOD method_29106 createRegistryKey (Ljava/lang/String;)Lnet/minecraft/class_5321;
ARG 0 registryId
METHOD method_29107 get (Lnet/minecraft/class_5321;)Ljava/lang/Object;
COMMENT {@return the value that is assigned {@code key}, or {@code null} if there is none}
ARG 1 key
METHOD method_29108 create (Lnet/minecraft/class_5321;Lcom/mojang/serialization/Lifecycle;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2378;
ARG 0 key
ARG 1 lifecycle
ARG 2 defaultEntryGetter
METHOD method_29109 create (Lnet/minecraft/class_5321;Ljava/lang/String;Lcom/mojang/serialization/Lifecycle;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2348;
ARG 0 key
ARG 1 defaultId
ARG 2 lifecycle
ARG 3 defaultEntryGetter
METHOD method_29113 getKey (Ljava/lang/Object;)Ljava/util/Optional;
COMMENT {@return the registry key of {@code value}, or an empty optional if it is not registered}
ARG 1 entry
METHOD method_29396 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5342;
ARG 0 registry
METHOD method_29397 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5339;
ARG 0 registry
METHOD method_29398 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5338;
ARG 0 registry
METHOD method_29722 getEntrySet ()Ljava/util/Set;
COMMENT {@return the set containing {@link Map.Entry} of the registry keys and values registered
COMMENT in this registry}
METHOD method_30517 getKey ()Lnet/minecraft/class_5321;
COMMENT {@return the registry key that identifies this registry}
METHOD method_31138 getLifecycle ()Lcom/mojang/serialization/Lifecycle;
METHOD method_31139 getEntryLifecycle (Ljava/lang/Object;)Lcom/mojang/serialization/Lifecycle;
COMMENT Gets the lifecycle of a registry entry.
ARG 1 entry
METHOD method_31140 getOrThrow (Lnet/minecraft/class_5321;)Ljava/lang/Object;
COMMENT {@return the value that is assigned {@code key}}
COMMENT
COMMENT @throws IllegalStateException if there is no value with {@code key} in the registry
ARG 1 key
METHOD method_31189 getOrEmpty (Lnet/minecraft/class_5321;)Ljava/util/Optional;
COMMENT {@return the value that is assigned {@code key}, or an empty optional if there is none}
ARG 1 key
METHOD method_32693 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5669;
ARG 0 registry
METHOD method_32694 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5650;
ARG 0 registry
METHOD method_32695 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5657;
ARG 0 registry
METHOD method_33104 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5717;
ARG 0 registry
METHOD method_33105 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5712;
ARG 0 registry
METHOD method_34025 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3816;
ARG 0 registry
METHOD method_34028 (Lcom/mojang/serialization/DynamicOps;Lnet/minecraft/class_2960;)Ljava/lang/Object;
ARG 1 id
METHOD method_34029 (Lnet/minecraft/class_2378;Lnet/minecraft/class_2378;)V
ARG 1 registry
METHOD method_34031 (Lnet/minecraft/class_2960;Ljava/util/function/Supplier;)V
ARG 0 id
ARG 1 defaultEntry
METHOD method_34033 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3828;
ARG 0 registry
METHOD method_34034 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5202;
ARG 0 registry
METHOD method_34035 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4663;
ARG 0 registry
METHOD method_34036 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_5142;
ARG 0 registry
METHOD method_34037 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4648;
ARG 0 registry
METHOD method_34038 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_6647;
ARG 0 registry
METHOD method_34039 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_4652;
ARG 0 registry
METHOD method_34040 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_6798;
ARG 0 registry
METHOD method_34041 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3773;
ARG 0 registry
METHOD method_34042 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_7151;
ARG 0 registry
METHOD method_34043 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_3031;
ARG 0 registry
METHOD method_34044 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_2939;
ARG 0 registry
METHOD method_35842 contains (Lnet/minecraft/class_5321;)Z
COMMENT {@return whether {@code key} is registered in this registry}
ARG 1 key
METHOD method_35844 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_6123;
ARG 0 registry
METHOD method_39197 register (Lnet/minecraft/class_2378;Lnet/minecraft/class_5321;Ljava/lang/Object;)Ljava/lang/Object;
COMMENT Registers {@code entry} to {@code registry} under {@code key}.
COMMENT
COMMENT @return the passed {@code entry}
ARG 0 registry
ARG 1 key
ARG 2 entry
METHOD method_39667 (Lnet/minecraft/class_2960;)Lcom/mojang/serialization/DataResult;
ARG 1 id
METHOD method_39668 (Ljava/lang/Object;)Lcom/mojang/serialization/Lifecycle;
ARG 1 value
METHOD method_39670 (Ljava/lang/Object;)I
ARG 1 value
METHOD method_39671 (Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;
ARG 1 value
METHOD method_39673 getCodec ()Lcom/mojang/serialization/Codec;
COMMENT {@return the codec for serializing {@code T}}
COMMENT
COMMENT @implNote This serializes a value using the ID or (if compressed) the raw ID.
METHOD method_40252 containsTag (Lnet/minecraft/class_6862;)Z
COMMENT {@return whether {@code tag} is known to this registry}
ARG 1 tag
METHOD method_40257 populateTags (Ljava/util/Map;)V
ARG 1 tagEntries
METHOD method_40260 getOrCreateEntryList (Lnet/minecraft/class_6862;)Lnet/minecraft/class_6885$class_6888;
ARG 1 tag
METHOD method_40264 getEntry (Lnet/minecraft/class_5321;)Ljava/util/Optional;
COMMENT {@return the reference registry entry for the value assigned {@code key}, or an
COMMENT empty optional if there is no such value}
COMMENT
COMMENT @see #entryOf
ARG 1 key
METHOD method_40265 getEntry (I)Ljava/util/Optional;
COMMENT {@return the reference registry entry for the value assigned {@code rawId}, or an
COMMENT empty optional if there is no such value}
ARG 1 rawId
METHOD method_40266 getEntryList (Lnet/minecraft/class_6862;)Ljava/util/Optional;
COMMENT {@return the registry entry list of values that are assigned {@code tag}, or an empty
COMMENT optional if the tag is not known to the registry}
ARG 1 tag
METHOD method_40268 getOrCreateEntryDataResult (Lnet/minecraft/class_5321;)Lcom/mojang/serialization/DataResult;
ARG 1 key
METHOD method_40269 createEntry (Ljava/lang/Object;)Lnet/minecraft/class_6880$class_6883;
ARG 1 value
METHOD method_40270 streamEntries ()Ljava/util/stream/Stream;
COMMENT {@return a stream of reference registry entries of this registry}
METHOD method_40272 streamTagsAndEntries ()Ljava/util/stream/Stream;
METHOD method_40273 streamTags ()Ljava/util/stream/Stream;
COMMENT {@return a stream of all tag keys known to this registry}
METHOD method_40276 freeze ()Lnet/minecraft/class_2378;
METHOD method_40278 clearTags ()V
METHOD method_40279 (Lnet/minecraft/class_6880;)Lcom/mojang/serialization/Lifecycle;
ARG 1 entry
METHOD method_40281 create (Lnet/minecraft/class_5321;Lcom/mojang/serialization/Lifecycle;Ljava/util/function/Function;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2378;
ARG 0 key
ARG 1 lifecycle
ARG 2 valueToEntryFunction
ARG 3 defaultEntryGetter
METHOD method_40282 create (Lnet/minecraft/class_5321;Ljava/lang/String;Lcom/mojang/serialization/Lifecycle;Ljava/util/function/Function;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2348;
ARG 0 key
ARG 1 defaultId
ARG 2 lifecycle
ARG 3 valueToEntryFunction
ARG 4 defaultEntryGetter
METHOD method_40283 create (Lnet/minecraft/class_5321;Ljava/lang/String;Ljava/util/function/Function;Lnet/minecraft/class_2378$class_6889;)Lnet/minecraft/class_2348;
ARG 0 key
ARG 1 defaultId
ARG 2 valueToEntryFunction
ARG 3 defaultEntryGetter
METHOD method_40284 (Lnet/minecraft/class_6880;)Lcom/mojang/serialization/Lifecycle;
ARG 1 entry
METHOD method_40285 (Lnet/minecraft/class_6880;)Lcom/mojang/serialization/DataResult;
ARG 1 entry
METHOD method_40286 iterateEntries (Lnet/minecraft/class_6862;)Ljava/lang/Iterable;
COMMENT {@return an iterable of values that are assigned {@code tag}, or an empty iterable
COMMENT if the tag is not known to the registry}
ARG 1 tag
METHOD method_40288 (Lnet/minecraft/class_2960;)Lcom/mojang/serialization/DataResult;
ARG 1 id
METHOD method_40290 entryOf (Lnet/minecraft/class_5321;)Lnet/minecraft/class_6880;
COMMENT {@return the reference registry entry for the value assigned {@code key}}
COMMENT
COMMENT @throws IllegalStateException if there is no value that is assigned {@code key}
COMMENT
COMMENT @see #getEntry(RegistryKey)
ARG 1 key
METHOD method_40292 freezeRegistries ()V
METHOD method_40293 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_6875;
ARG 0 registry
METHOD method_40294 createEntryCodec ()Lcom/mojang/serialization/Codec;
COMMENT {@return the codec for serializing the registry entry of {@code T}}
COMMENT
COMMENT @implNote This serializes a registry entry using the ID.
METHOD method_40295 getIndexedEntries ()Lnet/minecraft/class_2359;
METHOD method_42021 getKeys ()Ljava/util/Set;
COMMENT {@return the set of all registry keys registered in a registry}
METHOD method_43223 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_7106;
ARG 0 registry
METHOD method_43224 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_7375;
ARG 0 registry
METHOD method_43225 (Lnet/minecraft/class_2378;)Lnet/minecraft/class_7388;
ARG 0 registry
METHOD method_44298 getOrCreateEntry (Lnet/minecraft/class_5321;)Lnet/minecraft/class_6880;
ARG 1 key
CLASS 1
METHOD method_40296 (Lnet/minecraft/class_6880$class_6883;)Lnet/minecraft/class_6880;
ARG 0 entry
CLASS class_6889 DefaultEntryGetter
METHOD run (Lnet/minecraft/class_2378;)Ljava/lang/Object;
ARG 1 registry