Class RegistryObject<T extends IForgeRegistryEntry<? super T>>

java.lang.Object
net.minecraftforge.fmllegacy.RegistryObject<T>
All Implemented Interfaces:
Supplier<T>

public final class RegistryObject<T extends IForgeRegistryEntry<? super T>> extends Object implements Supplier<T>
  • Field Details

  • Constructor Details

  • Method Details

    • of

      public static <T extends IForgeRegistryEntry<T>,​ U extends T> RegistryObject<U> of(ResourceLocation name, Supplier<Class<? super T>> registryType)
    • of

      public static <T extends IForgeRegistryEntry<T>,​ U extends T> RegistryObject<U> of(ResourceLocation name, IForgeRegistry<T> registry)
    • of

      public static <T extends IForgeRegistryEntry<T>,​ U extends T> RegistryObject<U> of(ResourceLocation name, Class<T> baseType, String modid)
    • empty

      private static <T extends IForgeRegistryEntry<? super T>> RegistryObject<T> empty()
    • get

      @Nonnull public T get()
      Directly retrieves the wrapped Registry Object. This value will automatically be updated when the backing registry is updated. Will throw NPE if the value is null, use isPresent to check first. Or use any of the other guarded functions.
      Specified by:
      get in interface Supplier<T extends IForgeRegistryEntry<? super T>>
    • updateReference

      public void updateReference(IForgeRegistry<? extends T> registry)
    • getId

      public ResourceLocation getId()
    • stream

      public Stream<T> stream()
    • isPresent

      public boolean isPresent()
      Return true if there is a mod object present, otherwise false.
      Returns:
      true if there is a mod object present, otherwise false
    • ifPresent

      public void ifPresent(Consumer<? super T> consumer)
      If a mod object is present, invoke the specified consumer with the object, otherwise do nothing.
      Parameters:
      consumer - block to be executed if a mod object is present
      Throws:
      NullPointerException - if mod object is present and consumer is null
    • filter

      public RegistryObject<T> filter(Predicate<? super T> predicate)
      If a mod object is present, and the mod object matches the given predicate, return an RegistryObject describing the value, otherwise return an empty RegistryObject.
      Parameters:
      predicate - a predicate to apply to the mod object, if present
      Returns:
      an RegistryObject describing the value of this RegistryObject if a mod object is present and the mod object matches the given predicate, otherwise an empty RegistryObject
      Throws:
      NullPointerException - if the predicate is null
    • map

      public <U> Optional<U> map(Function<? super T,​? extends U> mapper)
      If a mod object is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result. Otherwise return an empty Optional.
      Type Parameters:
      U - The type of the result of the mapping function
      Parameters:
      mapper - a mapping function to apply to the mod object, if present
      Returns:
      an Optional describing the result of applying a mapping function to the mod object of this RegistryObject, if a mod object is present, otherwise an empty Optional
      Throws:
      NullPointerException - if the mapping function is null
    • flatMap

      public <U> Optional<U> flatMap(Function<? super T,​Optional<U>> mapper)
      If a value is present, apply the provided Optional-bearing mapping function to it, return that result, otherwise return an empty Optional. This method is similar to map(Function), but the provided mapper is one whose result is already an Optional, and if invoked, flatMap does not wrap it with an additional Optional.
      Type Parameters:
      U - The type parameter to the Optional returned by
      Parameters:
      mapper - a mapping function to apply to the mod object, if present the mapping function
      Returns:
      the result of applying an Optional-bearing mapping function to the value of this Optional, if a value is present, otherwise an empty Optional
      Throws:
      NullPointerException - if the mapping function is null or returns a null result
    • lazyMap

      public <U> Supplier<U> lazyMap(Function<? super T,​? extends U> mapper)
      If a mod object is present, lazily apply the provided mapping function to it, returning a supplier for the transformed result. If this object is empty, or the mapping function returns null, the supplier will return null.
      Type Parameters:
      U - The type of the result of the mapping function
      Parameters:
      mapper - A mapping function to apply to the mod object, if present
      Returns:
      A Supplier lazily providing the result of applying a mapping function to the mod object of this RegistryObject, if a mod object is present, otherwise a supplier returning null
      Throws:
      NullPointerException - if the mapping function is null
    • orElse

      public T orElse(T other)
      Return the mod object if present, otherwise return other.
      Parameters:
      other - the mod object to be returned if there is no mod object present, may be null
      Returns:
      the mod object, if present, otherwise other
    • orElseGet

      public T orElseGet(Supplier<? extends T> other)
      Return the mod object if present, otherwise invoke other and return the result of that invocation.
      Parameters:
      other - a Supplier whose result is returned if no mod object is present
      Returns:
      the mod object if present otherwise the result of other.get()
      Throws:
      NullPointerException - if mod object is not present and other is null
    • orElseThrow

      public <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) throws X
      Return the contained mod object, if present, otherwise throw an exception to be created by the provided supplier.
      Type Parameters:
      X - Type of the exception to be thrown
      Parameters:
      exceptionSupplier - The supplier which will return the exception to be thrown
      Returns:
      the present mod object
      Throws:
      X - if there is no mod object present
      NullPointerException - if no mod object is present and exceptionSupplier is null
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object