Class ModBlockLootTables

java.lang.Object
net.minecraft.data.loot.BlockLootSubProvider
net.minheur.mhm_bitsnbobs.datagen.loot.ModBlockLootTables
All Implemented Interfaces:
net.minecraft.data.loot.LootTableSubProvider

public class ModBlockLootTables extends net.minecraft.data.loot.BlockLootSubProvider
This class is used to generate block loot tables. To exclude a block from loot tables, use .noLootTable() in the Block.property() part of the block creation (taking place in ModBlocks).

To exclude the block from the datagen but still having a manual loot table in the files, use getKnownBlocks() down here.

See Also:
  • Field Summary

    Fields inherited from class net.minecraft.data.loot.BlockLootSubProvider

    enabledFeatures, explosionResistant, HAS_NO_SILK_TOUCH, HAS_SHEARS, HAS_SILK_TOUCH, map, NORMAL_LEAVES_SAPLING_CHANCES
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.minecraft.world.level.storage.loot.LootTable.Builder
    createCopperLickOreDrops(net.minecraft.world.level.block.Block pBlock, net.minecraft.world.item.Item item)
     
    protected net.minecraft.world.level.storage.loot.LootTable.Builder
    createOneDropTable(net.minecraft.world.level.ItemLike pItem, int pCount)
     
    protected void
    dropOneType(net.minecraft.world.level.block.Block rootBlock, net.minecraft.world.level.ItemLike droppedItem, int dropCount)
     
    protected void
    Method called in DataGenerators.
    protected Iterable<net.minecraft.world.level.block.Block>
    Here, you can add .filter(block -> block != ModBlocks.YOUR_BLOCK.get()) to remove YOUR_BLOCK from creating a data-generated file.

    Methods inherited from class net.minecraft.data.loot.BlockLootSubProvider

    add, add, addNetherVinesDropTable, applyExplosionCondition, applyExplosionDecay, createAttachedStemDrops, createBannerDrop, createBeeHiveDrop, createBeeNestDrop, createCandleCakeDrops, createCandleDrops, createCaveVinesDrop, createCopperOreDrops, createCropDrops, createDoorTable, createDoublePlantShearsDrop, createDoublePlantWithSeedDrops, createGrassDrops, createLapisOreDrops, createLeavesDrops, createMangroveLeavesDrops, createMultifaceBlockDrops, createMushroomBlockDrop, createNameableBlockEntityTable, createOakLeavesDrops, createOreDrop, createPetalsDrops, createPotFlowerItemTable, createRedstoneOreDrops, createSelfDropDispatchTable, createShearsDispatchTable, createShearsOnlyDrop, createShulkerBoxDrop, createSilkTouchDispatchTable, createSilkTouchOnlyTable, createSilkTouchOrShearsDispatchTable, createSingleItemTable, createSingleItemTable, createSingleItemTableWithSilkTouch, createSingleItemTableWithSilkTouch, createSinglePropConditionTable, createSlabItemTable, createStemDrops, dropOther, dropPottedContents, dropSelf, dropWhenSilkTouch, generate, noDrop, otherWhenSilkTouch

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ModBlockLootTables

      public ModBlockLootTables()
  • Method Details

    • generate

      protected void generate()
      Method called in DataGenerators. Generate to loot tables.
      Specified by:
      generate in class net.minecraft.data.loot.BlockLootSubProvider
    • createCopperLickOreDrops

      protected net.minecraft.world.level.storage.loot.LootTable.Builder createCopperLickOreDrops(net.minecraft.world.level.block.Block pBlock, net.minecraft.world.item.Item item)
    • createOneDropTable

      protected net.minecraft.world.level.storage.loot.LootTable.Builder createOneDropTable(net.minecraft.world.level.ItemLike pItem, int pCount)
    • dropOneType

      protected void dropOneType(net.minecraft.world.level.block.Block rootBlock, net.minecraft.world.level.ItemLike droppedItem, int dropCount)
    • getKnownBlocks

      protected Iterable<net.minecraft.world.level.block.Block> getKnownBlocks()
      Here, you can add .filter(block -> block != ModBlocks.YOUR_BLOCK.get()) to remove YOUR_BLOCK from creating a data-generated file. It will still look for a file it the manuals ones.
      Overrides:
      getKnownBlocks in class net.minecraft.data.loot.BlockLootSubProvider