Class BaseRegistry<T extends org.bukkit.Keyed>

java.lang.Object
net.mathias2246.buildmc.util.registry.BaseRegistry<T>
All Implemented Interfaces:
Iterable<T>, org.bukkit.Registry<T>

public class BaseRegistry<T extends org.bukkit.Keyed> extends Object implements org.bukkit.Registry<T>, Iterable<T>
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.bukkit.Registry

    org.bukkit.Registry.SimpleRegistry<T extends Enum<T> & org.bukkit.Keyed>
  • Field Summary

    Fields inherited from interface org.bukkit.Registry

    ADVANCEMENT, ART, ATTRIBUTE, BANNER_PATTERN, BIOME, BLOCK, BOSS_BARS, CAT_VARIANT, CHICKEN_VARIANT, COW_VARIANT, DAMAGE_TYPE, EFFECT, ENCHANTMENT, ENTITY_TYPE, FLUID, FROG_VARIANT, GAME_EVENT, INSTRUMENT, ITEM, JUKEBOX_SONG, LOOT_TABLES, MAP_DECORATION_TYPE, MATERIAL, MEMORY_MODULE_TYPE, MENU, PARTICLE_TYPE, PIG_VARIANT, POTION, SOUNDS, STATISTIC, STRUCTURE, STRUCTURE_TYPE, TRIM_MATERIAL, TRIM_PATTERN, VILLAGER_PROFESSION, VILLAGER_TYPE, WOLF_VARIANT
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    addEntries(T... entries)
    Registers multiple new entries.
    addEntry(T entry)
    Registers a new entry under a certain key.
    boolean
    contains(@NotNull org.bukkit.NamespacedKey namespacedKey)
     
    get(@NotNull org.bukkit.NamespacedKey namespacedKey)
     
    @NotNull Optional<T>
    getOptional(@NotNull String keyString)
    Optionally retrieves an entry from this registry by its NamespacedKey in a String representation.
    @NotNull Optional<T>
    getOptional(@NotNull org.bukkit.NamespacedKey namespacedKey)
    Optionally retrieves an entry from this registry by its NamespacedKey.
    getOrThrow(@NotNull org.bukkit.NamespacedKey namespacedKey)
    Gets an entry from this registry, or throws an exception
    @NotNull Iterator<T>
     
    Set<org.bukkit.NamespacedKey>
     
    @NotNull Stream<org.bukkit.NamespacedKey>
     
    match(@NotNull String input)
     
    int
     
    @NotNull Stream<T>
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Constructor Details

    • BaseRegistry

      public BaseRegistry()
  • Method Details

    • addEntry

      @NotNull public T addEntry(@NotNull T entry)
      Registers a new entry under a certain key.

      Nothing will change when this deferred-registry is initialized.

      Parameters:
      entry - The entry to add
      Returns:
      The entry you tried to add
      Throws:
      NullPointerException - if the key is null
    • addEntries

      @SafeVarargs public final void addEntries(@NotNull T... entries)
      Registers multiple new entries.
      Parameters:
      entries - The entry to add
    • contains

      public boolean contains(@NotNull @NotNull org.bukkit.NamespacedKey namespacedKey)
    • keySet

      public Set<org.bukkit.NamespacedKey> keySet()
    • size

      public int size()
    • get

      @Nullable public T get(@NotNull @NotNull org.bukkit.NamespacedKey namespacedKey)
      Specified by:
      get in interface org.bukkit.Registry<T extends org.bukkit.Keyed>
    • getOrThrow

      @NotNull public T getOrThrow(@NotNull @NotNull org.bukkit.NamespacedKey namespacedKey)
      Gets an entry from this registry, or throws an exception
      Specified by:
      getOrThrow in interface org.bukkit.Registry<T extends org.bukkit.Keyed>
      Parameters:
      namespacedKey - The NamespacedKey of the entry you are trying to retrieve
      Returns:
      The entry under the given NamespacedKey.
      Throws:
      IllegalArgumentException - when no entry is registered under the given NamespacedKey
    • stream

      @NotNull public @NotNull Stream<T> stream()
      Specified by:
      stream in interface org.bukkit.Registry<T extends org.bukkit.Keyed>
      Returns:
      A Stream containing all entries of this registry.
    • keyStream

      @NotNull public @NotNull Stream<org.bukkit.NamespacedKey> keyStream()
      Returns:
      A Stream containing all keys in this registry.
    • iterator

      @NotNull public @NotNull Iterator<T> iterator()
      Specified by:
      iterator in interface Iterable<T extends org.bukkit.Keyed>
      Returns:
      An Iterator for iterating over all entries inside this registry
    • match

      @Nullable public T match(@NotNull @NotNull String input)
      Specified by:
      match in interface org.bukkit.Registry<T extends org.bukkit.Keyed>
    • getOptional

      @NotNull public @NotNull Optional<T> getOptional(@NotNull @NotNull org.bukkit.NamespacedKey namespacedKey)
      Optionally retrieves an entry from this registry by its NamespacedKey.

      Usage

      This method optionally returns an entry of this registry.
      You could use the returned Optional like this:
      
       registry.getOptional(NamespacedKey.fromString("my_plugin:foo_entry"))
            .ifPresent(
                (entry) -> {
                    entry.doSomething(); // You can do anything here
                }
            );
       
      Parameters:
      namespacedKey - The NamespacedKey of the entry you are trying to retrieve
      Returns:
      The Optional that might contain the entry from the given key
    • getOptional

      @NotNull public @NotNull Optional<T> getOptional(@NotNull @NotNull String keyString)
      Optionally retrieves an entry from this registry by its NamespacedKey in a String representation.

      When using an invalid String representation of a NamespacedKey, an empty Optional will be returned.

      Usage

      This method optionally returns an entry of this registry.
      You could use the returned Optional like this:
      
       registry.getOptional("my_plugin:foo_entry")
            .ifPresent(
                (entry) -> {
                    entry.doSomething(); // You can do anything here
                }
            );
       
      Parameters:
      keyString - The String representation of key of the entry you are trying to retrieve
      Returns:
      The Optional that might contain the entry from the given key