package net.minecraft.data.tags;

import java.util.concurrent.CompletableFuture;
import net.minecraft.core.Holder;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.PackOutput;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;

public class VanillaBlockTagsProvider extends IntrinsicHolderTagsProvider<Block> {
    public VanillaBlockTagsProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> lookupProvider) {
        super(output, Registries.BLOCK, lookupProvider, block -> block.builtInRegistryHolder().key());
    }

    @Override
    protected void addTags(HolderLookup.Provider provider) {
        (new BlockItemTagsProvider() {
            @Override
            protected TagAppender<Block, Block> tag(TagKey<Block> blockTag, TagKey<Item> itemTag) {
                return VanillaBlockTagsProvider.this.tag(blockTag);
            }
        }).run();
        this.tag(BlockTags.MOB_INTERACTABLE_DOORS)
            .addTag(BlockTags.WOODEN_DOORS)
            .add(
                Blocks.COPPER_DOOR,
                Blocks.EXPOSED_COPPER_DOOR,
                Blocks.WEATHERED_COPPER_DOOR,
                Blocks.OXIDIZED_COPPER_DOOR,
                Blocks.WAXED_COPPER_DOOR,
                Blocks.WAXED_EXPOSED_COPPER_DOOR,
                Blocks.WAXED_WEATHERED_COPPER_DOOR,
                Blocks.WAXED_OXIDIZED_COPPER_DOOR
            );
        this.tag(BlockTags.OVERWORLD_NATURAL_LOGS)
            .add(Blocks.ACACIA_LOG)
            .add(Blocks.BIRCH_LOG)
            .add(Blocks.OAK_LOG)
            .add(Blocks.JUNGLE_LOG)
            .add(Blocks.SPRUCE_LOG)
            .add(Blocks.DARK_OAK_LOG)
            .add(Blocks.PALE_OAK_LOG)
            .add(Blocks.MANGROVE_LOG)
            .add(Blocks.CHERRY_LOG);
        this.tag(BlockTags.ENDERMAN_HOLDABLE)
            .addTag(BlockTags.SMALL_FLOWERS)
            .addTag(BlockTags.DIRT)
            .add(
                Blocks.SAND,
                Blocks.RED_SAND,
                Blocks.GRAVEL,
                Blocks.BROWN_MUSHROOM,
                Blocks.RED_MUSHROOM,
                Blocks.TNT,
                Blocks.CACTUS,
                Blocks.CLAY,
                Blocks.PUMPKIN,
                Blocks.CARVED_PUMPKIN,
                Blocks.MELON,
                Blocks.CRIMSON_FUNGUS,
                Blocks.CRIMSON_NYLIUM,
                Blocks.CRIMSON_ROOTS,
                Blocks.WARPED_FUNGUS,
                Blocks.WARPED_NYLIUM,
                Blocks.WARPED_ROOTS,
                Blocks.CACTUS_FLOWER
            );
        this.tag(BlockTags.FLOWER_POTS)
            .add(
                Blocks.FLOWER_POT,
                Blocks.POTTED_OPEN_EYEBLOSSOM,
                Blocks.POTTED_CLOSED_EYEBLOSSOM,
                Blocks.POTTED_POPPY,
                Blocks.POTTED_BLUE_ORCHID,
                Blocks.POTTED_ALLIUM,
                Blocks.POTTED_AZURE_BLUET,
                Blocks.POTTED_RED_TULIP,
                Blocks.POTTED_ORANGE_TULIP,
                Blocks.POTTED_WHITE_TULIP,
                Blocks.POTTED_PINK_TULIP,
                Blocks.POTTED_OXEYE_DAISY,
                Blocks.POTTED_DANDELION,
                Blocks.POTTED_OAK_SAPLING,
                Blocks.POTTED_SPRUCE_SAPLING,
                Blocks.POTTED_BIRCH_SAPLING,
                Blocks.POTTED_JUNGLE_SAPLING,
                Blocks.POTTED_ACACIA_SAPLING,
                Blocks.POTTED_DARK_OAK_SAPLING,
                Blocks.POTTED_PALE_OAK_SAPLING,
                Blocks.POTTED_RED_MUSHROOM,
                Blocks.POTTED_BROWN_MUSHROOM,
                Blocks.POTTED_DEAD_BUSH,
                Blocks.POTTED_FERN,
                Blocks.POTTED_CACTUS,
                Blocks.POTTED_CORNFLOWER,
                Blocks.POTTED_LILY_OF_THE_VALLEY,
                Blocks.POTTED_WITHER_ROSE,
                Blocks.POTTED_BAMBOO,
                Blocks.POTTED_CRIMSON_FUNGUS,
                Blocks.POTTED_WARPED_FUNGUS,
                Blocks.POTTED_CRIMSON_ROOTS,
                Blocks.POTTED_WARPED_ROOTS,
                Blocks.POTTED_AZALEA,
                Blocks.POTTED_FLOWERING_AZALEA,
                Blocks.POTTED_MANGROVE_PROPAGULE,
                Blocks.POTTED_CHERRY_SAPLING,
                Blocks.POTTED_TORCHFLOWER
            );
        this.tag(BlockTags.BANNERS)
            .add(
                Blocks.WHITE_BANNER,
                Blocks.ORANGE_BANNER,
                Blocks.MAGENTA_BANNER,
                Blocks.LIGHT_BLUE_BANNER,
                Blocks.YELLOW_BANNER,
                Blocks.LIME_BANNER,
                Blocks.PINK_BANNER,
                Blocks.GRAY_BANNER,
                Blocks.LIGHT_GRAY_BANNER,
                Blocks.CYAN_BANNER,
                Blocks.PURPLE_BANNER,
                Blocks.BLUE_BANNER,
                Blocks.BROWN_BANNER,
                Blocks.GREEN_BANNER,
                Blocks.RED_BANNER,
                Blocks.BLACK_BANNER,
                Blocks.WHITE_WALL_BANNER,
                Blocks.ORANGE_WALL_BANNER,
                Blocks.MAGENTA_WALL_BANNER,
                Blocks.LIGHT_BLUE_WALL_BANNER,
                Blocks.YELLOW_WALL_BANNER,
                Blocks.LIME_WALL_BANNER,
                Blocks.PINK_WALL_BANNER,
                Blocks.GRAY_WALL_BANNER,
                Blocks.LIGHT_GRAY_WALL_BANNER,
                Blocks.CYAN_WALL_BANNER,
                Blocks.PURPLE_WALL_BANNER,
                Blocks.BLUE_WALL_BANNER,
                Blocks.BROWN_WALL_BANNER,
                Blocks.GREEN_WALL_BANNER,
                Blocks.RED_WALL_BANNER,
                Blocks.BLACK_WALL_BANNER
            );
        this.tag(BlockTags.STONE_PRESSURE_PLATES).add(Blocks.STONE_PRESSURE_PLATE, Blocks.POLISHED_BLACKSTONE_PRESSURE_PLATE);
        this.tag(BlockTags.PRESSURE_PLATES)
            .add(Blocks.LIGHT_WEIGHTED_PRESSURE_PLATE, Blocks.HEAVY_WEIGHTED_PRESSURE_PLATE)
            .addTag(BlockTags.WOODEN_PRESSURE_PLATES)
            .addTag(BlockTags.STONE_PRESSURE_PLATES);
        this.tag(BlockTags.CORAL_PLANTS).add(Blocks.TUBE_CORAL, Blocks.BRAIN_CORAL, Blocks.BUBBLE_CORAL, Blocks.FIRE_CORAL, Blocks.HORN_CORAL);
        this.tag(BlockTags.CORALS)
            .addTag(BlockTags.CORAL_PLANTS)
            .add(Blocks.TUBE_CORAL_FAN, Blocks.BRAIN_CORAL_FAN, Blocks.BUBBLE_CORAL_FAN, Blocks.FIRE_CORAL_FAN, Blocks.HORN_CORAL_FAN);
        this.tag(BlockTags.WALL_CORALS)
            .add(Blocks.TUBE_CORAL_WALL_FAN, Blocks.BRAIN_CORAL_WALL_FAN, Blocks.BUBBLE_CORAL_WALL_FAN, Blocks.FIRE_CORAL_WALL_FAN, Blocks.HORN_CORAL_WALL_FAN);
        this.tag(BlockTags.CORAL_BLOCKS)
            .add(Blocks.TUBE_CORAL_BLOCK, Blocks.BRAIN_CORAL_BLOCK, Blocks.BUBBLE_CORAL_BLOCK, Blocks.FIRE_CORAL_BLOCK, Blocks.HORN_CORAL_BLOCK);
        this.tag(BlockTags.ICE).add(Blocks.ICE, Blocks.PACKED_ICE, Blocks.BLUE_ICE, Blocks.FROSTED_ICE);
        this.tag(BlockTags.VALID_SPAWN).add(Blocks.GRASS_BLOCK, Blocks.PODZOL);
        this.tag(BlockTags.IMPERMEABLE)
            .add(
                Blocks.GLASS,
                Blocks.WHITE_STAINED_GLASS,
                Blocks.ORANGE_STAINED_GLASS,
                Blocks.MAGENTA_STAINED_GLASS,
                Blocks.LIGHT_BLUE_STAINED_GLASS,
                Blocks.YELLOW_STAINED_GLASS,
                Blocks.LIME_STAINED_GLASS,
                Blocks.PINK_STAINED_GLASS,
                Blocks.GRAY_STAINED_GLASS,
                Blocks.LIGHT_GRAY_STAINED_GLASS,
                Blocks.CYAN_STAINED_GLASS,
                Blocks.PURPLE_STAINED_GLASS,
                Blocks.BLUE_STAINED_GLASS,
                Blocks.BROWN_STAINED_GLASS,
                Blocks.GREEN_STAINED_GLASS,
                Blocks.RED_STAINED_GLASS,
                Blocks.BLACK_STAINED_GLASS,
                Blocks.TINTED_GLASS
            );
        this.tag(BlockTags.UNDERWATER_BONEMEALS).add(Blocks.SEAGRASS).addTag(BlockTags.CORALS).addTag(BlockTags.WALL_CORALS);
        this.tag(BlockTags.BAMBOO_PLANTABLE_ON)
            .addTag(BlockTags.SAND)
            .addTag(BlockTags.DIRT)
            .add(Blocks.BAMBOO, Blocks.BAMBOO_SAPLING, Blocks.GRAVEL, Blocks.SUSPICIOUS_GRAVEL);
        this.tag(BlockTags.WALL_SIGNS)
            .add(
                Blocks.OAK_WALL_SIGN,
                Blocks.SPRUCE_WALL_SIGN,
                Blocks.BIRCH_WALL_SIGN,
                Blocks.ACACIA_WALL_SIGN,
                Blocks.JUNGLE_WALL_SIGN,
                Blocks.DARK_OAK_WALL_SIGN,
                Blocks.PALE_OAK_WALL_SIGN,
                Blocks.CRIMSON_WALL_SIGN,
                Blocks.WARPED_WALL_SIGN,
                Blocks.MANGROVE_WALL_SIGN,
                Blocks.BAMBOO_WALL_SIGN,
                Blocks.CHERRY_WALL_SIGN
            );
        this.tag(BlockTags.SIGNS).addTag(BlockTags.STANDING_SIGNS).addTag(BlockTags.WALL_SIGNS);
        this.tag(BlockTags.WALL_HANGING_SIGNS)
            .add(
                Blocks.OAK_WALL_HANGING_SIGN,
                Blocks.SPRUCE_WALL_HANGING_SIGN,
                Blocks.BIRCH_WALL_HANGING_SIGN,
                Blocks.ACACIA_WALL_HANGING_SIGN,
                Blocks.CHERRY_WALL_HANGING_SIGN,
                Blocks.JUNGLE_WALL_HANGING_SIGN,
                Blocks.DARK_OAK_WALL_HANGING_SIGN,
                Blocks.PALE_OAK_WALL_HANGING_SIGN,
                Blocks.CRIMSON_WALL_HANGING_SIGN,
                Blocks.WARPED_WALL_HANGING_SIGN,
                Blocks.MANGROVE_WALL_HANGING_SIGN,
                Blocks.BAMBOO_WALL_HANGING_SIGN
            );
        this.tag(BlockTags.ALL_HANGING_SIGNS).addTag(BlockTags.CEILING_HANGING_SIGNS).addTag(BlockTags.WALL_HANGING_SIGNS);
        this.tag(BlockTags.ALL_SIGNS).addTag(BlockTags.SIGNS).addTag(BlockTags.ALL_HANGING_SIGNS);
        this.tag(BlockTags.DRAGON_IMMUNE)
            .add(
                Blocks.BARRIER,
                Blocks.BEDROCK,
                Blocks.END_PORTAL,
                Blocks.END_PORTAL_FRAME,
                Blocks.END_GATEWAY,
                Blocks.COMMAND_BLOCK,
                Blocks.REPEATING_COMMAND_BLOCK,
                Blocks.CHAIN_COMMAND_BLOCK,
                Blocks.STRUCTURE_BLOCK,
                Blocks.JIGSAW,
                Blocks.MOVING_PISTON,
                Blocks.OBSIDIAN,
                Blocks.CRYING_OBSIDIAN,
                Blocks.END_STONE,
                Blocks.IRON_BARS,
                Blocks.RESPAWN_ANCHOR,
                Blocks.REINFORCED_DEEPSLATE,
                Blocks.TEST_BLOCK,
                Blocks.TEST_INSTANCE_BLOCK
            );
        this.tag(BlockTags.DRAGON_TRANSPARENT).add(Blocks.LIGHT).addTag(BlockTags.FIRE);
        this.tag(BlockTags.WITHER_IMMUNE)
            .add(
                Blocks.BARRIER,
                Blocks.BEDROCK,
                Blocks.END_PORTAL,
                Blocks.END_PORTAL_FRAME,
                Blocks.END_GATEWAY,
                Blocks.COMMAND_BLOCK,
                Blocks.REPEATING_COMMAND_BLOCK,
                Blocks.CHAIN_COMMAND_BLOCK,
                Blocks.STRUCTURE_BLOCK,
                Blocks.JIGSAW,
                Blocks.MOVING_PISTON,
                Blocks.LIGHT,
                Blocks.REINFORCED_DEEPSLATE,
                Blocks.TEST_BLOCK,
                Blocks.TEST_INSTANCE_BLOCK
            );
        this.tag(BlockTags.WITHER_SUMMON_BASE_BLOCKS).add(Blocks.SOUL_SAND, Blocks.SOUL_SOIL);
        this.tag(BlockTags.BEEHIVES).add(Blocks.BEE_NEST, Blocks.BEEHIVE);
        this.tag(BlockTags.CROPS)
            .add(
                Blocks.BEETROOTS,
                Blocks.CARROTS,
                Blocks.POTATOES,
                Blocks.WHEAT,
                Blocks.MELON_STEM,
                Blocks.PUMPKIN_STEM,
                Blocks.TORCHFLOWER_CROP,
                Blocks.PITCHER_CROP
            );
        this.tag(BlockTags.BEE_GROWABLES).addTag(BlockTags.CROPS).add(Blocks.SWEET_BERRY_BUSH).add(Blocks.CAVE_VINES).add(Blocks.CAVE_VINES_PLANT);
        this.tag(BlockTags.PORTALS).add(Blocks.NETHER_PORTAL, Blocks.END_PORTAL, Blocks.END_GATEWAY);
        this.tag(BlockTags.FIRE).add(Blocks.FIRE, Blocks.SOUL_FIRE);
        this.tag(BlockTags.NYLIUM).add(Blocks.CRIMSON_NYLIUM, Blocks.WARPED_NYLIUM);
        this.tag(BlockTags.BEACON_BASE_BLOCKS).add(Blocks.NETHERITE_BLOCK, Blocks.EMERALD_BLOCK, Blocks.DIAMOND_BLOCK, Blocks.GOLD_BLOCK, Blocks.IRON_BLOCK);
        this.tag(BlockTags.SOUL_SPEED_BLOCKS).add(Blocks.SOUL_SAND, Blocks.SOUL_SOIL);
        this.tag(BlockTags.WALL_POST_OVERRIDE)
            .add(Blocks.TORCH, Blocks.SOUL_TORCH, Blocks.REDSTONE_TORCH, Blocks.TRIPWIRE)
            .addTag(BlockTags.SIGNS)
            .addTag(BlockTags.BANNERS)
            .addTag(BlockTags.PRESSURE_PLATES)
            .add(Blocks.CACTUS_FLOWER);
        this.tag(BlockTags.CLIMBABLE)
            .add(
                Blocks.LADDER,
                Blocks.VINE,
                Blocks.SCAFFOLDING,
                Blocks.WEEPING_VINES,
                Blocks.WEEPING_VINES_PLANT,
                Blocks.TWISTING_VINES,
                Blocks.TWISTING_VINES_PLANT,
                Blocks.CAVE_VINES,
                Blocks.CAVE_VINES_PLANT
            );
        this.tag(BlockTags.FALL_DAMAGE_RESETTING).addTag(BlockTags.CLIMBABLE).add(Blocks.SWEET_BERRY_BUSH, Blocks.COBWEB);
        this.tag(BlockTags.PIGLIN_REPELLENTS)
            .add(Blocks.SOUL_FIRE)
            .add(Blocks.SOUL_TORCH)
            .add(Blocks.SOUL_LANTERN)
            .add(Blocks.SOUL_WALL_TORCH)
            .add(Blocks.SOUL_CAMPFIRE);
        this.tag(BlockTags.HOGLIN_REPELLENTS).add(Blocks.WARPED_FUNGUS).add(Blocks.POTTED_WARPED_FUNGUS).add(Blocks.NETHER_PORTAL).add(Blocks.RESPAWN_ANCHOR);
        this.tag(BlockTags.STRIDER_WARM_BLOCKS).add(Blocks.LAVA);
        this.tag(BlockTags.CAMPFIRES).add(Blocks.CAMPFIRE, Blocks.SOUL_CAMPFIRE);
        this.tag(BlockTags.GUARDED_BY_PIGLINS)
            .add(Blocks.GOLD_BLOCK, Blocks.BARREL, Blocks.CHEST, Blocks.ENDER_CHEST, Blocks.GILDED_BLACKSTONE, Blocks.TRAPPED_CHEST, Blocks.RAW_GOLD_BLOCK)
            .addTag(BlockTags.SHULKER_BOXES)
            .addTag(BlockTags.GOLD_ORES);
        this.tag(BlockTags.PREVENT_MOB_SPAWNING_INSIDE).addTag(BlockTags.RAILS);
        this.tag(BlockTags.UNSTABLE_BOTTOM_CENTER).addTag(BlockTags.FENCE_GATES);
        this.tag(BlockTags.MUSHROOM_GROW_BLOCK).add(Blocks.MYCELIUM).add(Blocks.PODZOL).add(Blocks.CRIMSON_NYLIUM).add(Blocks.WARPED_NYLIUM);
        this.tag(BlockTags.EDIBLE_FOR_SHEEP).add(Blocks.SHORT_GRASS).add(Blocks.SHORT_DRY_GRASS).add(Blocks.TALL_DRY_GRASS).add(Blocks.FERN);
        this.tag(BlockTags.INFINIBURN_OVERWORLD).add(Blocks.NETHERRACK, Blocks.MAGMA_BLOCK);
        this.tag(BlockTags.INFINIBURN_NETHER).addTag(BlockTags.INFINIBURN_OVERWORLD);
        this.tag(BlockTags.INFINIBURN_END).addTag(BlockTags.INFINIBURN_OVERWORLD).add(Blocks.BEDROCK);
        this.tag(BlockTags.STONE_ORE_REPLACEABLES).add(Blocks.STONE).add(Blocks.GRANITE).add(Blocks.DIORITE).add(Blocks.ANDESITE);
        this.tag(BlockTags.DEEPSLATE_ORE_REPLACEABLES).add(Blocks.DEEPSLATE).add(Blocks.TUFF);
        this.tag(BlockTags.BASE_STONE_OVERWORLD)
            .add(Blocks.STONE)
            .add(Blocks.GRANITE)
            .add(Blocks.DIORITE)
            .add(Blocks.ANDESITE)
            .add(Blocks.TUFF)
            .add(Blocks.DEEPSLATE);
        this.tag(BlockTags.BASE_STONE_NETHER).add(Blocks.NETHERRACK).add(Blocks.BASALT).add(Blocks.BLACKSTONE);
        this.tag(BlockTags.OVERWORLD_CARVER_REPLACEABLES)
            .addTag(BlockTags.BASE_STONE_OVERWORLD)
            .addTag(BlockTags.DIRT)
            .addTag(BlockTags.SAND)
            .addTag(BlockTags.TERRACOTTA)
            .addTag(BlockTags.IRON_ORES)
            .addTag(BlockTags.COPPER_ORES)
            .addTag(BlockTags.SNOW)
            .add(
                Blocks.WATER,
                Blocks.GRAVEL,
                Blocks.SUSPICIOUS_GRAVEL,
                Blocks.SANDSTONE,
                Blocks.RED_SANDSTONE,
                Blocks.CALCITE,
                Blocks.PACKED_ICE,
                Blocks.RAW_IRON_BLOCK,
                Blocks.RAW_COPPER_BLOCK
            );
        this.tag(BlockTags.NETHER_CARVER_REPLACEABLES)
            .addTag(BlockTags.BASE_STONE_OVERWORLD)
            .addTag(BlockTags.BASE_STONE_NETHER)
            .addTag(BlockTags.DIRT)
            .addTag(BlockTags.NYLIUM)
            .addTag(BlockTags.WART_BLOCKS)
            .add(Blocks.SOUL_SAND, Blocks.SOUL_SOIL);
        this.tag(BlockTags.CANDLE_CAKES)
            .add(
                Blocks.CANDLE_CAKE,
                Blocks.WHITE_CANDLE_CAKE,
                Blocks.ORANGE_CANDLE_CAKE,
                Blocks.MAGENTA_CANDLE_CAKE,
                Blocks.LIGHT_BLUE_CANDLE_CAKE,
                Blocks.YELLOW_CANDLE_CAKE,
                Blocks.LIME_CANDLE_CAKE,
                Blocks.PINK_CANDLE_CAKE,
                Blocks.GRAY_CANDLE_CAKE,
                Blocks.LIGHT_GRAY_CANDLE_CAKE,
                Blocks.CYAN_CANDLE_CAKE,
                Blocks.PURPLE_CANDLE_CAKE,
                Blocks.BLUE_CANDLE_CAKE,
                Blocks.BROWN_CANDLE_CAKE,
                Blocks.GREEN_CANDLE_CAKE,
                Blocks.RED_CANDLE_CAKE,
                Blocks.BLACK_CANDLE_CAKE
            );
        this.tag(BlockTags.CRYSTAL_SOUND_BLOCKS).add(Blocks.AMETHYST_BLOCK, Blocks.BUDDING_AMETHYST);
        this.tag(BlockTags.CAULDRONS).add(Blocks.CAULDRON, Blocks.WATER_CAULDRON, Blocks.LAVA_CAULDRON, Blocks.POWDER_SNOW_CAULDRON);
        this.tag(BlockTags.INSIDE_STEP_SOUND_BLOCKS)
            .add(
                Blocks.POWDER_SNOW,
                Blocks.SCULK_VEIN,
                Blocks.GLOW_LICHEN,
                Blocks.LILY_PAD,
                Blocks.SMALL_AMETHYST_BUD,
                Blocks.PINK_PETALS,
                Blocks.WILDFLOWERS,
                Blocks.LEAF_LITTER
            );
        this.tag(BlockTags.COMBINATION_STEP_SOUND_BLOCKS)
            .addTag(BlockTags.WOOL_CARPETS)
            .add(Blocks.MOSS_CARPET, Blocks.PALE_MOSS_CARPET, Blocks.SNOW, Blocks.NETHER_SPROUTS, Blocks.WARPED_ROOTS, Blocks.CRIMSON_ROOTS, Blocks.RESIN_CLUMP);
        this.tag(BlockTags.DRIPSTONE_REPLACEABLE).addTag(BlockTags.BASE_STONE_OVERWORLD);
        this.tag(BlockTags.CAVE_VINES).add(Blocks.CAVE_VINES_PLANT).add(Blocks.CAVE_VINES);
        this.tag(BlockTags.MOSS_REPLACEABLE).addTag(BlockTags.BASE_STONE_OVERWORLD).addTag(BlockTags.CAVE_VINES).addTag(BlockTags.DIRT);
        this.tag(BlockTags.LUSH_GROUND_REPLACEABLE).addTag(BlockTags.MOSS_REPLACEABLE).add(Blocks.CLAY).add(Blocks.GRAVEL).add(Blocks.SAND);
        this.tag(BlockTags.AZALEA_ROOT_REPLACEABLE)
            .addTag(BlockTags.BASE_STONE_OVERWORLD)
            .addTag(BlockTags.DIRT)
            .addTag(BlockTags.TERRACOTTA)
            .add(Blocks.RED_SAND)
            .add(Blocks.CLAY)
            .add(Blocks.GRAVEL)
            .add(Blocks.SAND)
            .add(Blocks.SNOW_BLOCK)
            .add(Blocks.POWDER_SNOW);
        this.tag(BlockTags.SMALL_DRIPLEAF_PLACEABLE).add(Blocks.CLAY).add(Blocks.MOSS_BLOCK);
        this.tag(BlockTags.BIG_DRIPLEAF_PLACEABLE)
            .addTag(BlockTags.SMALL_DRIPLEAF_PLACEABLE)
            .add(
                Blocks.DIRT,
                Blocks.GRASS_BLOCK,
                Blocks.PODZOL,
                Blocks.COARSE_DIRT,
                Blocks.MYCELIUM,
                Blocks.ROOTED_DIRT,
                Blocks.MOSS_BLOCK,
                Blocks.MUD,
                Blocks.MUDDY_MANGROVE_ROOTS,
                Blocks.FARMLAND
            );
        this.tag(BlockTags.OCCLUDES_VIBRATION_SIGNALS).addTag(BlockTags.WOOL);
        this.tag(BlockTags.SNOW).add(Blocks.SNOW, Blocks.SNOW_BLOCK, Blocks.POWDER_SNOW);
        this.tag(BlockTags.MINEABLE_WITH_AXE)
            .add(
                Blocks.NOTE_BLOCK,
                Blocks.BAMBOO,
                Blocks.BARREL,
                Blocks.BEE_NEST,
                Blocks.BEEHIVE,
                Blocks.BIG_DRIPLEAF_STEM,
                Blocks.BIG_DRIPLEAF,
                Blocks.BOOKSHELF,
                Blocks.BROWN_MUSHROOM_BLOCK,
                Blocks.CAMPFIRE,
                Blocks.CARTOGRAPHY_TABLE,
                Blocks.CARVED_PUMPKIN,
                Blocks.CHEST,
                Blocks.CHORUS_FLOWER,
                Blocks.CHORUS_PLANT,
                Blocks.COCOA,
                Blocks.COMPOSTER,
                Blocks.CRAFTING_TABLE,
                Blocks.DAYLIGHT_DETECTOR,
                Blocks.FLETCHING_TABLE,
                Blocks.GLOW_LICHEN,
                Blocks.JACK_O_LANTERN,
                Blocks.JUKEBOX,
                Blocks.LADDER,
                Blocks.LECTERN,
                Blocks.LOOM,
                Blocks.MELON,
                Blocks.MUSHROOM_STEM,
                Blocks.PUMPKIN,
                Blocks.RED_MUSHROOM_BLOCK,
                Blocks.SMITHING_TABLE,
                Blocks.SOUL_CAMPFIRE,
                Blocks.TRAPPED_CHEST,
                Blocks.VINE
            )
            .addTag(BlockTags.BANNERS)
            .addTag(BlockTags.FENCE_GATES)
            .addTag(BlockTags.LOGS)
            .addTag(BlockTags.PLANKS)
            .addTag(BlockTags.SIGNS)
            .addTag(BlockTags.WOODEN_BUTTONS)
            .addTag(BlockTags.WOODEN_DOORS)
            .addTag(BlockTags.WOODEN_FENCES)
            .addTag(BlockTags.WOODEN_PRESSURE_PLATES)
            .addTag(BlockTags.WOODEN_SLABS)
            .addTag(BlockTags.WOODEN_STAIRS)
            .addTag(BlockTags.WOODEN_TRAPDOORS)
            .add(Blocks.MANGROVE_ROOTS)
            .addTag(BlockTags.ALL_HANGING_SIGNS)
            .add(Blocks.BAMBOO_MOSAIC, Blocks.BAMBOO_MOSAIC_SLAB, Blocks.BAMBOO_MOSAIC_STAIRS)
            .addTag(BlockTags.BAMBOO_BLOCKS)
            .add(Blocks.CHISELED_BOOKSHELF)
            .add(Blocks.CREAKING_HEART);
        this.tag(BlockTags.MINEABLE_WITH_HOE)
            .addTag(BlockTags.LEAVES)
            .add(
                Blocks.NETHER_WART_BLOCK,
                Blocks.WARPED_WART_BLOCK,
                Blocks.HAY_BLOCK,
                Blocks.DRIED_KELP_BLOCK,
                Blocks.TARGET,
                Blocks.SHROOMLIGHT,
                Blocks.SPONGE,
                Blocks.WET_SPONGE,
                Blocks.SCULK_SENSOR,
                Blocks.CALIBRATED_SCULK_SENSOR,
                Blocks.MOSS_BLOCK,
                Blocks.MOSS_CARPET,
                Blocks.PALE_MOSS_BLOCK,
                Blocks.PALE_MOSS_CARPET,
                Blocks.SCULK,
                Blocks.SCULK_CATALYST,
                Blocks.SCULK_VEIN,
                Blocks.SCULK_SHRIEKER
            );
        this.tag(BlockTags.MINEABLE_WITH_PICKAXE)
            .add(
                Blocks.STONE,
                Blocks.GRANITE,
                Blocks.POLISHED_GRANITE,
                Blocks.DIORITE,
                Blocks.POLISHED_DIORITE,
                Blocks.ANDESITE,
                Blocks.POLISHED_ANDESITE,
                Blocks.COBBLESTONE,
                Blocks.GOLD_ORE,
                Blocks.DEEPSLATE_GOLD_ORE,
                Blocks.IRON_ORE,
                Blocks.DEEPSLATE_IRON_ORE,
                Blocks.COAL_ORE,
                Blocks.DEEPSLATE_COAL_ORE,
                Blocks.NETHER_GOLD_ORE,
                Blocks.LAPIS_ORE,
                Blocks.DEEPSLATE_LAPIS_ORE,
                Blocks.LAPIS_BLOCK,
                Blocks.DISPENSER,
                Blocks.SANDSTONE,
                Blocks.CHISELED_SANDSTONE,
                Blocks.CUT_SANDSTONE,
                Blocks.GOLD_BLOCK,
                Blocks.IRON_BLOCK,
                Blocks.BRICKS,
                Blocks.MOSSY_COBBLESTONE,
                Blocks.OBSIDIAN,
                Blocks.SPAWNER,
                Blocks.DIAMOND_ORE,
                Blocks.DEEPSLATE_DIAMOND_ORE,
                Blocks.DIAMOND_BLOCK,
                Blocks.FURNACE,
                Blocks.COBBLESTONE_STAIRS,
                Blocks.STONE_PRESSURE_PLATE,
                Blocks.IRON_DOOR,
                Blocks.REDSTONE_ORE,
                Blocks.DEEPSLATE_REDSTONE_ORE,
                Blocks.NETHERRACK,
                Blocks.BASALT,
                Blocks.POLISHED_BASALT,
                Blocks.STONE_BRICKS,
                Blocks.MOSSY_STONE_BRICKS,
                Blocks.CRACKED_STONE_BRICKS,
                Blocks.CHISELED_STONE_BRICKS,
                Blocks.IRON_BARS,
                Blocks.CHAIN,
                Blocks.BRICK_STAIRS,
                Blocks.STONE_BRICK_STAIRS,
                Blocks.NETHER_BRICKS,
                Blocks.NETHER_BRICK_FENCE,
                Blocks.NETHER_BRICK_STAIRS,
                Blocks.ENCHANTING_TABLE,
                Blocks.BREWING_STAND,
                Blocks.END_STONE,
                Blocks.SANDSTONE_STAIRS,
                Blocks.EMERALD_ORE,
                Blocks.DEEPSLATE_EMERALD_ORE,
                Blocks.ENDER_CHEST,
                Blocks.EMERALD_BLOCK,
                Blocks.LIGHT_WEIGHTED_PRESSURE_PLATE,
                Blocks.HEAVY_WEIGHTED_PRESSURE_PLATE,
                Blocks.REDSTONE_BLOCK,
                Blocks.NETHER_QUARTZ_ORE,
                Blocks.HOPPER,
                Blocks.QUARTZ_BLOCK,
                Blocks.CHISELED_QUARTZ_BLOCK,
                Blocks.QUARTZ_PILLAR,
                Blocks.QUARTZ_STAIRS,
                Blocks.DROPPER,
                Blocks.WHITE_TERRACOTTA,
                Blocks.ORANGE_TERRACOTTA,
                Blocks.MAGENTA_TERRACOTTA,
                Blocks.LIGHT_BLUE_TERRACOTTA,
                Blocks.YELLOW_TERRACOTTA,
                Blocks.LIME_TERRACOTTA,
                Blocks.PINK_TERRACOTTA,
                Blocks.GRAY_TERRACOTTA,
                Blocks.LIGHT_GRAY_TERRACOTTA,
                Blocks.CYAN_TERRACOTTA,
                Blocks.PURPLE_TERRACOTTA,
                Blocks.BLUE_TERRACOTTA,
                Blocks.BROWN_TERRACOTTA,
                Blocks.GREEN_TERRACOTTA,
                Blocks.RED_TERRACOTTA,
                Blocks.BLACK_TERRACOTTA,
                Blocks.IRON_TRAPDOOR,
                Blocks.PRISMARINE,
                Blocks.PRISMARINE_BRICKS,
                Blocks.DARK_PRISMARINE,
                Blocks.PRISMARINE_STAIRS,
                Blocks.PRISMARINE_BRICK_STAIRS,
                Blocks.DARK_PRISMARINE_STAIRS,
                Blocks.PRISMARINE_SLAB,
                Blocks.PRISMARINE_BRICK_SLAB,
                Blocks.DARK_PRISMARINE_SLAB,
                Blocks.TERRACOTTA,
                Blocks.COAL_BLOCK,
                Blocks.RED_SANDSTONE,
                Blocks.CHISELED_RED_SANDSTONE,
                Blocks.CUT_RED_SANDSTONE,
                Blocks.RED_SANDSTONE_STAIRS,
                Blocks.STONE_SLAB,
                Blocks.SMOOTH_STONE_SLAB,
                Blocks.SANDSTONE_SLAB,
                Blocks.CUT_SANDSTONE_SLAB,
                Blocks.PETRIFIED_OAK_SLAB,
                Blocks.COBBLESTONE_SLAB,
                Blocks.BRICK_SLAB,
                Blocks.STONE_BRICK_SLAB,
                Blocks.NETHER_BRICK_SLAB,
                Blocks.QUARTZ_SLAB,
                Blocks.RED_SANDSTONE_SLAB,
                Blocks.CUT_RED_SANDSTONE_SLAB,
                Blocks.PURPUR_SLAB,
                Blocks.SMOOTH_STONE,
                Blocks.SMOOTH_SANDSTONE,
                Blocks.SMOOTH_QUARTZ,
                Blocks.SMOOTH_RED_SANDSTONE,
                Blocks.PURPUR_BLOCK,
                Blocks.PURPUR_PILLAR,
                Blocks.PURPUR_STAIRS,
                Blocks.END_STONE_BRICKS,
                Blocks.MAGMA_BLOCK,
                Blocks.RED_NETHER_BRICKS,
                Blocks.BONE_BLOCK,
                Blocks.OBSERVER,
                Blocks.WHITE_GLAZED_TERRACOTTA,
                Blocks.ORANGE_GLAZED_TERRACOTTA,
                Blocks.MAGENTA_GLAZED_TERRACOTTA,
                Blocks.LIGHT_BLUE_GLAZED_TERRACOTTA,
                Blocks.YELLOW_GLAZED_TERRACOTTA,
                Blocks.LIME_GLAZED_TERRACOTTA,
                Blocks.PINK_GLAZED_TERRACOTTA,
                Blocks.GRAY_GLAZED_TERRACOTTA,
                Blocks.LIGHT_GRAY_GLAZED_TERRACOTTA,
                Blocks.CYAN_GLAZED_TERRACOTTA,
                Blocks.PURPLE_GLAZED_TERRACOTTA,
                Blocks.BLUE_GLAZED_TERRACOTTA,
                Blocks.BROWN_GLAZED_TERRACOTTA,
                Blocks.GREEN_GLAZED_TERRACOTTA,
                Blocks.RED_GLAZED_TERRACOTTA,
                Blocks.BLACK_GLAZED_TERRACOTTA,
                Blocks.WHITE_CONCRETE,
                Blocks.ORANGE_CONCRETE,
                Blocks.MAGENTA_CONCRETE,
                Blocks.LIGHT_BLUE_CONCRETE,
                Blocks.YELLOW_CONCRETE,
                Blocks.LIME_CONCRETE,
                Blocks.PINK_CONCRETE,
                Blocks.GRAY_CONCRETE,
                Blocks.LIGHT_GRAY_CONCRETE,
                Blocks.CYAN_CONCRETE,
                Blocks.PURPLE_CONCRETE,
                Blocks.BLUE_CONCRETE,
                Blocks.BROWN_CONCRETE,
                Blocks.GREEN_CONCRETE,
                Blocks.RED_CONCRETE,
                Blocks.BLACK_CONCRETE,
                Blocks.DEAD_TUBE_CORAL_BLOCK,
                Blocks.DEAD_BRAIN_CORAL_BLOCK,
                Blocks.DEAD_BUBBLE_CORAL_BLOCK,
                Blocks.DEAD_FIRE_CORAL_BLOCK,
                Blocks.DEAD_HORN_CORAL_BLOCK,
                Blocks.TUBE_CORAL_BLOCK,
                Blocks.BRAIN_CORAL_BLOCK,
                Blocks.BUBBLE_CORAL_BLOCK,
                Blocks.FIRE_CORAL_BLOCK,
                Blocks.HORN_CORAL_BLOCK,
                Blocks.DEAD_TUBE_CORAL,
                Blocks.DEAD_BRAIN_CORAL,
                Blocks.DEAD_BUBBLE_CORAL,
                Blocks.DEAD_FIRE_CORAL,
                Blocks.DEAD_HORN_CORAL,
                Blocks.DEAD_TUBE_CORAL_FAN,
                Blocks.DEAD_BRAIN_CORAL_FAN,
                Blocks.DEAD_BUBBLE_CORAL_FAN,
                Blocks.DEAD_FIRE_CORAL_FAN,
                Blocks.DEAD_HORN_CORAL_FAN,
                Blocks.DEAD_TUBE_CORAL_WALL_FAN,
                Blocks.DEAD_BRAIN_CORAL_WALL_FAN,
                Blocks.DEAD_BUBBLE_CORAL_WALL_FAN,
                Blocks.DEAD_FIRE_CORAL_WALL_FAN,
                Blocks.DEAD_HORN_CORAL_WALL_FAN,
                Blocks.POLISHED_GRANITE_STAIRS,
                Blocks.SMOOTH_RED_SANDSTONE_STAIRS,
                Blocks.MOSSY_STONE_BRICK_STAIRS,
                Blocks.POLISHED_DIORITE_STAIRS,
                Blocks.MOSSY_COBBLESTONE_STAIRS,
                Blocks.END_STONE_BRICK_STAIRS,
                Blocks.STONE_STAIRS,
                Blocks.SMOOTH_SANDSTONE_STAIRS,
                Blocks.SMOOTH_QUARTZ_STAIRS,
                Blocks.GRANITE_STAIRS,
                Blocks.ANDESITE_STAIRS,
                Blocks.RED_NETHER_BRICK_STAIRS,
                Blocks.POLISHED_ANDESITE_STAIRS,
                Blocks.DIORITE_STAIRS,
                Blocks.POLISHED_GRANITE_SLAB,
                Blocks.SMOOTH_RED_SANDSTONE_SLAB,
                Blocks.MOSSY_STONE_BRICK_SLAB,
                Blocks.POLISHED_DIORITE_SLAB,
                Blocks.MOSSY_COBBLESTONE_SLAB,
                Blocks.END_STONE_BRICK_SLAB,
                Blocks.SMOOTH_SANDSTONE_SLAB,
                Blocks.SMOOTH_QUARTZ_SLAB,
                Blocks.GRANITE_SLAB,
                Blocks.ANDESITE_SLAB,
                Blocks.RED_NETHER_BRICK_SLAB,
                Blocks.POLISHED_ANDESITE_SLAB,
                Blocks.DIORITE_SLAB,
                Blocks.SMOKER,
                Blocks.BLAST_FURNACE,
                Blocks.GRINDSTONE,
                Blocks.STONECUTTER,
                Blocks.BELL,
                Blocks.LANTERN,
                Blocks.SOUL_LANTERN,
                Blocks.WARPED_NYLIUM,
                Blocks.CRIMSON_NYLIUM,
                Blocks.NETHERITE_BLOCK,
                Blocks.ANCIENT_DEBRIS,
                Blocks.CRYING_OBSIDIAN,
                Blocks.RESPAWN_ANCHOR,
                Blocks.LODESTONE,
                Blocks.BLACKSTONE,
                Blocks.BLACKSTONE_STAIRS,
                Blocks.BLACKSTONE_SLAB,
                Blocks.POLISHED_BLACKSTONE,
                Blocks.POLISHED_BLACKSTONE_BRICKS,
                Blocks.CRACKED_POLISHED_BLACKSTONE_BRICKS,
                Blocks.CHISELED_POLISHED_BLACKSTONE,
                Blocks.POLISHED_BLACKSTONE_BRICK_SLAB,
                Blocks.POLISHED_BLACKSTONE_BRICK_STAIRS,
                Blocks.GILDED_BLACKSTONE,
                Blocks.POLISHED_BLACKSTONE_STAIRS,
                Blocks.POLISHED_BLACKSTONE_SLAB,
                Blocks.POLISHED_BLACKSTONE_PRESSURE_PLATE,
                Blocks.CHISELED_NETHER_BRICKS,
                Blocks.CRACKED_NETHER_BRICKS,
                Blocks.QUARTZ_BRICKS,
                Blocks.TUFF,
                Blocks.CALCITE,
                Blocks.OXIDIZED_COPPER,
                Blocks.WEATHERED_COPPER,
                Blocks.EXPOSED_COPPER,
                Blocks.COPPER_BLOCK,
                Blocks.COPPER_ORE,
                Blocks.DEEPSLATE_COPPER_ORE,
                Blocks.OXIDIZED_CUT_COPPER,
                Blocks.WEATHERED_CUT_COPPER,
                Blocks.EXPOSED_CUT_COPPER,
                Blocks.CUT_COPPER,
                Blocks.OXIDIZED_CUT_COPPER_STAIRS,
                Blocks.WEATHERED_CUT_COPPER_STAIRS,
                Blocks.EXPOSED_CUT_COPPER_STAIRS,
                Blocks.CUT_COPPER_STAIRS,
                Blocks.OXIDIZED_CUT_COPPER_SLAB,
                Blocks.WEATHERED_CUT_COPPER_SLAB,
                Blocks.EXPOSED_CUT_COPPER_SLAB,
                Blocks.CUT_COPPER_SLAB,
                Blocks.WAXED_COPPER_BLOCK,
                Blocks.WAXED_WEATHERED_COPPER,
                Blocks.WAXED_EXPOSED_COPPER,
                Blocks.WAXED_OXIDIZED_COPPER,
                Blocks.WAXED_OXIDIZED_CUT_COPPER,
                Blocks.WAXED_WEATHERED_CUT_COPPER,
                Blocks.WAXED_EXPOSED_CUT_COPPER,
                Blocks.WAXED_CUT_COPPER,
                Blocks.WAXED_OXIDIZED_CUT_COPPER_STAIRS,
                Blocks.WAXED_WEATHERED_CUT_COPPER_STAIRS,
                Blocks.WAXED_EXPOSED_CUT_COPPER_STAIRS,
                Blocks.WAXED_CUT_COPPER_STAIRS,
                Blocks.WAXED_OXIDIZED_CUT_COPPER_SLAB,
                Blocks.WAXED_WEATHERED_CUT_COPPER_SLAB,
                Blocks.WAXED_EXPOSED_CUT_COPPER_SLAB,
                Blocks.WAXED_CUT_COPPER_SLAB,
                Blocks.LIGHTNING_ROD,
                Blocks.POINTED_DRIPSTONE,
                Blocks.DRIPSTONE_BLOCK,
                Blocks.DEEPSLATE,
                Blocks.COBBLED_DEEPSLATE,
                Blocks.COBBLED_DEEPSLATE_STAIRS,
                Blocks.COBBLED_DEEPSLATE_SLAB,
                Blocks.POLISHED_DEEPSLATE,
                Blocks.POLISHED_DEEPSLATE_STAIRS,
                Blocks.POLISHED_DEEPSLATE_SLAB,
                Blocks.DEEPSLATE_TILES,
                Blocks.DEEPSLATE_TILE_STAIRS,
                Blocks.DEEPSLATE_TILE_SLAB,
                Blocks.DEEPSLATE_BRICKS,
                Blocks.DEEPSLATE_BRICK_STAIRS,
                Blocks.DEEPSLATE_BRICK_SLAB,
                Blocks.CHISELED_DEEPSLATE,
                Blocks.CRACKED_DEEPSLATE_BRICKS,
                Blocks.CRACKED_DEEPSLATE_TILES,
                Blocks.SMOOTH_BASALT,
                Blocks.RAW_IRON_BLOCK,
                Blocks.RAW_COPPER_BLOCK,
                Blocks.RAW_GOLD_BLOCK,
                Blocks.ICE,
                Blocks.PACKED_ICE,
                Blocks.BLUE_ICE,
                Blocks.PISTON,
                Blocks.STICKY_PISTON,
                Blocks.PISTON_HEAD,
                Blocks.AMETHYST_CLUSTER,
                Blocks.SMALL_AMETHYST_BUD,
                Blocks.MEDIUM_AMETHYST_BUD,
                Blocks.LARGE_AMETHYST_BUD,
                Blocks.AMETHYST_BLOCK,
                Blocks.BUDDING_AMETHYST,
                Blocks.INFESTED_COBBLESTONE,
                Blocks.INFESTED_CHISELED_STONE_BRICKS,
                Blocks.INFESTED_CRACKED_STONE_BRICKS,
                Blocks.INFESTED_DEEPSLATE,
                Blocks.INFESTED_STONE,
                Blocks.INFESTED_MOSSY_STONE_BRICKS,
                Blocks.INFESTED_STONE_BRICKS
            )
            .addTag(BlockTags.STONE_BUTTONS)
            .addTag(BlockTags.WALLS)
            .addTag(BlockTags.SHULKER_BOXES)
            .addTag(BlockTags.ANVIL)
            .addTag(BlockTags.CAULDRONS)
            .addTag(BlockTags.RAILS)
            .add(Blocks.CONDUIT)
            .add(Blocks.MUD_BRICKS)
            .add(Blocks.MUD_BRICK_STAIRS)
            .add(Blocks.MUD_BRICK_SLAB)
            .add(Blocks.PACKED_MUD)
            .add(
                Blocks.CRAFTER,
                Blocks.TUFF_SLAB,
                Blocks.TUFF_STAIRS,
                Blocks.TUFF_WALL,
                Blocks.CHISELED_TUFF,
                Blocks.POLISHED_TUFF,
                Blocks.POLISHED_TUFF_SLAB,
                Blocks.POLISHED_TUFF_STAIRS,
                Blocks.POLISHED_TUFF_WALL,
                Blocks.TUFF_BRICKS,
                Blocks.TUFF_BRICK_SLAB,
                Blocks.TUFF_BRICK_STAIRS,
                Blocks.TUFF_BRICK_WALL,
                Blocks.CHISELED_TUFF_BRICKS,
                Blocks.CHISELED_COPPER,
                Blocks.EXPOSED_CHISELED_COPPER,
                Blocks.WEATHERED_CHISELED_COPPER,
                Blocks.OXIDIZED_CHISELED_COPPER,
                Blocks.WAXED_CHISELED_COPPER,
                Blocks.WAXED_EXPOSED_CHISELED_COPPER,
                Blocks.WAXED_WEATHERED_CHISELED_COPPER,
                Blocks.WAXED_OXIDIZED_CHISELED_COPPER,
                Blocks.COPPER_GRATE,
                Blocks.EXPOSED_COPPER_GRATE,
                Blocks.WEATHERED_COPPER_GRATE,
                Blocks.OXIDIZED_COPPER_GRATE,
                Blocks.WAXED_COPPER_GRATE,
                Blocks.WAXED_EXPOSED_COPPER_GRATE,
                Blocks.WAXED_WEATHERED_COPPER_GRATE,
                Blocks.WAXED_OXIDIZED_COPPER_GRATE,
                Blocks.COPPER_BULB,
                Blocks.EXPOSED_COPPER_BULB,
                Blocks.WEATHERED_COPPER_BULB,
                Blocks.OXIDIZED_COPPER_BULB,
                Blocks.WAXED_COPPER_BULB,
                Blocks.WAXED_EXPOSED_COPPER_BULB,
                Blocks.WAXED_WEATHERED_COPPER_BULB,
                Blocks.WAXED_OXIDIZED_COPPER_BULB,
                Blocks.COPPER_DOOR,
                Blocks.EXPOSED_COPPER_DOOR,
                Blocks.WEATHERED_COPPER_DOOR,
                Blocks.OXIDIZED_COPPER_DOOR,
                Blocks.WAXED_COPPER_DOOR,
                Blocks.WAXED_EXPOSED_COPPER_DOOR,
                Blocks.WAXED_WEATHERED_COPPER_DOOR,
                Blocks.WAXED_OXIDIZED_COPPER_DOOR,
                Blocks.COPPER_TRAPDOOR,
                Blocks.EXPOSED_COPPER_TRAPDOOR,
                Blocks.WEATHERED_COPPER_TRAPDOOR,
                Blocks.OXIDIZED_COPPER_TRAPDOOR,
                Blocks.WAXED_COPPER_TRAPDOOR,
                Blocks.WAXED_EXPOSED_COPPER_TRAPDOOR,
                Blocks.WAXED_WEATHERED_COPPER_TRAPDOOR,
                Blocks.WAXED_OXIDIZED_COPPER_TRAPDOOR,
                Blocks.HEAVY_CORE,
                Blocks.RESIN_BRICKS,
                Blocks.RESIN_BRICK_SLAB,
                Blocks.RESIN_BRICK_WALL,
                Blocks.RESIN_BRICK_STAIRS,
                Blocks.CHISELED_RESIN_BRICKS
            );
        this.tag(BlockTags.MINEABLE_WITH_SHOVEL)
            .add(
                Blocks.CLAY,
                Blocks.DIRT,
                Blocks.COARSE_DIRT,
                Blocks.PODZOL,
                Blocks.FARMLAND,
                Blocks.GRASS_BLOCK,
                Blocks.GRAVEL,
                Blocks.MYCELIUM,
                Blocks.SAND,
                Blocks.RED_SAND,
                Blocks.SNOW_BLOCK,
                Blocks.SNOW,
                Blocks.SOUL_SAND,
                Blocks.DIRT_PATH,
                Blocks.SOUL_SOIL,
                Blocks.ROOTED_DIRT,
                Blocks.MUDDY_MANGROVE_ROOTS,
                Blocks.MUD,
                Blocks.SUSPICIOUS_SAND,
                Blocks.SUSPICIOUS_GRAVEL
            )
            .addTag(BlockTags.CONCRETE_POWDER);
        this.tag(BlockTags.SWORD_EFFICIENT)
            .addTag(BlockTags.LEAVES)
            .add(Blocks.VINE, Blocks.GLOW_LICHEN)
            .add(Blocks.PUMPKIN, Blocks.CARVED_PUMPKIN, Blocks.JACK_O_LANTERN, Blocks.MELON, Blocks.COCOA, Blocks.BIG_DRIPLEAF, Blocks.BIG_DRIPLEAF_STEM)
            .add(Blocks.CHORUS_PLANT, Blocks.CHORUS_FLOWER);
        this.tag(BlockTags.SWORD_INSTANTLY_MINES).add(Blocks.BAMBOO, Blocks.BAMBOO_SAPLING);
        this.tag(BlockTags.NEEDS_DIAMOND_TOOL)
            .add(Blocks.OBSIDIAN, Blocks.CRYING_OBSIDIAN, Blocks.NETHERITE_BLOCK, Blocks.RESPAWN_ANCHOR, Blocks.ANCIENT_DEBRIS);
        this.tag(BlockTags.NEEDS_IRON_TOOL)
            .add(
                Blocks.DIAMOND_BLOCK,
                Blocks.DIAMOND_ORE,
                Blocks.DEEPSLATE_DIAMOND_ORE,
                Blocks.EMERALD_ORE,
                Blocks.DEEPSLATE_EMERALD_ORE,
                Blocks.EMERALD_BLOCK,
                Blocks.GOLD_BLOCK,
                Blocks.RAW_GOLD_BLOCK,
                Blocks.GOLD_ORE,
                Blocks.DEEPSLATE_GOLD_ORE,
                Blocks.REDSTONE_ORE,
                Blocks.DEEPSLATE_REDSTONE_ORE
            );
        this.tag(BlockTags.NEEDS_STONE_TOOL)
            .add(
                Blocks.IRON_BLOCK,
                Blocks.RAW_IRON_BLOCK,
                Blocks.IRON_ORE,
                Blocks.DEEPSLATE_IRON_ORE,
                Blocks.LAPIS_BLOCK,
                Blocks.LAPIS_ORE,
                Blocks.DEEPSLATE_LAPIS_ORE,
                Blocks.COPPER_BLOCK,
                Blocks.RAW_COPPER_BLOCK,
                Blocks.COPPER_ORE,
                Blocks.DEEPSLATE_COPPER_ORE,
                Blocks.CUT_COPPER_SLAB,
                Blocks.CUT_COPPER_STAIRS,
                Blocks.CUT_COPPER,
                Blocks.WEATHERED_COPPER,
                Blocks.WEATHERED_CUT_COPPER_SLAB,
                Blocks.WEATHERED_CUT_COPPER_STAIRS,
                Blocks.WEATHERED_CUT_COPPER,
                Blocks.OXIDIZED_COPPER,
                Blocks.OXIDIZED_CUT_COPPER_SLAB,
                Blocks.OXIDIZED_CUT_COPPER_STAIRS,
                Blocks.OXIDIZED_CUT_COPPER,
                Blocks.EXPOSED_COPPER,
                Blocks.EXPOSED_CUT_COPPER_SLAB,
                Blocks.EXPOSED_CUT_COPPER_STAIRS,
                Blocks.EXPOSED_CUT_COPPER,
                Blocks.WAXED_COPPER_BLOCK,
                Blocks.WAXED_CUT_COPPER_SLAB,
                Blocks.WAXED_CUT_COPPER_STAIRS,
                Blocks.WAXED_CUT_COPPER,
                Blocks.WAXED_WEATHERED_COPPER,
                Blocks.WAXED_WEATHERED_CUT_COPPER_SLAB,
                Blocks.WAXED_WEATHERED_CUT_COPPER_STAIRS,
                Blocks.WAXED_WEATHERED_CUT_COPPER,
                Blocks.WAXED_EXPOSED_COPPER,
                Blocks.WAXED_EXPOSED_CUT_COPPER_SLAB,
                Blocks.WAXED_EXPOSED_CUT_COPPER_STAIRS,
                Blocks.WAXED_EXPOSED_CUT_COPPER,
                Blocks.WAXED_OXIDIZED_COPPER,
                Blocks.WAXED_OXIDIZED_CUT_COPPER_SLAB,
                Blocks.WAXED_OXIDIZED_CUT_COPPER_STAIRS,
                Blocks.WAXED_OXIDIZED_CUT_COPPER,
                Blocks.LIGHTNING_ROD,
                Blocks.CRAFTER,
                Blocks.CHISELED_COPPER,
                Blocks.EXPOSED_CHISELED_COPPER,
                Blocks.WEATHERED_CHISELED_COPPER,
                Blocks.OXIDIZED_CHISELED_COPPER,
                Blocks.WAXED_CHISELED_COPPER,
                Blocks.WAXED_EXPOSED_CHISELED_COPPER,
                Blocks.WAXED_WEATHERED_CHISELED_COPPER,
                Blocks.WAXED_OXIDIZED_CHISELED_COPPER,
                Blocks.COPPER_GRATE,
                Blocks.EXPOSED_COPPER_GRATE,
                Blocks.WEATHERED_COPPER_GRATE,
                Blocks.OXIDIZED_COPPER_GRATE,
                Blocks.WAXED_COPPER_GRATE,
                Blocks.WAXED_EXPOSED_COPPER_GRATE,
                Blocks.WAXED_WEATHERED_COPPER_GRATE,
                Blocks.WAXED_OXIDIZED_COPPER_GRATE,
                Blocks.COPPER_BULB,
                Blocks.EXPOSED_COPPER_BULB,
                Blocks.WEATHERED_COPPER_BULB,
                Blocks.OXIDIZED_COPPER_BULB,
                Blocks.WAXED_COPPER_BULB,
                Blocks.WAXED_EXPOSED_COPPER_BULB,
                Blocks.WAXED_WEATHERED_COPPER_BULB,
                Blocks.WAXED_OXIDIZED_COPPER_BULB,
                Blocks.COPPER_TRAPDOOR,
                Blocks.EXPOSED_COPPER_TRAPDOOR,
                Blocks.WEATHERED_COPPER_TRAPDOOR,
                Blocks.OXIDIZED_COPPER_TRAPDOOR,
                Blocks.WAXED_COPPER_TRAPDOOR,
                Blocks.WAXED_EXPOSED_COPPER_TRAPDOOR,
                Blocks.WAXED_WEATHERED_COPPER_TRAPDOOR,
                Blocks.WAXED_OXIDIZED_COPPER_TRAPDOOR
            );
        this.tag(BlockTags.INCORRECT_FOR_NETHERITE_TOOL);
        this.tag(BlockTags.INCORRECT_FOR_DIAMOND_TOOL);
        this.tag(BlockTags.INCORRECT_FOR_IRON_TOOL).addTag(BlockTags.NEEDS_DIAMOND_TOOL);
        this.tag(BlockTags.INCORRECT_FOR_STONE_TOOL).addTag(BlockTags.NEEDS_DIAMOND_TOOL).addTag(BlockTags.NEEDS_IRON_TOOL);
        this.tag(BlockTags.INCORRECT_FOR_GOLD_TOOL).addTag(BlockTags.NEEDS_DIAMOND_TOOL).addTag(BlockTags.NEEDS_IRON_TOOL).addTag(BlockTags.NEEDS_STONE_TOOL);
        this.tag(BlockTags.INCORRECT_FOR_WOODEN_TOOL).addTag(BlockTags.NEEDS_DIAMOND_TOOL).addTag(BlockTags.NEEDS_IRON_TOOL).addTag(BlockTags.NEEDS_STONE_TOOL);
        this.tag(BlockTags.FEATURES_CANNOT_REPLACE)
            .add(Blocks.BEDROCK, Blocks.SPAWNER, Blocks.CHEST, Blocks.END_PORTAL_FRAME, Blocks.REINFORCED_DEEPSLATE, Blocks.TRIAL_SPAWNER, Blocks.VAULT);
        this.tag(BlockTags.LAVA_POOL_STONE_CANNOT_REPLACE).addTag(BlockTags.FEATURES_CANNOT_REPLACE).addTag(BlockTags.LEAVES).addTag(BlockTags.LOGS);
        this.tag(BlockTags.GEODE_INVALID_BLOCKS).add(Blocks.BEDROCK, Blocks.WATER, Blocks.LAVA, Blocks.ICE, Blocks.PACKED_ICE, Blocks.BLUE_ICE);
        this.tag(BlockTags.ANIMALS_SPAWNABLE_ON).add(Blocks.GRASS_BLOCK);
        this.tag(BlockTags.ARMADILLO_SPAWNABLE_ON)
            .addTag(BlockTags.ANIMALS_SPAWNABLE_ON)
            .addTag(BlockTags.BADLANDS_TERRACOTTA)
            .add(Blocks.RED_SAND, Blocks.COARSE_DIRT);
        this.tag(BlockTags.AXOLOTLS_SPAWNABLE_ON).add(Blocks.CLAY);
        this.tag(BlockTags.GOATS_SPAWNABLE_ON)
            .addTag(BlockTags.ANIMALS_SPAWNABLE_ON)
            .add(Blocks.STONE, Blocks.SNOW, Blocks.SNOW_BLOCK, Blocks.PACKED_ICE, Blocks.GRAVEL);
        this.tag(BlockTags.MOOSHROOMS_SPAWNABLE_ON).add(Blocks.MYCELIUM);
        this.tag(BlockTags.PARROTS_SPAWNABLE_ON).add(Blocks.GRASS_BLOCK, Blocks.AIR).addTag(BlockTags.LEAVES).addTag(BlockTags.LOGS);
        this.tag(BlockTags.POLAR_BEARS_SPAWNABLE_ON_ALTERNATE).add(Blocks.ICE);
        this.tag(BlockTags.RABBITS_SPAWNABLE_ON).add(Blocks.GRASS_BLOCK, Blocks.SNOW, Blocks.SNOW_BLOCK, Blocks.SAND);
        this.tag(BlockTags.FOXES_SPAWNABLE_ON).add(Blocks.GRASS_BLOCK, Blocks.SNOW, Blocks.SNOW_BLOCK, Blocks.PODZOL, Blocks.COARSE_DIRT);
        this.tag(BlockTags.WOLVES_SPAWNABLE_ON).add(Blocks.GRASS_BLOCK, Blocks.SNOW, Blocks.SNOW_BLOCK, Blocks.COARSE_DIRT, Blocks.PODZOL);
        this.tag(BlockTags.FROGS_SPAWNABLE_ON).add(Blocks.GRASS_BLOCK, Blocks.MUD, Blocks.MANGROVE_ROOTS, Blocks.MUDDY_MANGROVE_ROOTS);
        this.tag(BlockTags.BATS_SPAWNABLE_ON).addTag(BlockTags.BASE_STONE_OVERWORLD);
        this.tag(BlockTags.CAMELS_SPAWNABLE_ON).addTag(BlockTags.SAND);
        this.tag(BlockTags.BADLANDS_TERRACOTTA)
            .add(Blocks.TERRACOTTA)
            .add(
                Blocks.WHITE_TERRACOTTA,
                Blocks.YELLOW_TERRACOTTA,
                Blocks.ORANGE_TERRACOTTA,
                Blocks.RED_TERRACOTTA,
                Blocks.BROWN_TERRACOTTA,
                Blocks.LIGHT_GRAY_TERRACOTTA
            );
        this.tag(BlockTags.CONCRETE_POWDER)
            .add(
                Blocks.WHITE_CONCRETE_POWDER,
                Blocks.ORANGE_CONCRETE_POWDER,
                Blocks.MAGENTA_CONCRETE_POWDER,
                Blocks.LIGHT_BLUE_CONCRETE_POWDER,
                Blocks.YELLOW_CONCRETE_POWDER,
                Blocks.LIME_CONCRETE_POWDER,
                Blocks.PINK_CONCRETE_POWDER,
                Blocks.GRAY_CONCRETE_POWDER,
                Blocks.LIGHT_GRAY_CONCRETE_POWDER,
                Blocks.CYAN_CONCRETE_POWDER,
                Blocks.PURPLE_CONCRETE_POWDER,
                Blocks.BLUE_CONCRETE_POWDER,
                Blocks.BROWN_CONCRETE_POWDER,
                Blocks.GREEN_CONCRETE_POWDER,
                Blocks.RED_CONCRETE_POWDER,
                Blocks.BLACK_CONCRETE_POWDER
            );
        this.tag(BlockTags.AZALEA_GROWS_ON)
            .addTag(BlockTags.DIRT)
            .addTag(BlockTags.SAND)
            .addTag(BlockTags.TERRACOTTA)
            .add(Blocks.SNOW_BLOCK)
            .add(Blocks.POWDER_SNOW);
        this.tag(BlockTags.FROG_PREFER_JUMP_TO).add(Blocks.LILY_PAD, Blocks.BIG_DRIPLEAF);
        this.tag(BlockTags.SCULK_REPLACEABLE)
            .addTag(BlockTags.BASE_STONE_OVERWORLD)
            .addTag(BlockTags.DIRT)
            .addTag(BlockTags.TERRACOTTA)
            .addTag(BlockTags.NYLIUM)
            .addTag(BlockTags.BASE_STONE_NETHER)
            .add(Blocks.SAND, Blocks.RED_SAND)
            .add(Blocks.GRAVEL)
            .add(Blocks.SOUL_SAND)
            .add(Blocks.SOUL_SOIL)
            .add(Blocks.CALCITE)
            .add(Blocks.SMOOTH_BASALT)
            .add(Blocks.CLAY)
            .add(Blocks.DRIPSTONE_BLOCK)
            .add(Blocks.END_STONE)
            .add(Blocks.RED_SANDSTONE)
            .add(Blocks.SANDSTONE);
        this.tag(BlockTags.SCULK_REPLACEABLE_WORLD_GEN)
            .addTag(BlockTags.SCULK_REPLACEABLE)
            .add(Blocks.DEEPSLATE_BRICKS)
            .add(Blocks.DEEPSLATE_TILES)
            .add(Blocks.COBBLED_DEEPSLATE)
            .add(Blocks.CRACKED_DEEPSLATE_BRICKS)
            .add(Blocks.CRACKED_DEEPSLATE_TILES)
            .add(Blocks.POLISHED_DEEPSLATE);
        this.tag(BlockTags.VIBRATION_RESONATORS).add(Blocks.AMETHYST_BLOCK);
        this.tag(BlockTags.CONVERTABLE_TO_MUD).add(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.ROOTED_DIRT);
        this.tag(BlockTags.ANCIENT_CITY_REPLACEABLE)
            .add(Blocks.DEEPSLATE)
            .add(Blocks.DEEPSLATE_BRICKS)
            .add(Blocks.DEEPSLATE_TILES)
            .add(Blocks.DEEPSLATE_BRICK_SLAB)
            .add(Blocks.DEEPSLATE_TILE_SLAB)
            .add(Blocks.DEEPSLATE_BRICK_STAIRS)
            .add(Blocks.DEEPSLATE_TILE_WALL)
            .add(Blocks.DEEPSLATE_BRICK_WALL)
            .add(Blocks.COBBLED_DEEPSLATE)
            .add(Blocks.CRACKED_DEEPSLATE_BRICKS)
            .add(Blocks.CRACKED_DEEPSLATE_TILES)
            .add(Blocks.GRAY_WOOL);
        this.tag(BlockTags.MANGROVE_LOGS_CAN_GROW_THROUGH)
            .add(
                Blocks.MUD,
                Blocks.MUDDY_MANGROVE_ROOTS,
                Blocks.MANGROVE_ROOTS,
                Blocks.MANGROVE_LEAVES,
                Blocks.MANGROVE_LOG,
                Blocks.MANGROVE_PROPAGULE,
                Blocks.MOSS_CARPET,
                Blocks.VINE
            );
        this.tag(BlockTags.MANGROVE_ROOTS_CAN_GROW_THROUGH)
            .add(Blocks.MUD, Blocks.MUDDY_MANGROVE_ROOTS, Blocks.MANGROVE_ROOTS, Blocks.MOSS_CARPET, Blocks.VINE, Blocks.MANGROVE_PROPAGULE, Blocks.SNOW);
        this.tag(BlockTags.DRY_VEGETATION_MAY_PLACE_ON).addTag(BlockTags.SAND).addTag(BlockTags.TERRACOTTA).addTag(BlockTags.DIRT).add(Blocks.FARMLAND);
        this.tag(BlockTags.SNOW_LAYER_CANNOT_SURVIVE_ON).add(Blocks.ICE).add(Blocks.PACKED_ICE).add(Blocks.BARRIER);
        this.tag(BlockTags.SNOW_LAYER_CAN_SURVIVE_ON).add(Blocks.HONEY_BLOCK).add(Blocks.SOUL_SAND).add(Blocks.MUD);
        this.tag(BlockTags.REPLACEABLE_BY_TREES)
            .addTag(BlockTags.LEAVES)
            .addTag(BlockTags.SMALL_FLOWERS)
            .add(Blocks.PALE_MOSS_CARPET)
            .add(
                Blocks.SHORT_GRASS,
                Blocks.FERN,
                Blocks.DEAD_BUSH,
                Blocks.VINE,
                Blocks.GLOW_LICHEN,
                Blocks.SUNFLOWER,
                Blocks.LILAC,
                Blocks.ROSE_BUSH,
                Blocks.PEONY,
                Blocks.TALL_GRASS,
                Blocks.LARGE_FERN,
                Blocks.HANGING_ROOTS,
                Blocks.PITCHER_PLANT
            )
            .add(Blocks.WATER, Blocks.SEAGRASS, Blocks.TALL_SEAGRASS, Blocks.BUSH, Blocks.FIREFLY_BUSH)
            .add(Blocks.WARPED_ROOTS, Blocks.NETHER_SPROUTS, Blocks.CRIMSON_ROOTS, Blocks.LEAF_LITTER, Blocks.SHORT_DRY_GRASS, Blocks.TALL_DRY_GRASS);
        this.tag(BlockTags.REPLACEABLE_BY_MUSHROOMS)
            .addTag(BlockTags.LEAVES)
            .addTag(BlockTags.SMALL_FLOWERS)
            .add(Blocks.PALE_MOSS_CARPET)
            .add(
                Blocks.SHORT_GRASS,
                Blocks.FERN,
                Blocks.DEAD_BUSH,
                Blocks.VINE,
                Blocks.GLOW_LICHEN,
                Blocks.SUNFLOWER,
                Blocks.LILAC,
                Blocks.ROSE_BUSH,
                Blocks.PEONY,
                Blocks.TALL_GRASS,
                Blocks.LARGE_FERN,
                Blocks.HANGING_ROOTS,
                Blocks.PITCHER_PLANT
            )
            .add(Blocks.WATER, Blocks.SEAGRASS, Blocks.TALL_SEAGRASS)
            .add(Blocks.BROWN_MUSHROOM, Blocks.RED_MUSHROOM, Blocks.BROWN_MUSHROOM_BLOCK, Blocks.RED_MUSHROOM_BLOCK)
            .add(
                Blocks.WARPED_ROOTS,
                Blocks.NETHER_SPROUTS,
                Blocks.CRIMSON_ROOTS,
                Blocks.LEAF_LITTER,
                Blocks.SHORT_DRY_GRASS,
                Blocks.TALL_DRY_GRASS,
                Blocks.BUSH,
                Blocks.FIREFLY_BUSH
            );
        this.tag(BlockTags.SNAPS_GOAT_HORN)
            .addTag(BlockTags.OVERWORLD_NATURAL_LOGS)
            .add(Blocks.STONE)
            .add(Blocks.PACKED_ICE)
            .add(Blocks.IRON_ORE)
            .add(Blocks.COAL_ORE)
            .add(Blocks.COPPER_ORE)
            .add(Blocks.EMERALD_ORE);
        this.tag(BlockTags.INVALID_SPAWN_INSIDE).add(Blocks.END_PORTAL, Blocks.END_GATEWAY);
        this.tag(BlockTags.TRAIL_RUINS_REPLACEABLE).add(Blocks.GRAVEL);
        this.tag(BlockTags.SNIFFER_DIGGABLE_BLOCK)
            .add(
                Blocks.DIRT,
                Blocks.GRASS_BLOCK,
                Blocks.PODZOL,
                Blocks.COARSE_DIRT,
                Blocks.ROOTED_DIRT,
                Blocks.MOSS_BLOCK,
                Blocks.PALE_MOSS_BLOCK,
                Blocks.MUD,
                Blocks.MUDDY_MANGROVE_ROOTS
            );
        this.tag(BlockTags.SNIFFER_EGG_HATCH_BOOST).add(Blocks.MOSS_BLOCK);
        this.tag(BlockTags.REPLACEABLE)
            .addAll(
                provider.lookupOrThrow(Registries.BLOCK).listElements().map(Holder.Reference::value).filter(block -> block.defaultBlockState().canBeReplaced())
            );
        this.tag(BlockTags.ENCHANTMENT_POWER_PROVIDER).add(Blocks.BOOKSHELF);
        this.tag(BlockTags.ENCHANTMENT_POWER_TRANSMITTER).addTag(BlockTags.REPLACEABLE);
        this.tag(BlockTags.MAINTAINS_FARMLAND)
            .add(
                Blocks.PUMPKIN_STEM,
                Blocks.ATTACHED_PUMPKIN_STEM,
                Blocks.MELON_STEM,
                Blocks.ATTACHED_MELON_STEM,
                Blocks.BEETROOTS,
                Blocks.CARROTS,
                Blocks.POTATOES,
                Blocks.TORCHFLOWER_CROP,
                Blocks.TORCHFLOWER,
                Blocks.PITCHER_CROP,
                Blocks.WHEAT
            );
        this.tag(BlockTags.CAMEL_SAND_STEP_SOUND_BLOCKS).addTag(BlockTags.SAND).addTag(BlockTags.CONCRETE_POWDER);
        this.tag(BlockTags.HAPPY_GHAST_AVOIDS)
            .add(Blocks.SWEET_BERRY_BUSH, Blocks.CACTUS, Blocks.WITHER_ROSE, Blocks.MAGMA_BLOCK, Blocks.FIRE, Blocks.POINTED_DRIPSTONE);
        this.tag(BlockTags.DOES_NOT_BLOCK_HOPPERS).addTag(BlockTags.BEEHIVES);
        this.tag(BlockTags.BLOCKS_WIND_CHARGE_EXPLOSIONS).add(Blocks.BARRIER, Blocks.BEDROCK);
        this.tag(BlockTags.TRIGGERS_AMBIENT_DESERT_SAND_BLOCK_SOUNDS).add(Blocks.SAND, Blocks.RED_SAND);
        this.tag(BlockTags.TRIGGERS_AMBIENT_DESERT_DRY_VEGETATION_BLOCK_SOUNDS).addTag(BlockTags.TERRACOTTA).add(Blocks.SAND, Blocks.RED_SAND);
        this.tag(BlockTags.TRIGGERS_AMBIENT_DRIED_GHAST_BLOCK_SOUNDS).add(Blocks.SOUL_SAND, Blocks.SOUL_SOIL);
        this.tag(BlockTags.AIR).add(Blocks.AIR, Blocks.VOID_AIR, Blocks.CAVE_AIR);
    }
}
