Class BlockLootSubProvider
java.lang.Object
net.minecraft.data.loot.BlockLootSubProvider
- All Implemented Interfaces:
LootTableSubProvider
- Direct Known Subclasses:
VanillaBlockLoot
-
Nested Class Summary
Nested classes/interfaces inherited from interface LootTableSubProvider
LootTableSubProvider.Context, LootTableSubProvider.Factory -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final HolderGetter<Block> private final FeatureFlagSetprotected final HolderGetter<Enchantment> protected final HolderGetter<Item> private final Map<ResourceKey<LootTable>, LootTable.Builder> protected static final float[]private static final float[]protected final LootTableSubProvider.Contextprotected final HolderGetter<LootItemCondition> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedBlockLootSubProvider(Set<Item> explosionResistant, FeatureFlagSet enabledFeatures, LootTableSubProvider.Context output) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidadd(Block block, Function<Block, LootTable.Builder> builder) protected voidadd(Block block, LootTable.Builder builder) protected voidaddNetherVinesDropTable(Block vineBlock, Block plantBlock) protected <T extends ConditionUserBuilder<T>>
TapplyExplosionCondition(ItemLike type, ConditionUserBuilder<T> builder) protected <T extends FunctionUserBuilder<T>>
TapplyExplosionDecay(ItemLike type, FunctionUserBuilder<T> builder) createAttachedStemDrops(Block block, Item drop) protected LootTable.BuildercreateBannerDrop(Block original) protected LootTable.BuildercreateBeeHiveDrop(Block original) protected LootTable.BuildercreateBeeNestDrop(Block original) protected static LootTable.BuildercreateCandleCakeDrops(Block candle) protected LootTable.BuildercreateCandleDrops(Block block) protected LootTable.BuildercreateCaveVinesDrop(Block original) protected LootTable.Builderprotected LootTable.BuildercreateCopperOreDrops(Block block) protected LootTable.BuildercreateCropDrops(Block original, Item cropDrop, Item seedDrop, LootItemCondition.Builder isMaxAge) protected LootTable.BuildercreateDoorTable(Block block) protected LootTable.BuildercreateDoublePlantShearsDrop(Block block) protected LootTable.BuildercreateDoublePlantWithSeedDrops(Block block, Block drop) protected LootTable.BuildercreateGrassDrops(Block original) protected LootTable.BuildercreateLapisOreDrops(Block block) protected LootTable.BuildercreateLeavesDrops(Block original, Block sapling, float... saplingChances) protected LootTable.BuildercreateMangroveLeavesDrops(Block block) protected LootTable.BuildercreateMossyCarpetBlockDrops(Block block) protected LootTable.BuildercreateMultifaceBlockDrops(Block block) protected LootTable.BuildercreateMultifaceBlockDrops(Block block, Holder<LootItemCondition> condition) protected LootTable.BuildercreateMushroomBlockDrop(Block original, ItemLike drop) protected LootTable.Builderprotected LootTable.BuildercreateOakLeavesDrops(Block original, Block sapling, float... saplingChances) protected LootTable.BuildercreateOreDrop(Block original, Item drop) protected LootTable.BuildercreatePotFlowerItemTable(ItemLike flower) protected LootTable.BuildercreateRedstoneOreDrops(Block block) createSegmentedBlockDrops(Block block) protected static LootTable.BuildercreateSelfDropDispatchTable(Block original, Holder<LootItemCondition> condition, LootPoolEntryContainer.Builder<?> entry) protected LootTable.BuildercreateShearsDispatchTable(Block original, LootPoolEntryContainer.Builder<?> entry) protected LootTable.BuildercreateShearsOnlyDrop(ItemLike drop) protected LootTable.Builderprotected LootTable.BuildercreateShulkerBoxDrop(Block shulkerBox) protected LootTable.BuildercreateSilkTouchDispatchTable(Block original, LootPoolEntryContainer.Builder<?> entry) protected LootTable.Builderprotected LootTable.BuildercreateSilkTouchOrShearsDispatchTable(Block original, LootPoolEntryContainer.Builder<?> entry) protected LootTable.BuildercreateSingleItemTable(ItemLike drop, Holder<ContextIntProvider> count) protected LootTable.BuildercreateSingleItemTableWithSilkTouch(Block original, ItemLike drop) protected LootTable.BuildercreateSingleItemTableWithSilkTouch(Block original, ItemLike drop, Holder<ContextIntProvider> count) protected <T extends Comparable<T> & StringRepresentable>
LootTable.BuildercreateSinglePropConditionTable(Block drop, Property<T> property, T value) protected LootTable.BuildercreateSlabItemTable(Block slab) createStemDrops(Block block, Item drop) private LootItemCondition.Builderprotected LootItemCondition.Builderprotected voidprotected voiddropPottedContents(Block potted) protected voidprotected voiddropWhenSilkTouch(Block block) protected abstract voidgenerate()protected Holder<LootItemCondition> private LootItemCondition.Builderprotected Holder<LootItemCondition> static LootTable.BuildernoDrop()protected voidotherWhenSilkTouch(Block block, Block other) voidrun()
-
Field Details
-
output
-
enchantments
-
items
-
blocks
-
predicates
-
explosionResistant
-
enabledFeatures
-
map
-
NORMAL_LEAVES_SAPLING_CHANCES
protected static final float[] NORMAL_LEAVES_SAPLING_CHANCES -
NORMAL_LEAVES_STICK_CHANCES
private static final float[] NORMAL_LEAVES_STICK_CHANCES
-
-
Constructor Details
-
BlockLootSubProvider
protected BlockLootSubProvider(Set<Item> explosionResistant, FeatureFlagSet enabledFeatures, LootTableSubProvider.Context output)
-
-
Method Details
-
hasSilkTouch
-
doesNotHaveSilkTouch
-
hasShears
-
hasShearsOrSilkTouch
-
doesNotHaveShearsOrSilkTouch
-
applyExplosionDecay
protected <T extends FunctionUserBuilder<T>> T applyExplosionDecay(ItemLike type, FunctionUserBuilder<T> builder) -
applyExplosionCondition
protected <T extends ConditionUserBuilder<T>> T applyExplosionCondition(ItemLike type, ConditionUserBuilder<T> builder) -
createSingleItemTable
-
createSelfDropDispatchTable
protected static LootTable.Builder createSelfDropDispatchTable(Block original, Holder<LootItemCondition> condition, LootPoolEntryContainer.Builder<?> entry) -
createSilkTouchDispatchTable
protected LootTable.Builder createSilkTouchDispatchTable(Block original, LootPoolEntryContainer.Builder<?> entry) -
createShearsDispatchTable
protected LootTable.Builder createShearsDispatchTable(Block original, LootPoolEntryContainer.Builder<?> entry) -
createSilkTouchOrShearsDispatchTable
protected LootTable.Builder createSilkTouchOrShearsDispatchTable(Block original, LootPoolEntryContainer.Builder<?> entry) -
createSingleItemTableWithSilkTouch
-
createSingleItemTable
-
createSingleItemTableWithSilkTouch
protected LootTable.Builder createSingleItemTableWithSilkTouch(Block original, ItemLike drop, Holder<ContextIntProvider> count) -
createSilkTouchOnlyTable
-
createPotFlowerItemTable
-
createSlabItemTable
-
createSinglePropConditionTable
protected <T extends Comparable<T> & StringRepresentable> LootTable.Builder createSinglePropConditionTable(Block drop, Property<T> property, T value) -
createNameableBlockEntityTable
-
createShulkerBoxDrop
-
createCopperOreDrops
-
createLapisOreDrops
-
createRedstoneOreDrops
-
createBannerDrop
-
createBeeNestDrop
-
createBeeHiveDrop
-
createCaveVinesDrop
-
createCopperGolemStatueBlock
-
createOreDrop
-
createMushroomBlockDrop
-
createGrassDrops
-
createStemDrops
-
createAttachedStemDrops
-
createShearsOnlyDrop
-
createShearsOrSilkTouchOnlyDrop
-
createMultifaceBlockDrops
protected LootTable.Builder createMultifaceBlockDrops(Block block, Holder<LootItemCondition> condition) -
createMultifaceBlockDrops
-
createMossyCarpetBlockDrops
-
createLeavesDrops
protected LootTable.Builder createLeavesDrops(Block original, Block sapling, float... saplingChances) -
createOakLeavesDrops
protected LootTable.Builder createOakLeavesDrops(Block original, Block sapling, float... saplingChances) -
createMangroveLeavesDrops
-
createCropDrops
protected LootTable.Builder createCropDrops(Block original, Item cropDrop, Item seedDrop, LootItemCondition.Builder isMaxAge) -
createDoublePlantShearsDrop
-
createDoublePlantWithSeedDrops
-
createCandleDrops
-
createSegmentedBlockDrops
-
createCandleCakeDrops
-
noDrop
-
generate
protected abstract void generate() -
getKnownBlocks
-
run
public void run()- Specified by:
runin interfaceLootTableSubProvider
-
addNetherVinesDropTable
-
createDoorTable
-
dropPottedContents
-
otherWhenSilkTouch
-
dropOther
-
dropWhenSilkTouch
-
dropSelf
-
add
-
add
-