Package org.geysermc.geyser.registry
Class ListDeferredRegistry<V>
java.lang.Object
org.geysermc.geyser.registry.ListDeferredRegistry<V>
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedListDeferredRegistry(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, Supplier<RegistryLoader<I, List<V>>> deferredLoader) protectedListDeferredRegistry(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, RegistryLoader<I, List<V>> deferredLoader) protectedListDeferredRegistry(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, Supplier<RegistryLoader<I, List<V>>> deferredLoader) protectedListDeferredRegistry(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, RegistryLoader<I, List<V>> deferredLoader) -
Method Summary
Modifier and TypeMethodDescriptionprotected ListRegistry<V> static <I,V> ListDeferredRegistry <V> create(I input, Supplier<RegistryLoader<I, List<V>>> deferredLoader) Creates a new deferred registry.static <I,V> ListDeferredRegistry <V> create(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, Supplier<RegistryLoader<I, List<V>>> deferredLoader) Creates a new deferred registry.static <I,V> ListDeferredRegistry <V> create(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, RegistryLoader<I, List<V>> deferredLoader) Creates a new deferred registry.static <I,V> ListDeferredRegistry <V> create(I input, RegistryLoader<I, List<V>> deferredLoader) Creates a new deferred registry.static <I,V> ListDeferredRegistry <V> create(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, Supplier<RegistryLoader<I, List<V>>> deferredLoader) Creates a new deferred registry.static <I,V> ListDeferredRegistry <V> create(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, RegistryLoader<I, List<V>> deferredLoader) Creates a new deferred registry.voidfreeze()Mark this registry as unsuitable for new additions.get()Gets the underlying value held by this registry.@Nullable Vget(int index) Returns the value registered by the given index.getOrDefault(int index, V defaultValue) Returns the value registered by the given index or the default value specified if null.voidload()Loads the registry.booleanloaded()Whether this registry was loaded.Registers a new value into this registry with the given index.voidRegisters what is specified in the givenConsumerinto the underlying value.registerWithAnyIndex(int index, V value, V defaultValue) Registers a new value into this registry with the given index, even if this value would normally be outside the range of a list.void
-
Constructor Details
-
ListDeferredRegistry
protected ListDeferredRegistry(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, RegistryLoader<I, List<V>> deferredLoader) -
ListDeferredRegistry
protected ListDeferredRegistry(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, Supplier<RegistryLoader<I, List<V>>> deferredLoader) -
ListDeferredRegistry
protected ListDeferredRegistry(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, RegistryLoader<I, List<V>> deferredLoader) -
ListDeferredRegistry
protected ListDeferredRegistry(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, Supplier<RegistryLoader<I, List<V>>> deferredLoader)
-
-
Method Details
-
get
Returns the value registered by the given index.- Parameters:
index- the index- Returns:
- the value registered by the given index.
-
getOrDefault
Returns the value registered by the given index or the default value specified if null.- Parameters:
index- the indexdefaultValue- the default value- Returns:
- the value registered by the given key or the default value specified if null.
-
register
Registers a new value into this registry with the given index.- Parameters:
index- the indexvalue- the value- Returns:
- a new value into this registry with the given index.
-
registerWithAnyIndex
Registers a new value into this registry with the given index, even if this value would normally be outside the range of a list.- Parameters:
index- the indexvalue- the valuedefaultValue- the default value to fill empty spaces in the registry with.- Returns:
- a new value into this registry with the given index.
-
freeze
public void freeze()Mark this registry as unsuitable for new additions. The backing list will then be optimized for storage. -
create
public static <I,V> ListDeferredRegistry<V> create(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, RegistryLoader<I, List<V>> deferredLoader) Creates a new deferred registry.- Type Parameters:
I- the input type- Parameters:
registryLoader- the registry loaderdeferredLoader- the deferred loader- Returns:
- the new deferred registry
-
create
public static <I,V> ListDeferredRegistry<V> create(Function<RegistryLoader<I, List<V>>, ListRegistry<V>> registryLoader, Supplier<RegistryLoader<I, List<V>>> deferredLoader) Creates a new deferred registry.- Type Parameters:
I- the input type- Parameters:
registryLoader- the registry loaderdeferredLoader- the deferred loader- Returns:
- the new deferred registry
-
create
public static <I,V> ListDeferredRegistry<V> create(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, RegistryLoader<I, List<V>> deferredLoader) Creates a new deferred registry.- Type Parameters:
I- the input type- Parameters:
registryInitializer- the registry initializerdeferredLoader- the deferred loader- Returns:
- the new deferred registry
-
create
public static <I,V> ListDeferredRegistry<V> create(I input, org.geysermc.geyser.registry.DeferredRegistry.RegistryInitializer<List<V>, ListRegistry<V>> registryInitializer, Supplier<RegistryLoader<I, List<V>>> deferredLoader) Creates a new deferred registry.- Type Parameters:
I- the input type- Parameters:
registryInitializer- the registry initializerdeferredLoader- the deferred loader- Returns:
- the new deferred registry
-
create
public static <I,V> ListDeferredRegistry<V> create(I input, RegistryLoader<I, List<V>> deferredLoader) Creates a new deferred registry.- Type Parameters:
I- the input type- Parameters:
deferredLoader- the deferred loader- Returns:
- the new deferred registry
-
create
public static <I,V> ListDeferredRegistry<V> create(I input, Supplier<RegistryLoader<I, List<V>>> deferredLoader) Creates a new deferred registry.- Type Parameters:
I- the input type- Parameters:
deferredLoader- the deferred loader- Returns:
- the new deferred registry
-
backingRegistry
-
get
Gets the underlying value held by this registry.- Returns:
- the underlying value held by this registry
- Throws:
IllegalStateException- if this deferred registry has not been loaded yet
-
set
-
register
Registers what is specified in the givenConsumerinto the underlying value.- Parameters:
consumer- the consumer- Throws:
IllegalStateException- if this deferred registry has not been loaded yet
-
load
public void load()Loads the registry. -
loaded
public boolean loaded()Whether this registry was loaded.
-