InstantBindMappedRegistry

open class InstantBindMappedRegistry<T : Any>(resourceKey: ResourceKey<out Registry<T>>, lifecycle: Lifecycle) : MappedRegistry<T>

MappedRegistry implementation that binds the value to the Holder.Reference immediately after registering it instead of waiting for freeze to be called.

Inheritors

Constructors

Link copied to clipboard
constructor(resourceKey: ResourceKey<out Registry<T>>, lifecycle: Lifecycle)

Properties

Link copied to clipboard
open override val any: Optional<Holder.Reference<T>>
Link copied to clipboard
open override val isEmpty: Boolean
Link copied to clipboard
open override val tags: Stream<HolderSet.Named<T>>

Functions

Link copied to clipboard
open fun asHolderIdMap(): IdMap<Holder<T>>
Link copied to clipboard
Link copied to clipboard
open fun bindTag(tag: TagKey<T>, values: List<Holder<T>>)
Link copied to clipboard
open fun byId(id: Int): @Nullable T?
Link copied to clipboard
open fun byIdOrThrow(id: Int): T
Link copied to clipboard
fun <T : Any> Registry<T>.byNameBinarySerializer(): BinarySerializer<T>
Link copied to clipboard
open fun byNameCodec(): Codec<T>
Link copied to clipboard
open fun canSerializeIn(owner: HolderOwner<T>): Boolean
Link copied to clipboard
open fun clearIntrusiveHolder(instance: T)
Link copied to clipboard
operator fun Registry<*>.contains(key: String): Boolean
operator fun Registry<*>.contains(key: Key): Boolean
Link copied to clipboard
open fun containsKey(key: Identifier): Boolean
open fun containsKey(key: ResourceKey<T>): Boolean
Link copied to clipboard
open fun createIntrusiveHolder(value: T): Holder.Reference<T>
Link copied to clipboard
open fun createRegistrationLookup(): HolderGetter<T>
Link copied to clipboard
open fun entrySet(): Set<Map.Entry<ResourceKey<T>, T>>
Link copied to clipboard
open fun filterElements(predicate: Predicate<T>): HolderLookup.RegistryLookup<T>
Link copied to clipboard
open fun filterFeatures(enabledFeatures: FeatureFlagSet): HolderLookup.RegistryLookup<T>
Link copied to clipboard
fun Iterable<Player>.filterInRange(location: Location, maxDistance: Double): List<Player>
Link copied to clipboard
open fun freeze(): Registry<T>
Link copied to clipboard
open operator fun get(resourceKey: ResourceKey<T>): Optional<Holder.Reference<T>>
open operator fun get(tagKey: TagKey<T>): Optional<HolderSet.Named<T>>
open operator fun get(index: Int): Optional<Holder.Reference<T>>
open operator fun get(key: Identifier): Optional<Holder.Reference<T>>
Link copied to clipboard
operator fun <T : Any> Registry<T>.get(key: String): Optional<Holder.Reference<T>>
Link copied to clipboard
open fun getAny(): Optional<Holder.Reference<T>>
Link copied to clipboard
open fun getId(value: @Nullable T?): Int
Link copied to clipboard
open fun getIdOrThrow(value: T): Int
Link copied to clipboard
open fun getKey(value: T): @Nullable Identifier?
Link copied to clipboard
open fun getOptional(key: @Nullable Identifier?): Optional<T>
open fun getOptional(registryKey: @Nullable ResourceKey<T>?): Optional<T>
Link copied to clipboard
fun <T : Any> Registry<T>.getOrCreateHolder(id: Identifier): Holder<T>
Link copied to clipboard
fun <T : Any> Registry<T>.getOrNull(key: String): Holder.Reference<T>?
fun <T : Any> Registry<T>.getOrNull(key: Key): Holder.Reference<T>?
fun <T : Any> Registry<T>.getOrNull(id: Identifier): Holder.Reference<T>?
Link copied to clipboard
open fun getOrThrow(resourceKey: ResourceKey<T>): Holder.Reference<T>
open fun getOrThrow(tagKey: TagKey<T>): HolderSet.Named<T>
Link copied to clipboard
fun <T : Any> Registry<T>.getOrThrow(key: String): Holder<T>
fun <T : Any> Registry<T>.getOrThrow(key: Key): Holder<T>
fun <T : Any> Registry<T>.getOrThrow(id: Identifier): Holder<T>
Link copied to clipboard
open fun getRandom(random: RandomSource): Optional<Holder.Reference<T>>
Link copied to clipboard
open fun getRandomElementOf(tagKey: TagKey<T>, random: RandomSource): Optional<Holder<T>>
Link copied to clipboard
open fun getResourceKey(value: T): Optional<ResourceKey<T>>
Link copied to clipboard
open fun getTagOrEmpty(key: TagKey<T>): Iterable<Holder<T>>
Link copied to clipboard
open fun getTags(): Stream<HolderSet.Named<T>>
Link copied to clipboard
open fun getValue(key: @Nullable Identifier?): @Nullable T?
open fun getValue(key: @Nullable ResourceKey<T>?): @Nullable T?
Link copied to clipboard
fun <T : Any> Registry<T>.getValue(key: String?): T?
fun <T : Any> Registry<T>.getValue(key: Key?): T?
Link copied to clipboard
open fun getValueForCopying(resourceKey: ResourceKey<T>): Optional<T>
Link copied to clipboard
open fun getValueOrThrow(key: ResourceKey<T>): T
Link copied to clipboard
fun <T : Any> Registry<T>.getValueOrThrow(key: String): T
fun <T : Any> Registry<T>.getValueOrThrow(id: Identifier): T
Link copied to clipboard
open fun holderByNameCodec(): Codec<Holder<T>>
Link copied to clipboard
open operator fun iterator(): Iterator<T>
Link copied to clipboard
open fun key(): ResourceKey<out Registry<T>>
Link copied to clipboard
open fun <U : Any> keys(ops: DynamicOps<U>): Stream<U>
Link copied to clipboard
open fun keySet(): Set<Identifier>
Link copied to clipboard
open fun listElementIds(): Stream<ResourceKey<T>>
Link copied to clipboard
open fun listElements(): Stream<Holder.Reference<T>>
Link copied to clipboard
open fun listTagIds(): Stream<TagKey<T>>
Link copied to clipboard
open fun listTags(): Stream<HolderSet.Named<T>>
Link copied to clipboard
open fun prepareTagReload(loadResult: TagLoader.LoadResult<T>): Registry.PendingTags<T>
Link copied to clipboard
open override fun register(key: ResourceKey<T>, value: T, info: RegistrationInfo): Holder.Reference<T>
Link copied to clipboard
fun <T : Any> WritableRegistry<T>.register(id: Key, value: T): Holder.Reference<T>
fun <T : Any> WritableRegistry<T>.register(id: Identifier, value: T): Holder.Reference<T>
Link copied to clipboard
open fun registrationInfo(key: ResourceKey<T>): Optional<RegistrationInfo>
Link copied to clipboard
open fun registryKeySet(): Set<ResourceKey<T>>
Link copied to clipboard
open fun registryLifecycle(): Lifecycle
Link copied to clipboard
operator fun <T : Any> WritableRegistry<T>.set(name: String, value: T)
operator fun <T : Any> WritableRegistry<T>.set(key: Key, value: T)
operator fun <T : Any> WritableRegistry<T>.set(id: Identifier, value: T)
operator fun <T : Any> WritableRegistry<T>.set(key: ResourceKey<T>, value: T)
operator fun <T : Any> WritableRegistry<T>.set(addon: Addon, key: String, value: T)
Link copied to clipboard
open fun size(): Int
Link copied to clipboard
open fun stream(): Stream<T>
Link copied to clipboard
fun <T : Any> Registry<T>.toHolderMap(): Map<Identifier, Holder<T>>
Link copied to clipboard
fun <T : Any> Iterable<TypedKey<*>>.toHolderSet(registryKey: ResourceKey<out Registry<T>>, registry: HolderGetter<T>): HolderSet<T>
Link copied to clipboard
fun <T : Any> Registry<T>.toMap(): Map<Identifier, T>
Link copied to clipboard
open fun validateWrite(key: ResourceKey<T>)
Link copied to clipboard
open fun wrapAsHolder(value: T): Holder<T>