/* * Decompiled with CFR 0.152. */ package net.minecraft.data.loot.packs; import java.util.List; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import net.minecraft.advancements.criterion.ItemPredicate; import net.minecraft.advancements.criterion.StatePropertiesPredicate; import net.minecraft.core.HolderGetter; import net.minecraft.core.HolderLookup; import net.minecraft.core.component.DataComponents; import net.minecraft.core.registries.Registries; import net.minecraft.data.loot.BlockLootSubProvider; import net.minecraft.tags.ItemTags; import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.item.Item; import net.minecraft.world.item.Items; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.BedBlock; import net.minecraft.world.level.block.BeetrootBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CarrotBlock; import net.minecraft.world.level.block.CocoaBlock; import net.minecraft.world.level.block.ComposterBlock; import net.minecraft.world.level.block.CropBlock; import net.minecraft.world.level.block.DecoratedPotBlock; import net.minecraft.world.level.block.DoublePlantBlock; import net.minecraft.world.level.block.MangrovePropaguleBlock; import net.minecraft.world.level.block.NetherWartBlock; import net.minecraft.world.level.block.PitcherCropBlock; import net.minecraft.world.level.block.PotatoBlock; import net.minecraft.world.level.block.SeaPickleBlock; import net.minecraft.world.level.block.SnowLayerBlock; import net.minecraft.world.level.block.SweetBerryBushBlock; import net.minecraft.world.level.block.TntBlock; import net.minecraft.world.level.block.state.properties.BedPart; import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; import net.minecraft.world.level.storage.loot.IntRange; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.entries.AlternativesEntry; import net.minecraft.world.level.storage.loot.entries.DynamicLoot; import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer; import net.minecraft.world.level.storage.loot.entries.LootPoolSingletonContainer; import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount; import net.minecraft.world.level.storage.loot.functions.CopyComponentsFunction; import net.minecraft.world.level.storage.loot.functions.LimitCount; import net.minecraft.world.level.storage.loot.functions.LootItemFunction; import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.level.storage.loot.predicates.BonusLevelTableCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemEntityPropertyCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemRandomChanceCondition; import net.minecraft.world.level.storage.loot.predicates.MatchTool; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; public class VanillaBlockLoot extends BlockLootSubProvider { private static final float[] JUNGLE_LEAVES_SAPLING_CHANGES = new float[]{0.025f, 0.027777778f, 0.03125f, 0.041666668f, 0.1f}; private static final Set EXPLOSION_RESISTANT = Stream.of(Blocks.DRAGON_EGG, Blocks.BEACON, Blocks.CONDUIT, Blocks.SKELETON_SKULL, Blocks.WITHER_SKELETON_SKULL, Blocks.PLAYER_HEAD, Blocks.ZOMBIE_HEAD, Blocks.CREEPER_HEAD, Blocks.DRAGON_HEAD, Blocks.PIGLIN_HEAD, Blocks.SHULKER_BOX, Blocks.BLACK_SHULKER_BOX, Blocks.BLUE_SHULKER_BOX, Blocks.BROWN_SHULKER_BOX, Blocks.CYAN_SHULKER_BOX, Blocks.GRAY_SHULKER_BOX, Blocks.GREEN_SHULKER_BOX, Blocks.LIGHT_BLUE_SHULKER_BOX, Blocks.LIGHT_GRAY_SHULKER_BOX, Blocks.LIME_SHULKER_BOX, Blocks.MAGENTA_SHULKER_BOX, Blocks.ORANGE_SHULKER_BOX, Blocks.PINK_SHULKER_BOX, Blocks.PURPLE_SHULKER_BOX, Blocks.RED_SHULKER_BOX, Blocks.WHITE_SHULKER_BOX, Blocks.YELLOW_SHULKER_BOX).map(ItemLike::asItem).collect(Collectors.toSet()); public VanillaBlockLoot(HolderLookup.Provider registries) { super(EXPLOSION_RESISTANT, FeatureFlags.REGISTRY.allFlags(), registries); } @Override protected void generate() { HolderGetter enchantments = this.registries.lookupOrThrow(Registries.ENCHANTMENT); HolderGetter items = this.registries.lookupOrThrow(Registries.ITEM); this.dropSelf(Blocks.GRANITE); this.dropSelf(Blocks.POLISHED_GRANITE); this.dropSelf(Blocks.DIORITE); this.dropSelf(Blocks.POLISHED_DIORITE); this.dropSelf(Blocks.ANDESITE); this.dropSelf(Blocks.POLISHED_ANDESITE); this.dropSelf(Blocks.DIRT); this.dropSelf(Blocks.COARSE_DIRT); this.dropSelf(Blocks.COBBLESTONE); this.dropSelf(Blocks.OAK_PLANKS); this.dropSelf(Blocks.SPRUCE_PLANKS); this.dropSelf(Blocks.BIRCH_PLANKS); this.dropSelf(Blocks.JUNGLE_PLANKS); this.dropSelf(Blocks.ACACIA_PLANKS); this.dropSelf(Blocks.DARK_OAK_PLANKS); this.dropSelf(Blocks.PALE_OAK_PLANKS); this.dropSelf(Blocks.MANGROVE_PLANKS); this.dropSelf(Blocks.CHERRY_PLANKS); this.dropSelf(Blocks.BAMBOO_PLANKS); this.dropSelf(Blocks.BAMBOO_MOSAIC); this.add(Blocks.DECORATED_POT, this::createDecoratedPotTable); this.dropSelf(Blocks.OAK_SAPLING); this.dropSelf(Blocks.SPRUCE_SAPLING); this.dropSelf(Blocks.BIRCH_SAPLING); this.dropSelf(Blocks.JUNGLE_SAPLING); this.dropSelf(Blocks.ACACIA_SAPLING); this.dropSelf(Blocks.DARK_OAK_SAPLING); this.dropSelf(Blocks.PALE_OAK_SAPLING); this.dropSelf(Blocks.CHERRY_SAPLING); this.dropSelf(Blocks.SAND); this.add(Blocks.SUSPICIOUS_SAND, VanillaBlockLoot.noDrop()); this.add(Blocks.SUSPICIOUS_GRAVEL, VanillaBlockLoot.noDrop()); this.dropSelf(Blocks.RED_SAND); this.dropSelf(Blocks.OAK_LOG); this.dropSelf(Blocks.SPRUCE_LOG); this.dropSelf(Blocks.BIRCH_LOG); this.dropSelf(Blocks.JUNGLE_LOG); this.dropSelf(Blocks.ACACIA_LOG); this.dropSelf(Blocks.DARK_OAK_LOG); this.dropSelf(Blocks.PALE_OAK_LOG); this.dropSelf(Blocks.CHERRY_LOG); this.dropSelf(Blocks.BAMBOO_BLOCK); this.dropSelf(Blocks.STRIPPED_OAK_LOG); this.dropSelf(Blocks.STRIPPED_SPRUCE_LOG); this.dropSelf(Blocks.STRIPPED_BIRCH_LOG); this.dropSelf(Blocks.STRIPPED_JUNGLE_LOG); this.dropSelf(Blocks.STRIPPED_ACACIA_LOG); this.dropSelf(Blocks.STRIPPED_DARK_OAK_LOG); this.dropSelf(Blocks.STRIPPED_PALE_OAK_LOG); this.dropSelf(Blocks.STRIPPED_MANGROVE_LOG); this.dropSelf(Blocks.STRIPPED_CHERRY_LOG); this.dropSelf(Blocks.STRIPPED_BAMBOO_BLOCK); this.dropSelf(Blocks.STRIPPED_WARPED_STEM); this.dropSelf(Blocks.STRIPPED_CRIMSON_STEM); this.dropSelf(Blocks.OAK_WOOD); this.dropSelf(Blocks.SPRUCE_WOOD); this.dropSelf(Blocks.BIRCH_WOOD); this.dropSelf(Blocks.JUNGLE_WOOD); this.dropSelf(Blocks.ACACIA_WOOD); this.dropSelf(Blocks.DARK_OAK_WOOD); this.dropSelf(Blocks.PALE_OAK_WOOD); this.dropSelf(Blocks.MANGROVE_WOOD); this.dropSelf(Blocks.CHERRY_WOOD); this.dropSelf(Blocks.STRIPPED_OAK_WOOD); this.dropSelf(Blocks.STRIPPED_SPRUCE_WOOD); this.dropSelf(Blocks.STRIPPED_BIRCH_WOOD); this.dropSelf(Blocks.STRIPPED_JUNGLE_WOOD); this.dropSelf(Blocks.STRIPPED_ACACIA_WOOD); this.dropSelf(Blocks.STRIPPED_DARK_OAK_WOOD); this.dropSelf(Blocks.STRIPPED_PALE_OAK_WOOD); this.dropSelf(Blocks.STRIPPED_MANGROVE_WOOD); this.dropSelf(Blocks.STRIPPED_CHERRY_WOOD); this.dropSelf(Blocks.STRIPPED_CRIMSON_HYPHAE); this.dropSelf(Blocks.STRIPPED_WARPED_HYPHAE); this.dropSelf(Blocks.SPONGE); this.dropSelf(Blocks.WET_SPONGE); this.dropSelf(Blocks.LAPIS_BLOCK); this.dropSelf(Blocks.RESIN_BLOCK); this.dropSelf(Blocks.SANDSTONE); this.dropSelf(Blocks.CHISELED_SANDSTONE); this.dropSelf(Blocks.CUT_SANDSTONE); this.dropSelf(Blocks.NOTE_BLOCK); this.dropSelf(Blocks.POWERED_RAIL); this.dropSelf(Blocks.DETECTOR_RAIL); this.dropSelf(Blocks.STICKY_PISTON); this.dropSelf(Blocks.PISTON); this.dropSelf(Blocks.WHITE_WOOL); this.dropSelf(Blocks.ORANGE_WOOL); this.dropSelf(Blocks.MAGENTA_WOOL); this.dropSelf(Blocks.LIGHT_BLUE_WOOL); this.dropSelf(Blocks.YELLOW_WOOL); this.dropSelf(Blocks.LIME_WOOL); this.dropSelf(Blocks.PINK_WOOL); this.dropSelf(Blocks.GRAY_WOOL); this.dropSelf(Blocks.LIGHT_GRAY_WOOL); this.dropSelf(Blocks.CYAN_WOOL); this.dropSelf(Blocks.PURPLE_WOOL); this.dropSelf(Blocks.BLUE_WOOL); this.dropSelf(Blocks.BROWN_WOOL); this.dropSelf(Blocks.GREEN_WOOL); this.dropSelf(Blocks.RED_WOOL); this.dropSelf(Blocks.BLACK_WOOL); this.dropSelf(Blocks.DANDELION); this.dropSelf(Blocks.OPEN_EYEBLOSSOM); this.dropSelf(Blocks.CLOSED_EYEBLOSSOM); this.dropSelf(Blocks.POPPY); this.dropSelf(Blocks.TORCHFLOWER); this.dropSelf(Blocks.BLUE_ORCHID); this.dropSelf(Blocks.ALLIUM); this.dropSelf(Blocks.AZURE_BLUET); this.dropSelf(Blocks.RED_TULIP); this.dropSelf(Blocks.ORANGE_TULIP); this.dropSelf(Blocks.WHITE_TULIP); this.dropSelf(Blocks.PINK_TULIP); this.dropSelf(Blocks.OXEYE_DAISY); this.dropSelf(Blocks.CORNFLOWER); this.dropSelf(Blocks.WITHER_ROSE); this.dropSelf(Blocks.LILY_OF_THE_VALLEY); this.dropSelf(Blocks.BROWN_MUSHROOM); this.dropSelf(Blocks.RED_MUSHROOM); this.dropSelf(Blocks.GOLD_BLOCK); this.dropSelf(Blocks.IRON_BLOCK); this.dropSelf(Blocks.BRICKS); this.dropSelf(Blocks.MOSSY_COBBLESTONE); this.dropSelf(Blocks.OBSIDIAN); this.dropSelf(Blocks.CRYING_OBSIDIAN); this.dropSelf(Blocks.TORCH); this.dropSelf(Blocks.OAK_STAIRS); this.dropSelf(Blocks.MANGROVE_STAIRS); this.dropSelf(Blocks.BAMBOO_STAIRS); this.dropSelf(Blocks.BAMBOO_MOSAIC_STAIRS); this.dropSelf(Blocks.REDSTONE_WIRE); this.dropSelf(Blocks.DIAMOND_BLOCK); this.dropSelf(Blocks.CRAFTING_TABLE); this.dropSelf(Blocks.OAK_SIGN); this.dropSelf(Blocks.SPRUCE_SIGN); this.dropSelf(Blocks.BIRCH_SIGN); this.dropSelf(Blocks.ACACIA_SIGN); this.dropSelf(Blocks.JUNGLE_SIGN); this.dropSelf(Blocks.DARK_OAK_SIGN); this.dropSelf(Blocks.PALE_OAK_SIGN); this.dropSelf(Blocks.MANGROVE_SIGN); this.dropSelf(Blocks.CHERRY_SIGN); this.dropSelf(Blocks.BAMBOO_SIGN); this.dropSelf(Blocks.OAK_HANGING_SIGN); this.dropSelf(Blocks.SPRUCE_HANGING_SIGN); this.dropSelf(Blocks.BIRCH_HANGING_SIGN); this.dropSelf(Blocks.ACACIA_HANGING_SIGN); this.dropSelf(Blocks.CHERRY_HANGING_SIGN); this.dropSelf(Blocks.JUNGLE_HANGING_SIGN); this.dropSelf(Blocks.DARK_OAK_HANGING_SIGN); this.dropSelf(Blocks.PALE_OAK_HANGING_SIGN); this.dropSelf(Blocks.MANGROVE_HANGING_SIGN); this.dropSelf(Blocks.CRIMSON_HANGING_SIGN); this.dropSelf(Blocks.WARPED_HANGING_SIGN); this.dropSelf(Blocks.BAMBOO_HANGING_SIGN); this.dropSelf(Blocks.LADDER); this.dropSelf(Blocks.RAIL); this.dropSelf(Blocks.COBBLESTONE_STAIRS); this.dropSelf(Blocks.LEVER); this.dropSelf(Blocks.STONE_PRESSURE_PLATE); this.dropSelf(Blocks.OAK_PRESSURE_PLATE); this.dropSelf(Blocks.SPRUCE_PRESSURE_PLATE); this.dropSelf(Blocks.BIRCH_PRESSURE_PLATE); this.dropSelf(Blocks.JUNGLE_PRESSURE_PLATE); this.dropSelf(Blocks.ACACIA_PRESSURE_PLATE); this.dropSelf(Blocks.DARK_OAK_PRESSURE_PLATE); this.dropSelf(Blocks.PALE_OAK_PRESSURE_PLATE); this.dropSelf(Blocks.MANGROVE_PRESSURE_PLATE); this.dropSelf(Blocks.CHERRY_PRESSURE_PLATE); this.dropSelf(Blocks.BAMBOO_PRESSURE_PLATE); this.dropSelf(Blocks.REDSTONE_TORCH); this.dropSelf(Blocks.STONE_BUTTON); this.dropSelf(Blocks.CACTUS); this.dropSelf(Blocks.SUGAR_CANE); this.dropSelf(Blocks.JUKEBOX); this.dropSelf(Blocks.OAK_FENCE); this.dropSelf(Blocks.MANGROVE_FENCE); this.dropSelf(Blocks.BAMBOO_FENCE); this.dropSelf(Blocks.PUMPKIN); this.dropSelf(Blocks.NETHERRACK); this.dropSelf(Blocks.SOUL_SAND); this.dropSelf(Blocks.SOUL_SOIL); this.dropSelf(Blocks.BASALT); this.dropSelf(Blocks.POLISHED_BASALT); this.dropSelf(Blocks.SMOOTH_BASALT); this.dropSelf(Blocks.SOUL_TORCH); this.dropSelf(Blocks.COPPER_TORCH); this.dropSelf(Blocks.CARVED_PUMPKIN); this.dropSelf(Blocks.JACK_O_LANTERN); this.dropSelf(Blocks.REPEATER); this.dropSelf(Blocks.OAK_TRAPDOOR); this.dropSelf(Blocks.SPRUCE_TRAPDOOR); this.dropSelf(Blocks.BIRCH_TRAPDOOR); this.dropSelf(Blocks.JUNGLE_TRAPDOOR); this.dropSelf(Blocks.ACACIA_TRAPDOOR); this.dropSelf(Blocks.DARK_OAK_TRAPDOOR); this.dropSelf(Blocks.PALE_OAK_TRAPDOOR); this.dropSelf(Blocks.MANGROVE_TRAPDOOR); this.dropSelf(Blocks.CHERRY_TRAPDOOR); this.dropSelf(Blocks.BAMBOO_TRAPDOOR); this.dropSelf(Blocks.COPPER_TRAPDOOR); this.dropSelf(Blocks.EXPOSED_COPPER_TRAPDOOR); this.dropSelf(Blocks.WEATHERED_COPPER_TRAPDOOR); this.dropSelf(Blocks.OXIDIZED_COPPER_TRAPDOOR); this.dropSelf(Blocks.WAXED_COPPER_TRAPDOOR); this.dropSelf(Blocks.WAXED_EXPOSED_COPPER_TRAPDOOR); this.dropSelf(Blocks.WAXED_WEATHERED_COPPER_TRAPDOOR); this.dropSelf(Blocks.WAXED_OXIDIZED_COPPER_TRAPDOOR); this.dropSelf(Blocks.STONE_BRICKS); this.dropSelf(Blocks.MOSSY_STONE_BRICKS); this.dropSelf(Blocks.CRACKED_STONE_BRICKS); this.dropSelf(Blocks.CHISELED_STONE_BRICKS); this.dropSelf(Blocks.IRON_BARS); Blocks.COPPER_BARS.forEach(x$0 -> this.dropSelf((Block)x$0)); this.dropSelf(Blocks.OAK_FENCE_GATE); this.dropSelf(Blocks.MANGROVE_FENCE_GATE); this.dropSelf(Blocks.BAMBOO_FENCE_GATE); this.dropSelf(Blocks.BRICK_STAIRS); this.dropSelf(Blocks.STONE_BRICK_STAIRS); this.dropSelf(Blocks.LILY_PAD); this.dropSelf(Blocks.RESIN_BRICKS); this.dropSelf(Blocks.RESIN_BRICK_WALL); this.dropSelf(Blocks.RESIN_BRICK_STAIRS); this.dropSelf(Blocks.CHISELED_RESIN_BRICKS); this.dropSelf(Blocks.NETHER_BRICKS); this.dropSelf(Blocks.NETHER_BRICK_FENCE); this.dropSelf(Blocks.NETHER_BRICK_STAIRS); this.dropSelf(Blocks.CAULDRON); this.dropSelf(Blocks.END_STONE); this.dropSelf(Blocks.REDSTONE_LAMP); this.dropSelf(Blocks.SANDSTONE_STAIRS); this.dropSelf(Blocks.TRIPWIRE_HOOK); this.dropSelf(Blocks.EMERALD_BLOCK); this.dropSelf(Blocks.SPRUCE_STAIRS); this.dropSelf(Blocks.BIRCH_STAIRS); this.dropSelf(Blocks.JUNGLE_STAIRS); this.dropSelf(Blocks.COBBLESTONE_WALL); this.dropSelf(Blocks.MOSSY_COBBLESTONE_WALL); this.dropSelf(Blocks.FLOWER_POT); this.dropSelf(Blocks.OAK_BUTTON); this.dropSelf(Blocks.SPRUCE_BUTTON); this.dropSelf(Blocks.BIRCH_BUTTON); this.dropSelf(Blocks.JUNGLE_BUTTON); this.dropSelf(Blocks.ACACIA_BUTTON); this.dropSelf(Blocks.DARK_OAK_BUTTON); this.dropSelf(Blocks.PALE_OAK_BUTTON); this.dropSelf(Blocks.MANGROVE_BUTTON); this.dropSelf(Blocks.CHERRY_BUTTON); this.dropSelf(Blocks.BAMBOO_BUTTON); this.dropSelf(Blocks.ANVIL); this.dropSelf(Blocks.CHIPPED_ANVIL); this.dropSelf(Blocks.DAMAGED_ANVIL); this.dropSelf(Blocks.LIGHT_WEIGHTED_PRESSURE_PLATE); this.dropSelf(Blocks.HEAVY_WEIGHTED_PRESSURE_PLATE); this.dropSelf(Blocks.COMPARATOR); this.dropSelf(Blocks.DAYLIGHT_DETECTOR); this.dropSelf(Blocks.REDSTONE_BLOCK); this.dropSelf(Blocks.QUARTZ_BLOCK); this.dropSelf(Blocks.CHISELED_QUARTZ_BLOCK); this.dropSelf(Blocks.QUARTZ_PILLAR); this.dropSelf(Blocks.QUARTZ_STAIRS); this.dropSelf(Blocks.ACTIVATOR_RAIL); this.dropSelf(Blocks.WHITE_TERRACOTTA); this.dropSelf(Blocks.ORANGE_TERRACOTTA); this.dropSelf(Blocks.MAGENTA_TERRACOTTA); this.dropSelf(Blocks.LIGHT_BLUE_TERRACOTTA); this.dropSelf(Blocks.YELLOW_TERRACOTTA); this.dropSelf(Blocks.LIME_TERRACOTTA); this.dropSelf(Blocks.PINK_TERRACOTTA); this.dropSelf(Blocks.GRAY_TERRACOTTA); this.dropSelf(Blocks.LIGHT_GRAY_TERRACOTTA); this.dropSelf(Blocks.CYAN_TERRACOTTA); this.dropSelf(Blocks.PURPLE_TERRACOTTA); this.dropSelf(Blocks.BLUE_TERRACOTTA); this.dropSelf(Blocks.BROWN_TERRACOTTA); this.dropSelf(Blocks.GREEN_TERRACOTTA); this.dropSelf(Blocks.RED_TERRACOTTA); this.dropSelf(Blocks.BLACK_TERRACOTTA); this.dropSelf(Blocks.ACACIA_STAIRS); this.dropSelf(Blocks.DARK_OAK_STAIRS); this.dropSelf(Blocks.PALE_OAK_STAIRS); this.dropSelf(Blocks.CHERRY_STAIRS); this.dropSelf(Blocks.SLIME_BLOCK); this.dropSelf(Blocks.IRON_TRAPDOOR); this.dropSelf(Blocks.PRISMARINE); this.dropSelf(Blocks.PRISMARINE_BRICKS); this.dropSelf(Blocks.DARK_PRISMARINE); this.dropSelf(Blocks.PRISMARINE_STAIRS); this.dropSelf(Blocks.PRISMARINE_BRICK_STAIRS); this.dropSelf(Blocks.DARK_PRISMARINE_STAIRS); this.dropSelf(Blocks.HAY_BLOCK); this.dropSelf(Blocks.WHITE_CARPET); this.dropSelf(Blocks.ORANGE_CARPET); this.dropSelf(Blocks.MAGENTA_CARPET); this.dropSelf(Blocks.LIGHT_BLUE_CARPET); this.dropSelf(Blocks.YELLOW_CARPET); this.dropSelf(Blocks.LIME_CARPET); this.dropSelf(Blocks.PINK_CARPET); this.dropSelf(Blocks.GRAY_CARPET); this.dropSelf(Blocks.LIGHT_GRAY_CARPET); this.dropSelf(Blocks.CYAN_CARPET); this.dropSelf(Blocks.PURPLE_CARPET); this.dropSelf(Blocks.BLUE_CARPET); this.dropSelf(Blocks.BROWN_CARPET); this.dropSelf(Blocks.GREEN_CARPET); this.dropSelf(Blocks.RED_CARPET); this.dropSelf(Blocks.BLACK_CARPET); this.dropSelf(Blocks.TERRACOTTA); this.dropSelf(Blocks.COAL_BLOCK); this.dropSelf(Blocks.RED_SANDSTONE); this.dropSelf(Blocks.CHISELED_RED_SANDSTONE); this.dropSelf(Blocks.CUT_RED_SANDSTONE); this.dropSelf(Blocks.RED_SANDSTONE_STAIRS); this.dropSelf(Blocks.SMOOTH_STONE); this.dropSelf(Blocks.SMOOTH_SANDSTONE); this.dropSelf(Blocks.SMOOTH_QUARTZ); this.dropSelf(Blocks.SMOOTH_RED_SANDSTONE); this.dropSelf(Blocks.SPRUCE_FENCE_GATE); this.dropSelf(Blocks.BIRCH_FENCE_GATE); this.dropSelf(Blocks.JUNGLE_FENCE_GATE); this.dropSelf(Blocks.ACACIA_FENCE_GATE); this.dropSelf(Blocks.DARK_OAK_FENCE_GATE); this.dropSelf(Blocks.PALE_OAK_FENCE_GATE); this.dropSelf(Blocks.CHERRY_FENCE_GATE); this.dropSelf(Blocks.SPRUCE_FENCE); this.dropSelf(Blocks.BIRCH_FENCE); this.dropSelf(Blocks.JUNGLE_FENCE); this.dropSelf(Blocks.ACACIA_FENCE); this.dropSelf(Blocks.DARK_OAK_FENCE); this.dropSelf(Blocks.PALE_OAK_FENCE); this.dropSelf(Blocks.CHERRY_FENCE); this.dropSelf(Blocks.END_ROD); this.dropSelf(Blocks.PURPUR_BLOCK); this.dropSelf(Blocks.PURPUR_PILLAR); this.dropSelf(Blocks.PURPUR_STAIRS); this.dropSelf(Blocks.END_STONE_BRICKS); this.dropSelf(Blocks.MAGMA_BLOCK); this.dropSelf(Blocks.NETHER_WART_BLOCK); this.dropSelf(Blocks.RED_NETHER_BRICKS); this.dropSelf(Blocks.BONE_BLOCK); this.dropSelf(Blocks.OBSERVER); this.dropSelf(Blocks.TARGET); this.dropSelf(Blocks.WHITE_GLAZED_TERRACOTTA); this.dropSelf(Blocks.ORANGE_GLAZED_TERRACOTTA); this.dropSelf(Blocks.MAGENTA_GLAZED_TERRACOTTA); this.dropSelf(Blocks.LIGHT_BLUE_GLAZED_TERRACOTTA); this.dropSelf(Blocks.YELLOW_GLAZED_TERRACOTTA); this.dropSelf(Blocks.LIME_GLAZED_TERRACOTTA); this.dropSelf(Blocks.PINK_GLAZED_TERRACOTTA); this.dropSelf(Blocks.GRAY_GLAZED_TERRACOTTA); this.dropSelf(Blocks.LIGHT_GRAY_GLAZED_TERRACOTTA); this.dropSelf(Blocks.CYAN_GLAZED_TERRACOTTA); this.dropSelf(Blocks.PURPLE_GLAZED_TERRACOTTA); this.dropSelf(Blocks.BLUE_GLAZED_TERRACOTTA); this.dropSelf(Blocks.BROWN_GLAZED_TERRACOTTA); this.dropSelf(Blocks.GREEN_GLAZED_TERRACOTTA); this.dropSelf(Blocks.RED_GLAZED_TERRACOTTA); this.dropSelf(Blocks.BLACK_GLAZED_TERRACOTTA); this.dropSelf(Blocks.WHITE_CONCRETE); this.dropSelf(Blocks.ORANGE_CONCRETE); this.dropSelf(Blocks.MAGENTA_CONCRETE); this.dropSelf(Blocks.LIGHT_BLUE_CONCRETE); this.dropSelf(Blocks.YELLOW_CONCRETE); this.dropSelf(Blocks.LIME_CONCRETE); this.dropSelf(Blocks.PINK_CONCRETE); this.dropSelf(Blocks.GRAY_CONCRETE); this.dropSelf(Blocks.LIGHT_GRAY_CONCRETE); this.dropSelf(Blocks.CYAN_CONCRETE); this.dropSelf(Blocks.PURPLE_CONCRETE); this.dropSelf(Blocks.BLUE_CONCRETE); this.dropSelf(Blocks.BROWN_CONCRETE); this.dropSelf(Blocks.GREEN_CONCRETE); this.dropSelf(Blocks.RED_CONCRETE); this.dropSelf(Blocks.BLACK_CONCRETE); this.dropSelf(Blocks.WHITE_CONCRETE_POWDER); this.dropSelf(Blocks.ORANGE_CONCRETE_POWDER); this.dropSelf(Blocks.MAGENTA_CONCRETE_POWDER); this.dropSelf(Blocks.LIGHT_BLUE_CONCRETE_POWDER); this.dropSelf(Blocks.YELLOW_CONCRETE_POWDER); this.dropSelf(Blocks.LIME_CONCRETE_POWDER); this.dropSelf(Blocks.PINK_CONCRETE_POWDER); this.dropSelf(Blocks.GRAY_CONCRETE_POWDER); this.dropSelf(Blocks.LIGHT_GRAY_CONCRETE_POWDER); this.dropSelf(Blocks.CYAN_CONCRETE_POWDER); this.dropSelf(Blocks.PURPLE_CONCRETE_POWDER); this.dropSelf(Blocks.BLUE_CONCRETE_POWDER); this.dropSelf(Blocks.BROWN_CONCRETE_POWDER); this.dropSelf(Blocks.GREEN_CONCRETE_POWDER); this.dropSelf(Blocks.RED_CONCRETE_POWDER); this.dropSelf(Blocks.BLACK_CONCRETE_POWDER); this.dropSelf(Blocks.KELP); this.dropSelf(Blocks.DRIED_KELP_BLOCK); this.dropSelf(Blocks.DEAD_TUBE_CORAL_BLOCK); this.dropSelf(Blocks.DEAD_BRAIN_CORAL_BLOCK); this.dropSelf(Blocks.DEAD_BUBBLE_CORAL_BLOCK); this.dropSelf(Blocks.DEAD_FIRE_CORAL_BLOCK); this.dropSelf(Blocks.DEAD_HORN_CORAL_BLOCK); this.dropSelf(Blocks.CONDUIT); this.dropSelf(Blocks.DRAGON_EGG); this.dropSelf(Blocks.BAMBOO); this.dropSelf(Blocks.POLISHED_GRANITE_STAIRS); this.dropSelf(Blocks.SMOOTH_RED_SANDSTONE_STAIRS); this.dropSelf(Blocks.MOSSY_STONE_BRICK_STAIRS); this.dropSelf(Blocks.POLISHED_DIORITE_STAIRS); this.dropSelf(Blocks.MOSSY_COBBLESTONE_STAIRS); this.dropSelf(Blocks.END_STONE_BRICK_STAIRS); this.dropSelf(Blocks.STONE_STAIRS); this.dropSelf(Blocks.SMOOTH_SANDSTONE_STAIRS); this.dropSelf(Blocks.SMOOTH_QUARTZ_STAIRS); this.dropSelf(Blocks.GRANITE_STAIRS); this.dropSelf(Blocks.ANDESITE_STAIRS); this.dropSelf(Blocks.RED_NETHER_BRICK_STAIRS); this.dropSelf(Blocks.POLISHED_ANDESITE_STAIRS); this.dropSelf(Blocks.DIORITE_STAIRS); this.dropSelf(Blocks.BRICK_WALL); this.dropSelf(Blocks.PRISMARINE_WALL); this.dropSelf(Blocks.RED_SANDSTONE_WALL); this.dropSelf(Blocks.MOSSY_STONE_BRICK_WALL); this.dropSelf(Blocks.GRANITE_WALL); this.dropSelf(Blocks.STONE_BRICK_WALL); this.dropSelf(Blocks.NETHER_BRICK_WALL); this.dropSelf(Blocks.ANDESITE_WALL); this.dropSelf(Blocks.RED_NETHER_BRICK_WALL); this.dropSelf(Blocks.SANDSTONE_WALL); this.dropSelf(Blocks.END_STONE_BRICK_WALL); this.dropSelf(Blocks.DIORITE_WALL); this.dropSelf(Blocks.MUD_BRICK_WALL); this.dropSelf(Blocks.LOOM); this.dropSelf(Blocks.SCAFFOLDING); this.dropSelf(Blocks.HONEY_BLOCK); this.dropSelf(Blocks.HONEYCOMB_BLOCK); this.dropSelf(Blocks.RESPAWN_ANCHOR); this.dropSelf(Blocks.LODESTONE); this.dropSelf(Blocks.WARPED_STEM); this.dropSelf(Blocks.WARPED_HYPHAE); this.dropSelf(Blocks.WARPED_FUNGUS); this.dropSelf(Blocks.WARPED_WART_BLOCK); this.dropSelf(Blocks.CRIMSON_STEM); this.dropSelf(Blocks.CRIMSON_HYPHAE); this.dropSelf(Blocks.CRIMSON_FUNGUS); this.dropSelf(Blocks.SHROOMLIGHT); this.dropSelf(Blocks.CRIMSON_PLANKS); this.dropSelf(Blocks.WARPED_PLANKS); this.dropSelf(Blocks.WARPED_PRESSURE_PLATE); this.dropSelf(Blocks.WARPED_FENCE); this.dropSelf(Blocks.WARPED_TRAPDOOR); this.dropSelf(Blocks.WARPED_FENCE_GATE); this.dropSelf(Blocks.WARPED_STAIRS); this.dropSelf(Blocks.WARPED_BUTTON); this.dropSelf(Blocks.WARPED_SIGN); this.dropSelf(Blocks.CRIMSON_PRESSURE_PLATE); this.dropSelf(Blocks.CRIMSON_FENCE); this.dropSelf(Blocks.CRIMSON_TRAPDOOR); this.dropSelf(Blocks.CRIMSON_FENCE_GATE); this.dropSelf(Blocks.CRIMSON_STAIRS); this.dropSelf(Blocks.CRIMSON_BUTTON); this.dropSelf(Blocks.CRIMSON_SIGN); this.dropSelf(Blocks.NETHERITE_BLOCK); this.dropSelf(Blocks.ANCIENT_DEBRIS); this.dropSelf(Blocks.BLACKSTONE); this.dropSelf(Blocks.POLISHED_BLACKSTONE_BRICKS); this.dropSelf(Blocks.POLISHED_BLACKSTONE_BRICK_STAIRS); this.dropSelf(Blocks.BLACKSTONE_STAIRS); this.dropSelf(Blocks.BLACKSTONE_WALL); this.dropSelf(Blocks.POLISHED_BLACKSTONE_BRICK_WALL); this.dropSelf(Blocks.CHISELED_POLISHED_BLACKSTONE); this.dropSelf(Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS); this.dropSelf(Blocks.POLISHED_BLACKSTONE); this.dropSelf(Blocks.POLISHED_BLACKSTONE_STAIRS); this.dropSelf(Blocks.POLISHED_BLACKSTONE_PRESSURE_PLATE); this.dropSelf(Blocks.POLISHED_BLACKSTONE_BUTTON); this.dropSelf(Blocks.POLISHED_BLACKSTONE_WALL); this.dropSelf(Blocks.CHISELED_NETHER_BRICKS); this.dropSelf(Blocks.CRACKED_NETHER_BRICKS); this.dropSelf(Blocks.QUARTZ_BRICKS); this.dropSelf(Blocks.IRON_CHAIN); Blocks.COPPER_CHAIN.forEach(x$0 -> this.dropSelf((Block)x$0)); this.dropSelf(Blocks.WARPED_ROOTS); this.dropSelf(Blocks.CRIMSON_ROOTS); this.dropSelf(Blocks.MUD_BRICKS); this.dropSelf(Blocks.MUDDY_MANGROVE_ROOTS); this.dropSelf(Blocks.MUD_BRICK_STAIRS); this.dropSelf(Blocks.AMETHYST_BLOCK); this.dropSelf(Blocks.CALCITE); this.dropSelf(Blocks.TUFF); this.dropSelf(Blocks.TINTED_GLASS); this.dropWhenSilkTouch(Blocks.SCULK_SENSOR); this.dropWhenSilkTouch(Blocks.CALIBRATED_SCULK_SENSOR); this.dropWhenSilkTouch(Blocks.SCULK); this.dropWhenSilkTouch(Blocks.SCULK_CATALYST); this.add(Blocks.SCULK_VEIN, (Block block) -> this.createMultifaceBlockDrops((Block)block, this.hasSilkTouch())); this.dropWhenSilkTouch(Blocks.SCULK_SHRIEKER); this.dropWhenSilkTouch(Blocks.CHISELED_BOOKSHELF); this.dropSelf(Blocks.COPPER_BLOCK); this.dropSelf(Blocks.EXPOSED_COPPER); this.dropSelf(Blocks.WEATHERED_COPPER); this.dropSelf(Blocks.OXIDIZED_COPPER); this.dropSelf(Blocks.CUT_COPPER); this.dropSelf(Blocks.EXPOSED_CUT_COPPER); this.dropSelf(Blocks.WEATHERED_CUT_COPPER); this.dropSelf(Blocks.OXIDIZED_CUT_COPPER); this.dropSelf(Blocks.WAXED_COPPER_BLOCK); this.dropSelf(Blocks.WAXED_WEATHERED_COPPER); this.dropSelf(Blocks.WAXED_EXPOSED_COPPER); this.dropSelf(Blocks.WAXED_OXIDIZED_COPPER); this.dropSelf(Blocks.WAXED_CUT_COPPER); this.dropSelf(Blocks.WAXED_WEATHERED_CUT_COPPER); this.dropSelf(Blocks.WAXED_EXPOSED_CUT_COPPER); this.dropSelf(Blocks.WAXED_OXIDIZED_CUT_COPPER); this.dropSelf(Blocks.WAXED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.WAXED_EXPOSED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.WAXED_WEATHERED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.WAXED_OXIDIZED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.CUT_COPPER_STAIRS); this.dropSelf(Blocks.EXPOSED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.WEATHERED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.OXIDIZED_CUT_COPPER_STAIRS); this.dropSelf(Blocks.LIGHTNING_ROD); this.dropSelf(Blocks.EXPOSED_LIGHTNING_ROD); this.dropSelf(Blocks.WEATHERED_LIGHTNING_ROD); this.dropSelf(Blocks.OXIDIZED_LIGHTNING_ROD); this.dropSelf(Blocks.WAXED_LIGHTNING_ROD); this.dropSelf(Blocks.WAXED_EXPOSED_LIGHTNING_ROD); this.dropSelf(Blocks.WAXED_WEATHERED_LIGHTNING_ROD); this.dropSelf(Blocks.WAXED_OXIDIZED_LIGHTNING_ROD); this.dropSelf(Blocks.POINTED_DRIPSTONE); this.dropSelf(Blocks.DRIPSTONE_BLOCK); this.dropSelf(Blocks.SPORE_BLOSSOM); this.dropSelf(Blocks.FLOWERING_AZALEA); this.dropSelf(Blocks.AZALEA); this.dropSelf(Blocks.MOSS_CARPET); this.add(Blocks.PINK_PETALS, this.createSegmentedBlockDrops(Blocks.PINK_PETALS)); this.add(Blocks.WILDFLOWERS, this.createSegmentedBlockDrops(Blocks.WILDFLOWERS)); this.add(Blocks.LEAF_LITTER, this.createSegmentedBlockDrops(Blocks.LEAF_LITTER)); this.dropSelf(Blocks.BIG_DRIPLEAF); this.dropSelf(Blocks.MOSS_BLOCK); this.add(Blocks.PALE_MOSS_CARPET, (Block x$0) -> this.createMossyCarpetBlockDrops((Block)x$0)); this.add(Blocks.PALE_HANGING_MOSS, (Block x$0) -> this.createShearsOrSilkTouchOnlyDrop((ItemLike)x$0)); this.dropSelf(Blocks.PALE_MOSS_BLOCK); this.dropSelf(Blocks.ROOTED_DIRT); this.dropSelf(Blocks.COBBLED_DEEPSLATE); this.dropSelf(Blocks.COBBLED_DEEPSLATE_STAIRS); this.dropSelf(Blocks.COBBLED_DEEPSLATE_WALL); this.dropSelf(Blocks.POLISHED_DEEPSLATE); this.dropSelf(Blocks.POLISHED_DEEPSLATE_STAIRS); this.dropSelf(Blocks.POLISHED_DEEPSLATE_WALL); this.dropSelf(Blocks.DEEPSLATE_TILES); this.dropSelf(Blocks.DEEPSLATE_TILE_STAIRS); this.dropSelf(Blocks.DEEPSLATE_TILE_WALL); this.dropSelf(Blocks.DEEPSLATE_BRICKS); this.dropSelf(Blocks.DEEPSLATE_BRICK_STAIRS); this.dropSelf(Blocks.DEEPSLATE_BRICK_WALL); this.dropSelf(Blocks.CHISELED_DEEPSLATE); this.dropSelf(Blocks.CRACKED_DEEPSLATE_BRICKS); this.dropSelf(Blocks.CRACKED_DEEPSLATE_TILES); this.dropSelf(Blocks.RAW_IRON_BLOCK); this.dropSelf(Blocks.RAW_COPPER_BLOCK); this.dropSelf(Blocks.RAW_GOLD_BLOCK); this.dropSelf(Blocks.OCHRE_FROGLIGHT); this.dropSelf(Blocks.VERDANT_FROGLIGHT); this.dropSelf(Blocks.PEARLESCENT_FROGLIGHT); this.dropSelf(Blocks.MANGROVE_ROOTS); this.dropSelf(Blocks.MANGROVE_LOG); this.dropSelf(Blocks.MUD); this.dropSelf(Blocks.PACKED_MUD); this.dropSelf(Blocks.CRAFTER); this.dropSelf(Blocks.CHISELED_TUFF); this.dropSelf(Blocks.TUFF_STAIRS); this.dropSelf(Blocks.TUFF_WALL); this.dropSelf(Blocks.POLISHED_TUFF); this.dropSelf(Blocks.POLISHED_TUFF_STAIRS); this.dropSelf(Blocks.POLISHED_TUFF_WALL); this.dropSelf(Blocks.TUFF_BRICKS); this.dropSelf(Blocks.TUFF_BRICK_STAIRS); this.dropSelf(Blocks.TUFF_BRICK_WALL); this.dropSelf(Blocks.CHISELED_TUFF_BRICKS); this.add(Blocks.TUFF_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.TUFF_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_TUFF_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.dropSelf(Blocks.CHISELED_COPPER); this.dropSelf(Blocks.EXPOSED_CHISELED_COPPER); this.dropSelf(Blocks.WEATHERED_CHISELED_COPPER); this.dropSelf(Blocks.OXIDIZED_CHISELED_COPPER); this.dropSelf(Blocks.WAXED_CHISELED_COPPER); this.dropSelf(Blocks.WAXED_EXPOSED_CHISELED_COPPER); this.dropSelf(Blocks.WAXED_WEATHERED_CHISELED_COPPER); this.dropSelf(Blocks.WAXED_OXIDIZED_CHISELED_COPPER); this.dropSelf(Blocks.COPPER_GRATE); this.dropSelf(Blocks.EXPOSED_COPPER_GRATE); this.dropSelf(Blocks.WEATHERED_COPPER_GRATE); this.dropSelf(Blocks.OXIDIZED_COPPER_GRATE); this.dropSelf(Blocks.WAXED_COPPER_GRATE); this.dropSelf(Blocks.WAXED_EXPOSED_COPPER_GRATE); this.dropSelf(Blocks.WAXED_WEATHERED_COPPER_GRATE); this.dropSelf(Blocks.WAXED_OXIDIZED_COPPER_GRATE); this.dropSelf(Blocks.COPPER_BULB); this.dropSelf(Blocks.EXPOSED_COPPER_BULB); this.dropSelf(Blocks.WEATHERED_COPPER_BULB); this.dropSelf(Blocks.OXIDIZED_COPPER_BULB); this.dropSelf(Blocks.WAXED_COPPER_BULB); this.dropSelf(Blocks.WAXED_EXPOSED_COPPER_BULB); this.dropSelf(Blocks.WAXED_WEATHERED_COPPER_BULB); this.dropSelf(Blocks.WAXED_OXIDIZED_COPPER_BULB); this.add(Blocks.COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.EXPOSED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.WEATHERED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.OXIDIZED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.WAXED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.WAXED_EXPOSED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.WAXED_WEATHERED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.add(Blocks.WAXED_OXIDIZED_COPPER_GOLEM_STATUE, (Block x$0) -> this.createCopperGolemStatueBlock((Block)x$0)); this.dropSelf(Blocks.HEAVY_CORE); this.dropSelf(Blocks.FIREFLY_BUSH); this.dropSelf(Blocks.CACTUS_FLOWER); this.dropOther(Blocks.FARMLAND, Blocks.DIRT); this.dropOther(Blocks.TRIPWIRE, Items.STRING); this.dropOther(Blocks.DIRT_PATH, Blocks.DIRT); this.dropOther(Blocks.KELP_PLANT, Blocks.KELP); this.dropOther(Blocks.BAMBOO_SAPLING, Blocks.BAMBOO); this.dropOther(Blocks.WATER_CAULDRON, Blocks.CAULDRON); this.dropOther(Blocks.LAVA_CAULDRON, Blocks.CAULDRON); this.dropOther(Blocks.POWDER_SNOW_CAULDRON, Blocks.CAULDRON); this.dropOther(Blocks.BIG_DRIPLEAF_STEM, Blocks.BIG_DRIPLEAF); this.add(Blocks.STONE, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.COBBLESTONE)); this.add(Blocks.DEEPSLATE, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.COBBLED_DEEPSLATE)); this.add(Blocks.GRASS_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DIRT)); this.add(Blocks.PODZOL, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DIRT)); this.add(Blocks.MYCELIUM, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DIRT)); this.add(Blocks.TUBE_CORAL_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DEAD_TUBE_CORAL_BLOCK)); this.add(Blocks.BRAIN_CORAL_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DEAD_BRAIN_CORAL_BLOCK)); this.add(Blocks.BUBBLE_CORAL_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DEAD_BUBBLE_CORAL_BLOCK)); this.add(Blocks.FIRE_CORAL_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DEAD_FIRE_CORAL_BLOCK)); this.add(Blocks.HORN_CORAL_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.DEAD_HORN_CORAL_BLOCK)); this.add(Blocks.CRIMSON_NYLIUM, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.NETHERRACK)); this.add(Blocks.WARPED_NYLIUM, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.NETHERRACK)); this.add(Blocks.BOOKSHELF, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Items.BOOK, ConstantValue.exactly(3.0f))); this.add(Blocks.CLAY, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Items.CLAY_BALL, ConstantValue.exactly(4.0f))); this.add(Blocks.ENDER_CHEST, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Blocks.OBSIDIAN, ConstantValue.exactly(8.0f))); this.add(Blocks.SNOW_BLOCK, (Block block) -> this.createSingleItemTableWithSilkTouch((Block)block, Items.SNOWBALL, ConstantValue.exactly(4.0f))); this.add(Blocks.CHORUS_PLANT, this.createSingleItemTable(Items.CHORUS_FRUIT, UniformGenerator.between(0.0f, 1.0f))); this.dropPottedContents(Blocks.POTTED_OAK_SAPLING); this.dropPottedContents(Blocks.POTTED_SPRUCE_SAPLING); this.dropPottedContents(Blocks.POTTED_BIRCH_SAPLING); this.dropPottedContents(Blocks.POTTED_JUNGLE_SAPLING); this.dropPottedContents(Blocks.POTTED_ACACIA_SAPLING); this.dropPottedContents(Blocks.POTTED_DARK_OAK_SAPLING); this.dropPottedContents(Blocks.POTTED_PALE_OAK_SAPLING); this.dropPottedContents(Blocks.POTTED_MANGROVE_PROPAGULE); this.dropPottedContents(Blocks.POTTED_CHERRY_SAPLING); this.dropPottedContents(Blocks.POTTED_FERN); this.dropPottedContents(Blocks.POTTED_DANDELION); this.dropPottedContents(Blocks.POTTED_POPPY); this.dropPottedContents(Blocks.POTTED_OPEN_EYEBLOSSOM); this.dropPottedContents(Blocks.POTTED_CLOSED_EYEBLOSSOM); this.dropPottedContents(Blocks.POTTED_BLUE_ORCHID); this.dropPottedContents(Blocks.POTTED_ALLIUM); this.dropPottedContents(Blocks.POTTED_AZURE_BLUET); this.dropPottedContents(Blocks.POTTED_RED_TULIP); this.dropPottedContents(Blocks.POTTED_ORANGE_TULIP); this.dropPottedContents(Blocks.POTTED_WHITE_TULIP); this.dropPottedContents(Blocks.POTTED_PINK_TULIP); this.dropPottedContents(Blocks.POTTED_OXEYE_DAISY); this.dropPottedContents(Blocks.POTTED_CORNFLOWER); this.dropPottedContents(Blocks.POTTED_LILY_OF_THE_VALLEY); this.dropPottedContents(Blocks.POTTED_WITHER_ROSE); this.dropPottedContents(Blocks.POTTED_RED_MUSHROOM); this.dropPottedContents(Blocks.POTTED_BROWN_MUSHROOM); this.dropPottedContents(Blocks.POTTED_DEAD_BUSH); this.dropPottedContents(Blocks.POTTED_CACTUS); this.dropPottedContents(Blocks.POTTED_BAMBOO); this.dropPottedContents(Blocks.POTTED_CRIMSON_FUNGUS); this.dropPottedContents(Blocks.POTTED_WARPED_FUNGUS); this.dropPottedContents(Blocks.POTTED_CRIMSON_ROOTS); this.dropPottedContents(Blocks.POTTED_WARPED_ROOTS); this.dropPottedContents(Blocks.POTTED_AZALEA); this.dropPottedContents(Blocks.POTTED_FLOWERING_AZALEA); this.dropPottedContents(Blocks.POTTED_TORCHFLOWER); this.add(Blocks.OAK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.PETRIFIED_OAK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.SPRUCE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.BIRCH_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.JUNGLE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.ACACIA_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.DARK_OAK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.PALE_OAK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.MANGROVE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.CHERRY_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.BAMBOO_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.BAMBOO_MOSAIC_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.COBBLESTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.DARK_PRISMARINE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.NETHER_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.PRISMARINE_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.PRISMARINE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.PURPUR_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.QUARTZ_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.RED_SANDSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.SANDSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.CUT_RED_SANDSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.CUT_SANDSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.STONE_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.STONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.SMOOTH_STONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_GRANITE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.SMOOTH_RED_SANDSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.MOSSY_STONE_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_DIORITE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.MOSSY_COBBLESTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.END_STONE_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.SMOOTH_SANDSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.SMOOTH_QUARTZ_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.GRANITE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.ANDESITE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.RED_NETHER_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_ANDESITE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.DIORITE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.CRIMSON_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.WARPED_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.BLACKSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_BLACKSTONE_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_BLACKSTONE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.OXIDIZED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.WEATHERED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.EXPOSED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.WAXED_OXIDIZED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.WAXED_WEATHERED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.WAXED_EXPOSED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.WAXED_CUT_COPPER_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.COBBLED_DEEPSLATE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.POLISHED_DEEPSLATE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.DEEPSLATE_TILE_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.DEEPSLATE_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.MUD_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.RESIN_BRICK_SLAB, (Block x$0) -> this.createSlabItemTable((Block)x$0)); this.add(Blocks.OAK_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.SPRUCE_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.BIRCH_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.JUNGLE_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.ACACIA_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.DARK_OAK_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.PALE_OAK_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.MANGROVE_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.CHERRY_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.BAMBOO_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.WARPED_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.CRIMSON_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.IRON_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.EXPOSED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.WEATHERED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.OXIDIZED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.WAXED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.WAXED_EXPOSED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.WAXED_WEATHERED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.WAXED_OXIDIZED_COPPER_DOOR, (Block x$0) -> this.createDoorTable((Block)x$0)); this.add(Blocks.BLACK_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.BLUE_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.BROWN_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.CYAN_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.GRAY_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.GREEN_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.LIGHT_BLUE_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.LIGHT_GRAY_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.LIME_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.MAGENTA_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.PURPLE_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.ORANGE_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.PINK_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.RED_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.WHITE_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.YELLOW_BED, (Block block) -> this.createSinglePropConditionTable((Block)block, BedBlock.PART, BedPart.HEAD)); this.add(Blocks.LILAC, (Block block) -> this.createSinglePropConditionTable((Block)block, DoublePlantBlock.HALF, DoubleBlockHalf.LOWER)); this.add(Blocks.SUNFLOWER, (Block block) -> this.createSinglePropConditionTable((Block)block, DoublePlantBlock.HALF, DoubleBlockHalf.LOWER)); this.add(Blocks.PEONY, (Block block) -> this.createSinglePropConditionTable((Block)block, DoublePlantBlock.HALF, DoubleBlockHalf.LOWER)); this.add(Blocks.ROSE_BUSH, (Block block) -> this.createSinglePropConditionTable((Block)block, DoublePlantBlock.HALF, DoubleBlockHalf.LOWER)); this.add(Blocks.TNT, LootTable.lootTable().withPool(this.applyExplosionCondition(Blocks.TNT, LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)LootItem.lootTableItem(Blocks.TNT).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.TNT).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(TntBlock.UNSTABLE, false))))))); this.add(Blocks.COCOA, (Block block) -> LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)this.applyExplosionDecay((ItemLike)block, LootItem.lootTableItem(Items.COCOA_BEANS).apply((LootItemFunction.Builder)((Object)SetItemCountFunction.setCount(ConstantValue.exactly(3.0f)).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(CocoaBlock.AGE, 2))))))))); this.add(Blocks.SEA_PICKLE, (Block block) -> LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)this.applyExplosionDecay(Blocks.SEA_PICKLE, LootItem.lootTableItem(block).apply(List.of(Integer.valueOf(2), Integer.valueOf(3), Integer.valueOf(4)), count -> SetItemCountFunction.setCount(ConstantValue.exactly(count.intValue())).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(SeaPickleBlock.PICKLES, count.intValue())))))))); this.add(Blocks.COMPOSTER, (Block block) -> LootTable.lootTable().withPool(LootPool.lootPool().add((LootPoolEntryContainer.Builder)this.applyExplosionDecay((ItemLike)block, LootItem.lootTableItem(Items.COMPOSTER)))).withPool(LootPool.lootPool().add(LootItem.lootTableItem(Items.BONE_MEAL)).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(ComposterBlock.LEVEL, 8))))); this.add(Blocks.CAVE_VINES, (Block x$0) -> this.createCaveVinesDrop((Block)x$0)); this.add(Blocks.CAVE_VINES_PLANT, (Block x$0) -> this.createCaveVinesDrop((Block)x$0)); this.add(Blocks.CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.WHITE_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.ORANGE_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.MAGENTA_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.LIGHT_BLUE_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.YELLOW_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.LIME_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.PINK_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.GRAY_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.LIGHT_GRAY_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.CYAN_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.PURPLE_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.BLUE_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.BROWN_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.GREEN_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.RED_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.BLACK_CANDLE, (Block x$0) -> this.createCandleDrops((Block)x$0)); this.add(Blocks.BEACON, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.BREWING_STAND, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.EXPOSED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.WEATHERED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.OXIDIZED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.WAXED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.WAXED_EXPOSED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.WAXED_WEATHERED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.WAXED_OXIDIZED_COPPER_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.DISPENSER, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.DROPPER, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.ENCHANTING_TABLE, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.FURNACE, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.HOPPER, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.TRAPPED_CHEST, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.SMOKER, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.BLAST_FURNACE, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.add(Blocks.BARREL, (Block x$0) -> this.createNameableBlockEntityTable((Block)x$0)); this.dropSelf(Blocks.CARTOGRAPHY_TABLE); this.dropSelf(Blocks.FLETCHING_TABLE); this.dropSelf(Blocks.GRINDSTONE); this.dropSelf(Blocks.LECTERN); this.dropSelf(Blocks.SMITHING_TABLE); this.dropSelf(Blocks.STONECUTTER); this.dropSelf(Blocks.ACACIA_SHELF); this.dropSelf(Blocks.BAMBOO_SHELF); this.dropSelf(Blocks.BIRCH_SHELF); this.dropSelf(Blocks.CHERRY_SHELF); this.dropSelf(Blocks.CRIMSON_SHELF); this.dropSelf(Blocks.DARK_OAK_SHELF); this.dropSelf(Blocks.JUNGLE_SHELF); this.dropSelf(Blocks.MANGROVE_SHELF); this.dropSelf(Blocks.OAK_SHELF); this.dropSelf(Blocks.PALE_OAK_SHELF); this.dropSelf(Blocks.SPRUCE_SHELF); this.dropSelf(Blocks.WARPED_SHELF); this.add(Blocks.BELL, this::createSingleItemTable); this.add(Blocks.LANTERN, this::createSingleItemTable); this.add(Blocks.SOUL_LANTERN, this::createSingleItemTable); Blocks.COPPER_LANTERN.forEach(block -> this.add((Block)block, this::createSingleItemTable)); this.add(Blocks.SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.BLACK_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.BLUE_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.BROWN_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.CYAN_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.GRAY_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.GREEN_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.LIGHT_BLUE_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.LIGHT_GRAY_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.LIME_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.MAGENTA_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.ORANGE_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.PINK_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.PURPLE_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.RED_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.WHITE_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.YELLOW_SHULKER_BOX, (Block x$0) -> this.createShulkerBoxDrop((Block)x$0)); this.add(Blocks.BLACK_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.BLUE_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.BROWN_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.CYAN_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.GRAY_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.GREEN_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.LIGHT_BLUE_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.LIGHT_GRAY_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.LIME_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.MAGENTA_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.ORANGE_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.PINK_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.PURPLE_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.RED_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.WHITE_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.YELLOW_BANNER, (Block x$0) -> this.createBannerDrop((Block)x$0)); this.add(Blocks.PLAYER_HEAD, (Block block) -> LootTable.lootTable().withPool(this.applyExplosionCondition((ItemLike)block, LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(block).apply(CopyComponentsFunction.copyComponentsFromBlockEntity(LootContextParams.BLOCK_ENTITY).include(DataComponents.PROFILE).include(DataComponents.NOTE_BLOCK_SOUND).include(DataComponents.CUSTOM_NAME))))))); this.add(Blocks.SKELETON_SKULL, this::createMobSkullDrop); this.add(Blocks.WITHER_SKELETON_SKULL, this::createMobSkullDrop); this.add(Blocks.ZOMBIE_HEAD, this::createMobSkullDrop); this.add(Blocks.CREEPER_HEAD, this::createMobSkullDrop); this.add(Blocks.PIGLIN_HEAD, this::createMobSkullDrop); this.add(Blocks.DRAGON_HEAD, this::createMobSkullDrop); this.add(Blocks.BEE_NEST, (Block x$0) -> this.createBeeNestDrop((Block)x$0)); this.add(Blocks.BEEHIVE, (Block x$0) -> this.createBeeHiveDrop((Block)x$0)); this.add(Blocks.OAK_LEAVES, (Block block) -> this.createOakLeavesDrops((Block)block, Blocks.OAK_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.SPRUCE_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.SPRUCE_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.BIRCH_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.BIRCH_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.JUNGLE_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.JUNGLE_SAPLING, JUNGLE_LEAVES_SAPLING_CHANGES)); this.add(Blocks.ACACIA_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.ACACIA_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.DARK_OAK_LEAVES, (Block block) -> this.createOakLeavesDrops((Block)block, Blocks.DARK_OAK_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.PALE_OAK_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.PALE_OAK_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.CHERRY_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.CHERRY_SAPLING, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.AZALEA_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.AZALEA, NORMAL_LEAVES_SAPLING_CHANCES)); this.add(Blocks.FLOWERING_AZALEA_LEAVES, (Block block) -> this.createLeavesDrops((Block)block, Blocks.FLOWERING_AZALEA, NORMAL_LEAVES_SAPLING_CHANCES)); LootItemBlockStatePropertyCondition.Builder isBeetrootMaxAge = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.BEETROOTS).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(BeetrootBlock.AGE, 3)); this.add(Blocks.BEETROOTS, this.createCropDrops(Blocks.BEETROOTS, Items.BEETROOT, Items.BEETROOT_SEEDS, isBeetrootMaxAge)); LootItemBlockStatePropertyCondition.Builder isWheatMaxAge = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.WHEAT).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(CropBlock.AGE, 7)); this.add(Blocks.WHEAT, this.createCropDrops(Blocks.WHEAT, Items.WHEAT, Items.WHEAT_SEEDS, isWheatMaxAge)); LootItemBlockStatePropertyCondition.Builder isCarrotMaxAge = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.CARROTS).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(CarrotBlock.AGE, 7)); LootItemBlockStatePropertyCondition.Builder isMangrovePropaguleMaxAge = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.MANGROVE_PROPAGULE).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(MangrovePropaguleBlock.AGE, 4)); this.add(Blocks.MANGROVE_PROPAGULE, this.applyExplosionDecay(Blocks.MANGROVE_PROPAGULE, LootTable.lootTable().withPool(LootPool.lootPool().when(isMangrovePropaguleMaxAge).add(LootItem.lootTableItem(Items.MANGROVE_PROPAGULE))))); this.add(Blocks.TORCHFLOWER_CROP, this.applyExplosionDecay(Blocks.TORCHFLOWER_CROP, LootTable.lootTable().withPool(LootPool.lootPool().add(LootItem.lootTableItem(Items.TORCHFLOWER_SEEDS))))); this.dropSelf(Blocks.SNIFFER_EGG); this.dropSelf(Blocks.DRIED_GHAST); this.add(Blocks.PITCHER_CROP, (Block block) -> this.createPitcherCropLoot()); this.dropSelf(Blocks.PITCHER_PLANT); this.add(Blocks.PITCHER_PLANT, this.applyExplosionDecay(Blocks.PITCHER_PLANT, LootTable.lootTable().withPool(LootPool.lootPool().add((LootPoolEntryContainer.Builder)LootItem.lootTableItem(Items.PITCHER_PLANT).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.PITCHER_PLANT).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(DoublePlantBlock.HALF, DoubleBlockHalf.LOWER))))))); this.add(Blocks.CARROTS, this.applyExplosionDecay(Blocks.CARROTS, LootTable.lootTable().withPool(LootPool.lootPool().add(LootItem.lootTableItem(Items.CARROT))).withPool(LootPool.lootPool().when(isCarrotMaxAge).add((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(Items.CARROT).apply(ApplyBonusCount.addBonusBinomialDistributionCount(enchantments.getOrThrow(Enchantments.FORTUNE), 0.5714286f, 3))))))); LootItemBlockStatePropertyCondition.Builder isPotatoMaxAge = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.POTATOES).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(PotatoBlock.AGE, 7)); this.add(Blocks.POTATOES, this.applyExplosionDecay(Blocks.POTATOES, LootTable.lootTable().withPool(LootPool.lootPool().add(LootItem.lootTableItem(Items.POTATO))).withPool(LootPool.lootPool().when(isPotatoMaxAge).add((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(Items.POTATO).apply(ApplyBonusCount.addBonusBinomialDistributionCount(enchantments.getOrThrow(Enchantments.FORTUNE), 0.5714286f, 3))))).withPool(LootPool.lootPool().when(isPotatoMaxAge).add((LootPoolEntryContainer.Builder)LootItem.lootTableItem(Items.POISONOUS_POTATO).when(LootItemRandomChanceCondition.randomChance(0.02f)))))); this.add(Blocks.SWEET_BERRY_BUSH, arg_0 -> this.lambda$generate$223((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.BROWN_MUSHROOM_BLOCK, (Block block) -> this.createMushroomBlockDrop((Block)block, Blocks.BROWN_MUSHROOM)); this.add(Blocks.RED_MUSHROOM_BLOCK, (Block block) -> this.createMushroomBlockDrop((Block)block, Blocks.RED_MUSHROOM)); this.add(Blocks.COAL_ORE, (Block block) -> this.createOreDrop((Block)block, Items.COAL)); this.add(Blocks.DEEPSLATE_COAL_ORE, (Block block) -> this.createOreDrop((Block)block, Items.COAL)); this.add(Blocks.EMERALD_ORE, (Block block) -> this.createOreDrop((Block)block, Items.EMERALD)); this.add(Blocks.DEEPSLATE_EMERALD_ORE, (Block block) -> this.createOreDrop((Block)block, Items.EMERALD)); this.add(Blocks.NETHER_QUARTZ_ORE, (Block block) -> this.createOreDrop((Block)block, Items.QUARTZ)); this.add(Blocks.DIAMOND_ORE, (Block block) -> this.createOreDrop((Block)block, Items.DIAMOND)); this.add(Blocks.DEEPSLATE_DIAMOND_ORE, (Block block) -> this.createOreDrop((Block)block, Items.DIAMOND)); this.add(Blocks.COPPER_ORE, (Block x$0) -> this.createCopperOreDrops((Block)x$0)); this.add(Blocks.DEEPSLATE_COPPER_ORE, (Block x$0) -> this.createCopperOreDrops((Block)x$0)); this.add(Blocks.IRON_ORE, (Block block) -> this.createOreDrop((Block)block, Items.RAW_IRON)); this.add(Blocks.DEEPSLATE_IRON_ORE, (Block block) -> this.createOreDrop((Block)block, Items.RAW_IRON)); this.add(Blocks.GOLD_ORE, (Block block) -> this.createOreDrop((Block)block, Items.RAW_GOLD)); this.add(Blocks.DEEPSLATE_GOLD_ORE, (Block block) -> this.createOreDrop((Block)block, Items.RAW_GOLD)); this.add(Blocks.NETHER_GOLD_ORE, arg_0 -> this.lambda$generate$239((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.LAPIS_ORE, (Block x$0) -> this.createLapisOreDrops((Block)x$0)); this.add(Blocks.DEEPSLATE_LAPIS_ORE, (Block x$0) -> this.createLapisOreDrops((Block)x$0)); this.add(Blocks.COBWEB, (Block block) -> this.createSilkTouchOrShearsDispatchTable((Block)block, (LootPoolEntryContainer.Builder)this.applyExplosionCondition((ItemLike)block, LootItem.lootTableItem(Items.STRING)))); this.add(Blocks.DEAD_BUSH, (Block block) -> this.createShearsDispatchTable((Block)block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay((ItemLike)block, LootItem.lootTableItem(Items.STICK).apply(SetItemCountFunction.setCount(UniformGenerator.between(0.0f, 2.0f)))))); this.add(Blocks.SHORT_DRY_GRASS, (Block x$0) -> this.createShearsOrSilkTouchOnlyDrop((ItemLike)x$0)); this.add(Blocks.TALL_DRY_GRASS, (Block x$0) -> this.createShearsOrSilkTouchOnlyDrop((ItemLike)x$0)); this.add(Blocks.BUSH, (Block x$0) -> this.createShearsOrSilkTouchOnlyDrop((ItemLike)x$0)); this.add(Blocks.NETHER_SPROUTS, (Block x$0) -> this.createShearsOnlyDrop((ItemLike)x$0)); this.add(Blocks.SEAGRASS, (Block x$0) -> this.createShearsOnlyDrop((ItemLike)x$0)); this.add(Blocks.VINE, (Block x$0) -> this.createShearsOnlyDrop((ItemLike)x$0)); this.add(Blocks.GLOW_LICHEN, (Block block) -> this.createMultifaceBlockDrops((Block)block, this.hasShears())); this.add(Blocks.RESIN_CLUMP, (Block x$0) -> this.createMultifaceBlockDrops((Block)x$0)); this.add(Blocks.HANGING_ROOTS, (Block x$0) -> this.createShearsOnlyDrop((ItemLike)x$0)); this.add(Blocks.SMALL_DRIPLEAF, (Block x$0) -> this.createShearsOnlyDrop((ItemLike)x$0)); this.add(Blocks.MANGROVE_LEAVES, (Block x$0) -> this.createMangroveLeavesDrops((Block)x$0)); this.add(Blocks.TALL_SEAGRASS, this.createDoublePlantShearsDrop(Blocks.SEAGRASS)); this.add(Blocks.LARGE_FERN, (Block block) -> this.createDoublePlantWithSeedDrops((Block)block, Blocks.FERN)); this.add(Blocks.TALL_GRASS, (Block block) -> this.createDoublePlantWithSeedDrops((Block)block, Blocks.SHORT_GRASS)); this.add(Blocks.MELON_STEM, (Block block) -> this.createStemDrops((Block)block, Items.MELON_SEEDS)); this.add(Blocks.ATTACHED_MELON_STEM, (Block block) -> this.createAttachedStemDrops((Block)block, Items.MELON_SEEDS)); this.add(Blocks.PUMPKIN_STEM, (Block block) -> this.createStemDrops((Block)block, Items.PUMPKIN_SEEDS)); this.add(Blocks.ATTACHED_PUMPKIN_STEM, (Block block) -> this.createAttachedStemDrops((Block)block, Items.PUMPKIN_SEEDS)); this.add(Blocks.CHORUS_FLOWER, (Block block) -> LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)((LootPoolSingletonContainer.Builder)this.applyExplosionCondition((ItemLike)block, LootItem.lootTableItem(block))).when(LootItemEntityPropertyCondition.entityPresent(LootContext.EntityTarget.THIS))))); this.add(Blocks.FERN, (Block x$0) -> this.createGrassDrops((Block)x$0)); this.add(Blocks.SHORT_GRASS, (Block x$0) -> this.createGrassDrops((Block)x$0)); this.add(Blocks.GLOWSTONE, arg_0 -> this.lambda$generate$264((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.MELON, arg_0 -> this.lambda$generate$265((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.REDSTONE_ORE, (Block x$0) -> this.createRedstoneOreDrops((Block)x$0)); this.add(Blocks.DEEPSLATE_REDSTONE_ORE, (Block x$0) -> this.createRedstoneOreDrops((Block)x$0)); this.add(Blocks.SEA_LANTERN, arg_0 -> this.lambda$generate$268((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.CREAKING_HEART, arg_0 -> this.lambda$generate$269((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.NETHER_WART, arg_0 -> this.lambda$generate$270((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.SNOW, (Block block) -> LootTable.lootTable().withPool(LootPool.lootPool().when(LootItemEntityPropertyCondition.entityPresent(LootContext.EntityTarget.THIS)).add(AlternativesEntry.alternatives(new LootPoolEntryContainer.Builder[]{AlternativesEntry.alternatives(SnowLayerBlock.LAYERS.getPossibleValues(), layers -> ((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.SNOWBALL).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(SnowLayerBlock.LAYERS, layers.intValue())))).apply(SetItemCountFunction.setCount(ConstantValue.exactly(layers.intValue())))).when(this.doesNotHaveSilkTouch()), AlternativesEntry.alternatives(SnowLayerBlock.LAYERS.getPossibleValues(), layers -> layers == 8 ? LootItem.lootTableItem(Blocks.SNOW_BLOCK) : ((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(Blocks.SNOW).apply(SetItemCountFunction.setCount(ConstantValue.exactly(layers.intValue()))))).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(SnowLayerBlock.LAYERS, layers.intValue()))))})))); this.add(Blocks.GRAVEL, arg_0 -> this.lambda$generate$274((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.CAMPFIRE, (Block block) -> this.createSilkTouchDispatchTable((Block)block, (LootPoolEntryContainer.Builder)this.applyExplosionCondition((ItemLike)block, LootItem.lootTableItem(Items.CHARCOAL).apply(SetItemCountFunction.setCount(ConstantValue.exactly(2.0f)))))); this.add(Blocks.GILDED_BLACKSTONE, arg_0 -> this.lambda$generate$276((HolderLookup.RegistryLookup)enchantments, arg_0)); this.add(Blocks.SOUL_CAMPFIRE, (Block block) -> this.createSilkTouchDispatchTable((Block)block, (LootPoolEntryContainer.Builder)this.applyExplosionCondition((ItemLike)block, LootItem.lootTableItem(Items.SOUL_SOIL).apply(SetItemCountFunction.setCount(ConstantValue.exactly(1.0f)))))); this.add(Blocks.AMETHYST_CLUSTER, arg_0 -> this.lambda$generate$278((HolderLookup.RegistryLookup)enchantments, (HolderLookup.RegistryLookup)items, arg_0)); this.dropWhenSilkTouch(Blocks.SMALL_AMETHYST_BUD); this.dropWhenSilkTouch(Blocks.MEDIUM_AMETHYST_BUD); this.dropWhenSilkTouch(Blocks.LARGE_AMETHYST_BUD); this.dropWhenSilkTouch(Blocks.GLASS); this.dropWhenSilkTouch(Blocks.WHITE_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.ORANGE_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.MAGENTA_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.LIGHT_BLUE_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.YELLOW_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.LIME_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.PINK_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.GRAY_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.LIGHT_GRAY_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.CYAN_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.PURPLE_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.BLUE_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.BROWN_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.GREEN_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.RED_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.BLACK_STAINED_GLASS); this.dropWhenSilkTouch(Blocks.GLASS_PANE); this.dropWhenSilkTouch(Blocks.WHITE_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.ORANGE_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.MAGENTA_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.LIGHT_BLUE_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.YELLOW_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.LIME_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.PINK_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.GRAY_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.LIGHT_GRAY_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.CYAN_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.PURPLE_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.BLUE_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.BROWN_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.GREEN_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.RED_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.BLACK_STAINED_GLASS_PANE); this.dropWhenSilkTouch(Blocks.ICE); this.dropWhenSilkTouch(Blocks.PACKED_ICE); this.dropWhenSilkTouch(Blocks.BLUE_ICE); this.dropWhenSilkTouch(Blocks.TURTLE_EGG); this.dropWhenSilkTouch(Blocks.MUSHROOM_STEM); this.dropWhenSilkTouch(Blocks.DEAD_TUBE_CORAL); this.dropWhenSilkTouch(Blocks.DEAD_BRAIN_CORAL); this.dropWhenSilkTouch(Blocks.DEAD_BUBBLE_CORAL); this.dropWhenSilkTouch(Blocks.DEAD_FIRE_CORAL); this.dropWhenSilkTouch(Blocks.DEAD_HORN_CORAL); this.dropWhenSilkTouch(Blocks.TUBE_CORAL); this.dropWhenSilkTouch(Blocks.BRAIN_CORAL); this.dropWhenSilkTouch(Blocks.BUBBLE_CORAL); this.dropWhenSilkTouch(Blocks.FIRE_CORAL); this.dropWhenSilkTouch(Blocks.HORN_CORAL); this.dropWhenSilkTouch(Blocks.DEAD_TUBE_CORAL_FAN); this.dropWhenSilkTouch(Blocks.DEAD_BRAIN_CORAL_FAN); this.dropWhenSilkTouch(Blocks.DEAD_BUBBLE_CORAL_FAN); this.dropWhenSilkTouch(Blocks.DEAD_FIRE_CORAL_FAN); this.dropWhenSilkTouch(Blocks.DEAD_HORN_CORAL_FAN); this.dropWhenSilkTouch(Blocks.TUBE_CORAL_FAN); this.dropWhenSilkTouch(Blocks.BRAIN_CORAL_FAN); this.dropWhenSilkTouch(Blocks.BUBBLE_CORAL_FAN); this.dropWhenSilkTouch(Blocks.FIRE_CORAL_FAN); this.dropWhenSilkTouch(Blocks.HORN_CORAL_FAN); this.otherWhenSilkTouch(Blocks.INFESTED_STONE, Blocks.STONE); this.otherWhenSilkTouch(Blocks.INFESTED_COBBLESTONE, Blocks.COBBLESTONE); this.otherWhenSilkTouch(Blocks.INFESTED_STONE_BRICKS, Blocks.STONE_BRICKS); this.otherWhenSilkTouch(Blocks.INFESTED_MOSSY_STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS); this.otherWhenSilkTouch(Blocks.INFESTED_CRACKED_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS); this.otherWhenSilkTouch(Blocks.INFESTED_CHISELED_STONE_BRICKS, Blocks.CHISELED_STONE_BRICKS); this.otherWhenSilkTouch(Blocks.INFESTED_DEEPSLATE, Blocks.DEEPSLATE); this.addNetherVinesDropTable(Blocks.WEEPING_VINES, Blocks.WEEPING_VINES_PLANT); this.addNetherVinesDropTable(Blocks.TWISTING_VINES, Blocks.TWISTING_VINES_PLANT); this.add(Blocks.CAKE, VanillaBlockLoot.noDrop()); this.add(Blocks.CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.CANDLE)); this.add(Blocks.WHITE_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.WHITE_CANDLE)); this.add(Blocks.ORANGE_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.ORANGE_CANDLE)); this.add(Blocks.MAGENTA_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.MAGENTA_CANDLE)); this.add(Blocks.LIGHT_BLUE_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.LIGHT_BLUE_CANDLE)); this.add(Blocks.YELLOW_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.YELLOW_CANDLE)); this.add(Blocks.LIME_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.LIME_CANDLE)); this.add(Blocks.PINK_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.PINK_CANDLE)); this.add(Blocks.GRAY_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.GRAY_CANDLE)); this.add(Blocks.LIGHT_GRAY_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.LIGHT_GRAY_CANDLE)); this.add(Blocks.CYAN_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.CYAN_CANDLE)); this.add(Blocks.PURPLE_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.PURPLE_CANDLE)); this.add(Blocks.BLUE_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.BLUE_CANDLE)); this.add(Blocks.BROWN_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.BROWN_CANDLE)); this.add(Blocks.GREEN_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.GREEN_CANDLE)); this.add(Blocks.RED_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.RED_CANDLE)); this.add(Blocks.BLACK_CANDLE_CAKE, VanillaBlockLoot.createCandleCakeDrops(Blocks.BLACK_CANDLE)); this.add(Blocks.FROSTED_ICE, VanillaBlockLoot.noDrop()); this.add(Blocks.SPAWNER, VanillaBlockLoot.noDrop()); this.add(Blocks.TRIAL_SPAWNER, VanillaBlockLoot.noDrop()); this.add(Blocks.VAULT, VanillaBlockLoot.noDrop()); this.add(Blocks.FIRE, VanillaBlockLoot.noDrop()); this.add(Blocks.SOUL_FIRE, VanillaBlockLoot.noDrop()); this.add(Blocks.NETHER_PORTAL, VanillaBlockLoot.noDrop()); this.add(Blocks.BUDDING_AMETHYST, VanillaBlockLoot.noDrop()); this.add(Blocks.POWDER_SNOW, VanillaBlockLoot.noDrop()); this.add(Blocks.FROGSPAWN, VanillaBlockLoot.noDrop()); this.add(Blocks.REINFORCED_DEEPSLATE, VanillaBlockLoot.noDrop()); this.add(Blocks.SUSPICIOUS_SAND, VanillaBlockLoot.noDrop()); this.add(Blocks.SUSPICIOUS_GRAVEL, VanillaBlockLoot.noDrop()); } private LootTable.Builder createDecoratedPotTable(Block original) { return LootTable.lootTable().withPool(LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add(((LootPoolSingletonContainer.Builder)DynamicLoot.dynamicEntry(DecoratedPotBlock.SHERDS_DYNAMIC_DROP_ID).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(original).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(DecoratedPotBlock.CRACKED, true)))).otherwise((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(original).apply(CopyComponentsFunction.copyComponentsFromBlockEntity(LootContextParams.BLOCK_ENTITY).include(DataComponents.POT_DECORATIONS)))))); } private LootTable.Builder createPitcherCropLoot() { return this.applyExplosionDecay(Blocks.PITCHER_CROP, LootTable.lootTable().withPool(LootPool.lootPool().add(AlternativesEntry.alternatives(PitcherCropBlock.AGE.getPossibleValues(), age -> { LootItemBlockStatePropertyCondition.Builder isLowerPart = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.PITCHER_CROP).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(DoublePlantBlock.HALF, DoubleBlockHalf.LOWER)); LootItemBlockStatePropertyCondition.Builder isAge = LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.PITCHER_CROP).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(PitcherCropBlock.AGE, age.intValue())); if (age == 4) { return ((LootPoolSingletonContainer.Builder)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.PITCHER_PLANT).when(isAge)).when(isLowerPart)).apply(SetItemCountFunction.setCount(ConstantValue.exactly(1.0f))); } return ((LootPoolSingletonContainer.Builder)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.PITCHER_POD).when(isAge)).when(isLowerPart)).apply(SetItemCountFunction.setCount(ConstantValue.exactly(1.0f))); })))); } private LootTable.Builder createMobSkullDrop(Block block) { return LootTable.lootTable().withPool(this.applyExplosionCondition(block, LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(block).apply(CopyComponentsFunction.copyComponentsFromBlockEntity(LootContextParams.BLOCK_ENTITY).include(DataComponents.CUSTOM_NAME)))))); } private /* synthetic */ LootTable.Builder lambda$generate$278(HolderLookup.RegistryLookup enchantments, HolderLookup.RegistryLookup items, Block block) { return this.createSilkTouchDispatchTable(block, ((LootPoolSingletonContainer.Builder)((LootPoolEntryContainer.Builder)((Object)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.AMETHYST_SHARD).apply(SetItemCountFunction.setCount(ConstantValue.exactly(4.0f)))).apply(ApplyBonusCount.addOreBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE))))).when(MatchTool.toolMatches(ItemPredicate.Builder.item().of((HolderGetter)items, ItemTags.CLUSTER_MAX_HARVESTABLES)))).otherwise((LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, LootItem.lootTableItem(Items.AMETHYST_SHARD).apply(SetItemCountFunction.setCount(ConstantValue.exactly(2.0f)))))); } private /* synthetic */ LootTable.Builder lambda$generate$276(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, this.applyExplosionCondition(block, ((LootPoolSingletonContainer.Builder)((LootPoolEntryContainer.Builder)((Object)LootItem.lootTableItem(Items.GOLD_NUGGET).apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0f, 5.0f))))).when(BonusLevelTableCondition.bonusLevelFlatChance(enchantments.getOrThrow(Enchantments.FORTUNE), 0.1f, 0.14285715f, 0.25f, 1.0f))).otherwise(LootItem.lootTableItem(block)))); } private /* synthetic */ LootTable.Builder lambda$generate$274(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, this.applyExplosionCondition(block, ((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.FLINT).when(BonusLevelTableCondition.bonusLevelFlatChance(enchantments.getOrThrow(Enchantments.FORTUNE), 0.1f, 0.14285715f, 0.25f, 1.0f))).otherwise(LootItem.lootTableItem(block)))); } private /* synthetic */ LootTable.Builder lambda$generate$270(HolderLookup.RegistryLookup enchantments, Block block) { return LootTable.lootTable().withPool(this.applyExplosionDecay(block, LootPool.lootPool().setRolls(ConstantValue.exactly(1.0f)).add((LootPoolEntryContainer.Builder)((Object)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.NETHER_WART).apply((LootItemFunction.Builder)((Object)SetItemCountFunction.setCount(UniformGenerator.between(2.0f, 4.0f)).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(NetherWartBlock.AGE, 3)))))).apply((LootItemFunction.Builder)((Object)ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE)).when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(NetherWartBlock.AGE, 3))))))))); } private /* synthetic */ LootTable.Builder lambda$generate$269(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, ((LootPoolSingletonContainer.Builder)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.RESIN_CLUMP).apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0f, 3.0f)))).apply(ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE)))).apply(LimitCount.limitCount(IntRange.upperBound(9))))); } private /* synthetic */ LootTable.Builder lambda$generate$268(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, ((LootPoolSingletonContainer.Builder)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.PRISMARINE_CRYSTALS).apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0f, 3.0f)))).apply(ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE)))).apply(LimitCount.limitCount(IntRange.range(1, 5))))); } private /* synthetic */ LootTable.Builder lambda$generate$265(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, ((LootPoolSingletonContainer.Builder)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.MELON_SLICE).apply(SetItemCountFunction.setCount(UniformGenerator.between(3.0f, 7.0f)))).apply(ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE)))).apply(LimitCount.limitCount(IntRange.upperBound(9))))); } private /* synthetic */ LootTable.Builder lambda$generate$264(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, ((LootPoolSingletonContainer.Builder)((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.GLOWSTONE_DUST).apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0f, 4.0f)))).apply(ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE)))).apply(LimitCount.limitCount(IntRange.range(1, 4))))); } private /* synthetic */ LootTable.Builder lambda$generate$239(HolderLookup.RegistryLookup enchantments, Block block) { return this.createSilkTouchDispatchTable(block, (LootPoolEntryContainer.Builder)this.applyExplosionDecay(block, ((LootPoolSingletonContainer.Builder)LootItem.lootTableItem(Items.GOLD_NUGGET).apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0f, 6.0f)))).apply(ApplyBonusCount.addOreBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE))))); } private /* synthetic */ LootTable.Builder lambda$generate$223(HolderLookup.RegistryLookup enchantments, Block block) { return this.applyExplosionDecay(block, LootTable.lootTable().withPool(LootPool.lootPool().when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.SWEET_BERRY_BUSH).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(SweetBerryBushBlock.AGE, 3))).add(LootItem.lootTableItem(Items.SWEET_BERRIES)).apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0f, 3.0f))).apply(ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE)))).withPool(LootPool.lootPool().when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.SWEET_BERRY_BUSH).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(SweetBerryBushBlock.AGE, 2))).add(LootItem.lootTableItem(Items.SWEET_BERRIES)).apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0f, 2.0f))).apply(ApplyBonusCount.addUniformBonusCount(enchantments.getOrThrow(Enchantments.FORTUNE))))); } }