Class BaseRegistry<T extends org.bukkit.Keyed>
java.lang.Object
net.mathias2246.buildmc.util.registry.BaseRegistry<T>
- All Implemented Interfaces:
Iterable<T>, net.kyori.adventure.key.Keyed, org.bukkit.Registry<T>
public class BaseRegistry<T extends org.bukkit.Keyed>
extends Object
implements org.bukkit.Registry<T>, Iterable<T>, net.kyori.adventure.key.Keyed
An implementation of Bukkit's
Registry that is permanently mutable.
You have to keep in mind that entries in this registry type can be modified at after plugin initialization.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.bukkit.Registry
org.bukkit.Registry.NotARegistry<A>, org.bukkit.Registry.SimpleRegistry<T> -
Field Summary
Fields inherited from interface org.bukkit.Registry
ADVANCEMENT, ART, ATTRIBUTE, BANNER_PATTERN, BIOME, BLOCK, BOSS_BARS, CAT_VARIANT, DAMAGE_TYPE, DATA_COMPONENT_TYPE, EFFECT, ENCHANTMENT, ENTITY_TYPE, FLUID, FROG_VARIANT, GAME_EVENT, GAME_RULE, INSTRUMENT, ITEM, JUKEBOX_SONG, LOOT_TABLES, MAP_DECORATION_TYPE, MATERIAL, MEMORY_MODULE_TYPE, MENU, MOB_EFFECT, PARTICLE_TYPE, POTION, POTION_EFFECT_TYPE, SOUND_EVENT, SOUNDS, STATISTIC, STRUCTURE, STRUCTURE_TYPE, TRIM_MATERIAL, TRIM_PATTERN, VILLAGER_PROFESSION, VILLAGER_TYPE, WOLF_VARIANT -
Constructor Summary
ConstructorsConstructorDescriptionBaseRegistry(@NotNull net.kyori.adventure.key.Key key) Initializes a new empty register -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddEntries(T... entries) Registers multiple new entries.Registers a new entry under a certain key.voidAdds aTagto this registry.voidclear()Removes all the entries from this registry.booleancontains(@NotNull org.bukkit.NamespacedKey namespacedKey) Checks if the givenNamespacedKeyis inside this registry or not.get(@NotNull org.bukkit.NamespacedKey namespacedKey) Gets an entry from the deferred-registryorg.bukkit.NamespacedKeyGets theNamespacedKeyof aTgetOptional(@NotNull String keyString) Optionally retrieves an entry from this registry by itsNamespacedKeyin aStringrepresentation.getOptional(@NotNull org.bukkit.NamespacedKey namespacedKey) Optionally retrieves an entry from this registry by itsNamespacedKey.getOrThrow(@NotNull org.bukkit.NamespacedKey namespacedKey) Gets an entry from this registry, or throws an exception@NonNull io.papermc.paper.registry.tag.Tag<T> Gets aTagfrom this registry by its key.@NonNull Collection<io.papermc.paper.registry.tag.Tag<T>> getTags()Gets aCollectioncontaining allTags in this registry.booleanChecks if a certainTagKeyis found for this registry.iterator()@NotNull net.kyori.adventure.key.Keykey()Set<org.bukkit.NamespacedKey> keySet()@NotNull Stream<org.bukkit.NamespacedKey> voidremoveEntry(@NotNull org.bukkit.NamespacedKey key) Removes an entry from the registry.voidRemoves aTagfrom this registry.voidRemoves aTagfrom this registry.intsize()stream()Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Iterable
forEach, spliteratorMethods inherited from interface org.bukkit.Registry
get, get, getKeyOrThrow, getOrThrow, getOrThrow, getTagValues, match
-
Constructor Details
-
BaseRegistry
public BaseRegistry(@NotNull @NotNull net.kyori.adventure.key.Key key) Initializes a new empty register
-
-
Method Details
-
removeEntry
public void removeEntry(@NotNull @NotNull org.bukkit.NamespacedKey key) Removes an entry from the registry.- Parameters:
key- TheNamespacedKeyof the entry to remove
-
clear
public void clear()Removes all the entries from this registry. The registry will be empty after this. -
addEntry
Registers a new entry under a certain key.- Parameters:
entry- The entry to add- Returns:
- The entry you tried to add
- Throws:
NullPointerException- if the key isnull
-
addEntries
Registers multiple new entries.- Parameters:
entries- The entry to add
-
contains
@Contract(pure=true) public boolean contains(@NotNull @NotNull org.bukkit.NamespacedKey namespacedKey) Checks if the givenNamespacedKeyis inside this registry or not.- Returns:
trueif, registry contains key; elsefalse
-
keySet
-
size
@Contract(pure=true) public int size()- Specified by:
sizein interfaceorg.bukkit.Registry<T extends org.bukkit.Keyed>- Returns:
- The amount of entries in this registry
-
get
Gets an entry from the deferred-registry- Specified by:
getin interfaceorg.bukkit.Registry<T extends org.bukkit.Keyed>- Parameters:
namespacedKey- TheNamespacedKeyof the entry you are trying to retrieve- Returns:
- The entry under the given
NamespacedKeyor null if not found.
-
getKey
-
addTag
Adds aTagto this registry.- Parameters:
tag- TheTagto add
-
removeTag
Removes aTagfrom this registry.- Parameters:
tag- TheTagKeyof the tag to remove
-
removeTag
Removes aTagfrom this registry.- Parameters:
tag- TheTagto remove
-
hasTag
Checks if a certainTagKeyis found for this registry.- Specified by:
hasTagin interfaceorg.bukkit.Registry<T extends org.bukkit.Keyed>- Parameters:
tagKey- The key to check for- Returns:
- True if the tag key was found; Otherwise false
-
getTag
public @NonNull io.papermc.paper.registry.tag.Tag<T> getTag(@NonNull io.papermc.paper.registry.tag.TagKey<T> tagKey) Gets aTagfrom this registry by its key.- Specified by:
getTagin interfaceorg.bukkit.Registry<T extends org.bukkit.Keyed>- Parameters:
tagKey- The key of the tag- Returns:
- A
Taginstance - Throws:
NullPointerException- Thrown when the registry doesn't contain any tag with the key that was given
-
getTags
Gets aCollectioncontaining allTags in this registry.- Specified by:
getTagsin interfaceorg.bukkit.Registry<T extends org.bukkit.Keyed>- Returns:
- A
Collectioncontaining allTags in this registry
-
getOrThrow
Gets an entry from this registry, or throws an exception- Specified by:
getOrThrowin interfaceorg.bukkit.Registry<T extends org.bukkit.Keyed>- Parameters:
namespacedKey- TheNamespacedKeyof the entry you are trying to retrieve- Returns:
- The entry under the given
NamespacedKey. - Throws:
IllegalArgumentException- when no entry is registered under the givenNamespacedKey
-
stream
-
keyStream
-
iterator
-
getOptional
@NotNull public @NotNull Optional<T> getOptional(@NotNull @NotNull org.bukkit.NamespacedKey namespacedKey) Optionally retrieves an entry from this registry by itsNamespacedKey.Usage
This method optionally returns an entry of this registry.
You could use the returnedOptionallike this:registry.getOptional(NamespacedKey.fromString("my_plugin:foo_entry")) .ifPresent( (entry) -> { entry.doSomething(); // You can do anything here } );- Parameters:
namespacedKey- TheNamespacedKeyof the entry you are trying to retrieve- Returns:
- The
Optionalthat might contain the entry from the given key
-
getOptional
Optionally retrieves an entry from this registry by itsNamespacedKeyin aStringrepresentation.When using an invalid
Stringrepresentation of aNamespacedKey, an emptyOptionalwill be returned.Usage
This method optionally returns an entry of this registry.
You could use the returnedOptionallike this:registry.getOptional("my_plugin:foo_entry") .ifPresent( (entry) -> { entry.doSomething(); // You can do anything here } ); -
key
@Contract(pure=true) @NotNull public @NotNull net.kyori.adventure.key.Key key()- Specified by:
keyin interfacenet.kyori.adventure.key.Keyed- Returns:
- The
Keyof this registry
-