Package com.simibubi.create.api.registry
Interface SimpleRegistry.Provider<K,V>
- All Known Implementing Classes:
DispenserBehaviorConverter,MountedItemStorageFallbackProvider,TagProviderImpl
- Enclosing interface:
SimpleRegistry<K,V>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
A provider can provide values to the registry in a lazy fashion. When a key does not have an
associated value, all providers will be queried in reverse-registration order (newest first).
The values returned by providers are cached so that repeated queries always return the same value.
To invalidate the cache of a registry, call SimpleRegistry.invalidate().
-
Method Summary
Modifier and TypeMethodDescriptionstatic <V> SimpleRegistry.Provider<net.minecraft.world.level.block.entity.BlockEntityType<?>, V> forBlockEntityTag(net.minecraft.tags.TagKey<net.minecraft.world.level.block.entity.BlockEntityType<?>> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is BlockEntityType.static <V> SimpleRegistry.Provider<net.minecraft.world.level.block.Block, V> forBlockTag(net.minecraft.tags.TagKey<net.minecraft.world.level.block.Block> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is Block.static <V> SimpleRegistry.Provider<net.minecraft.world.entity.EntityType<?>, V> forEntityTag(net.minecraft.tags.TagKey<net.minecraft.world.entity.EntityType<?>> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is EntityType.static <V> SimpleRegistry.Provider<net.minecraft.world.level.material.Fluid, V> forFluidTag(net.minecraft.tags.TagKey<net.minecraft.world.level.material.Fluid> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is Fluid.static <V> SimpleRegistry.Provider<net.minecraft.world.item.Item, V> forItemTag(net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is Item.static <K,V> SimpleRegistry.Provider <K, V> forTag(net.minecraft.tags.TagKey<K> tag, Function<K, net.minecraft.core.Holder<K>> holderGetter, V value) Create a provider that will return the same value for all entries in a tag.default voidonRegister(Runnable invalidate) Called by the SimpleRegistry this provider is registered to after it's registered.
-
Method Details
-
get
-
onRegister
Called by the SimpleRegistry this provider is registered to after it's registered. This is useful for behavior that should only happen if a provider is actually registered, such as registering event listeners. -
forTag
static <K,V> SimpleRegistry.Provider<K,V> forTag(net.minecraft.tags.TagKey<K> tag, Function<K, net.minecraft.core.Holder<K>> holderGetter, V value) Create a provider that will return the same value for all entries in a tag. The Provider will invalidate itself when tags are reloaded. -
forBlockTag
static <V> SimpleRegistry.Provider<net.minecraft.world.level.block.Block,V> forBlockTag(net.minecraft.tags.TagKey<net.minecraft.world.level.block.Block> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is Block. -
forBlockEntityTag
static <V> SimpleRegistry.Provider<net.minecraft.world.level.block.entity.BlockEntityType<?>,V> forBlockEntityTag(net.minecraft.tags.TagKey<net.minecraft.world.level.block.entity.BlockEntityType<?>> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is BlockEntityType. -
forItemTag
static <V> SimpleRegistry.Provider<net.minecraft.world.item.Item,V> forItemTag(net.minecraft.tags.TagKey<net.minecraft.world.item.Item> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is Item. -
forEntityTag
static <V> SimpleRegistry.Provider<net.minecraft.world.entity.EntityType<?>,V> forEntityTag(net.minecraft.tags.TagKey<net.minecraft.world.entity.EntityType<?>> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is EntityType. -
forFluidTag
static <V> SimpleRegistry.Provider<net.minecraft.world.level.material.Fluid,V> forFluidTag(net.minecraft.tags.TagKey<net.minecraft.world.level.material.Fluid> tag, V value) Shortcut forforTag(net.minecraft.tags.TagKey<K>, java.util.function.Function<K, net.minecraft.core.Holder<K>>, V)when the registry's type is Fluid.
-