Class DataGenComponent

java.lang.Object
codechicken.lib.block.ModularBlock.Component
codechicken.lib.block.component.data.DataGenComponent
Direct Known Subclasses:
LangComponent, LootTableComponent, TagComponent

@Experimental public abstract class DataGenComponent extends ModularBlock.Component
Defines a component that only stores data for data generators.

There is no automatic discovery mechanism for these, you must manually register your ModularBlock instances to each DataProvider

You can either add each block manually via addToProvider(ModularBlock, DataProvider). Or you can register your entire net.minecraftforge.registries.DeferredRegister<net.minecraft.world.level.block.Block> via addAllToProvider(DeferredRegister, DataProvider)

Created by covers1624 on 22/7/22.

  • Constructor Details

    • DataGenComponent

      public DataGenComponent()
  • Method Details

    • addToProvider

      protected abstract void addToProvider(net.minecraft.data.DataProvider provider)
      Add this component to the provided DataProvider.

      Implementors will need to filter for the correct DataProvider implementation.

      Parameters:
      provider - The data provider to add to.
    • addToProvider

      public static void addToProvider(ModularBlock block, net.minecraft.data.DataProvider provider)
      Ask all DataGenComponents in the provided ModularBlock to add data to the provided DataProvider.
      Parameters:
      block - The ModularBlock.
      provider - The DataProvider to add things to.
    • addAllToProvider

      public static void addAllToProvider(net.minecraftforge.registries.DeferredRegister<net.minecraft.world.level.block.Block> blocks, net.minecraft.data.DataProvider provider)
      Ask all DataGenComponents in all ModularBlocks in the provided DeferredRegister to add data to the provided DataProvider.
      Parameters:
      blocks - The DeferredRegister to add blocks from.
      provider - The DataProvider to add things to.