Interface IRegistryExtension<T>

Type Parameters:
T - the type of registry entries
All Known Implementing Classes:
BaseMappedRegistry

public interface IRegistryExtension<T>
An extension for Registry, adding some additional functionality to vanilla registries, such as callbacks and ID limits.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addAlias(net.minecraft.resources.ResourceLocation from, net.minecraft.resources.ResourceLocation to)
    Adds an alias that maps from the name specified by from to the name specified by to.
    default <C extends RegistryCallback<T>>
    void
    addCallback(Class<C> type, C callback)
    Adds a lambda-implemented callback to this registry.
    void
    Adds a callback to this registry.
    boolean
    Returns true if this registry contains the value.
    boolean
    Returns whether this registry should be synced to clients.
    <A> Map<net.minecraft.resources.ResourceKey<T>,A>
    Returns the data map of the given type.
    int
    getId(net.minecraft.resources.ResourceKey<T> key)
    Gets the integer id linked to the given key.
    int
    getId(net.minecraft.resources.ResourceLocation name)
    Gets the integer id linked to the given name.
    default @Nullable net.minecraft.resources.ResourceLocation
    getKeyOrNull(T element)
    Returns the key of the element, or null if it is not present in this registry.
    int
    Returns the highest id that an entry in this registry is allowed to use.
    net.minecraft.resources.ResourceKey<T>
    resolve(net.minecraft.resources.ResourceKey<T> key)
    Resolves a registry key of a potential object in this registry.
    net.minecraft.resources.ResourceLocation
    resolve(net.minecraft.resources.ResourceLocation name)
    Resolves a registry name of a potential object in this registry.
    private net.minecraft.core.Registry<T>
     
  • Method Details

    • self

      private net.minecraft.core.Registry<T> self()
    • doesSync

      boolean doesSync()
      Returns whether this registry should be synced to clients.
      Returns:
      whether this registry should be synced to clients
    • getMaxId

      int getMaxId()
      Returns the highest id that an entry in this registry is allowed to use. For the size of this registry, see IdMap.size().
      Returns:
      the highest id that an entry in this registry is allowed to use
    • addCallback

      void addCallback(RegistryCallback<T> callback)
      Adds a callback to this registry.

      Depending on the interfaces implemented by the object, the callback will be called when the registry is added to, baked, and/or cleared.

      Parameters:
      callback - the callback to add
    • addCallback

      default <C extends RegistryCallback<T>> void addCallback(Class<C> type, C callback)
      Adds a lambda-implemented callback to this registry.

      The callback will be called when the registry is added to, baked, or cleared. The Class parameter is used to determine the lambda type.

      Parameters:
      type - the type of the callback to add
      callback - the callback to add
    • addAlias

      void addAlias(net.minecraft.resources.ResourceLocation from, net.minecraft.resources.ResourceLocation to)
      Adds an alias that maps from the name specified by from to the name specified by to.

      Any registry lookups that target the first name will resolve as the second name, if the first name is not present.

      Parameters:
      from - the source registry name to alias from
      to - the target registry name to alias to
    • resolve

      net.minecraft.resources.ResourceLocation resolve(net.minecraft.resources.ResourceLocation name)
      Resolves a registry name of a potential object in this registry. The original name will be returned if it is contained in this registry. If not, the alias map will be checked for entries. Resolving supports alias chains (A -> B -> C) and will terminate when an alias has an entry or the last alias in the chain is reached.
      Parameters:
      name - the input registry name of a potential object in this registry
      Returns:
      the resolved registry name
    • resolve

      net.minecraft.resources.ResourceKey<T> resolve(net.minecraft.resources.ResourceKey<T> key)
      Resolves a registry key of a potential object in this registry. The original key will be returned if it is contained in this registry. If not, the alias map will be checked for entries. Resolving supports alias chains (A -> B -> C) and will terminate when an alias has an entry or the last alias in the chain is reached.
      Parameters:
      key - the input registry key of a potential object in this registry
      Returns:
      the resolved registry key
    • getId

      int getId(net.minecraft.resources.ResourceKey<T> key)
      Gets the integer id linked to the given key. If the key is not present in the registry, the default entry's integer id is returned if the registry is defaulted or -1 if the registry is not defaulted
      Parameters:
      key - the resource key to lookup
      Returns:
      the integer id linked to the given key
    • getId

      int getId(net.minecraft.resources.ResourceLocation name)
      Gets the integer id linked to the given name. If the name is not present in the registry, the default entry's integer id is returned if the registry is defaulted or -1 if the registry is not defaulted
      Parameters:
      name - the resource name to lookup
      Returns:
      the integer id linked to the given name
    • containsValue

      boolean containsValue(T value)
      Returns true if this registry contains the value.
      Parameters:
      value - the object whose existence to check for
      Returns:
      true if this registry contains the value
    • getDataMap

      <A> Map<net.minecraft.resources.ResourceKey<T>,A> getDataMap(DataMapType<T,A> type)
      Returns the data map of the given type.
      Type Parameters:
      A - the data type
      Returns:
      the data map of the given type
    • getKeyOrNull

      @Nullable default @Nullable net.minecraft.resources.ResourceLocation getKeyOrNull(T element)
      Returns the key of the element, or null if it is not present in this registry.
      Returns:
      the key of the element, or null if it is not present in this registry