Class DeferredRegister<T>

java.lang.Object
net.ixdarklord.coolcatcore.api.registry.DeferredRegister<T>
Type Parameters:
T - the registry's type

public abstract class DeferredRegister<T> extends Object
Registers a mod's objects into one registry at the right time on each loader.

 public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(MOD_ID, Registries.ITEM);
 public static final RegistryEntry<Item> WAND = ITEMS.register("wand", () -> new Item(...));
 // during mod initialisation:
 ITEMS.register();
 
  • Field Details

    • modId

      protected final String modId
    • registryKey

      protected final net.minecraft.resources.ResourceKey<? extends net.minecraft.core.Registry<T>> registryKey
  • Constructor Details

    • DeferredRegister

      protected DeferredRegister(String modId, net.minecraft.resources.ResourceKey<? extends net.minecraft.core.Registry<T>> registryKey)
  • Method Details

    • create

      public static <T> DeferredRegister<T> create(String modId, net.minecraft.resources.ResourceKey<? extends net.minecraft.core.Registry<T>> registryKey)
    • register

      public abstract <I extends T> RegistryEntry<I> register(String name, Supplier<? extends I> supplier)
      Adds an object, created when the registry is filled, under modId:name.
    • register

      public abstract void register()
      Hooks this register into the loader. Call once, while the mod initialises; objects added afterwards are still registered on Fabric, but not on Forge.
    • getEntries

      public abstract Collection<RegistryEntry<? extends T>> getEntries()
      Everything added so far.
    • getModId

      public String getModId()
    • getRegistryKey

      public net.minecraft.resources.ResourceKey<? extends net.minecraft.core.Registry<T>> getRegistryKey()