package ovh.glitchlabs.ornamentum.datagen;

import net.minecraft.world.entity.TamableAnimal;
import net.minecraft.world.level.block.Block;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
import net.minecraft.tags.BlockTags;
import net.neoforged.neoforge.common.Tags;
import net.neoforged.neoforge.common.data.BlockTagsProvider;
import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
import ovh.glitchlabs.ornamentum.Ornamentum;
import ovh.glitchlabs.ornamentum.blocks.ModBlocks;
import ovh.glitchlabs.ornamentum.tags.ModTags;

import java.util.concurrent.CompletableFuture;

public class ModBlockTagProvider extends BlockTagsProvider {
    public ModBlockTagProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> lookupProvider, @Nullable ExistingFileHelper existingFileHelper) {
        super(output, lookupProvider, Ornamentum.MODID, existingFileHelper);
    }

    @Override
    protected void addTags(HolderLookup.Provider provider) {
        tag(BlockTags.MINEABLE_WITH_AXE)

                .add(ModBlocks.OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_BRICKS.get())
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
                .add(ModBlocks.POLISHED_OBSIDIAN.get())

                .add(ModBlocks.WHITE_FLAG.get())
                .add(ModBlocks.ORANGE_FLAG.get())
                .add(ModBlocks.MAGENTA_FLAG.get())
                .add(ModBlocks.LIGHT_BLUE_FLAG.get())
                .add(ModBlocks.YELLOW_FLAG.get())
                .add(ModBlocks.LIME_FLAG.get())
                .add(ModBlocks.PINK_FLAG.get())
                .add(ModBlocks.GRAY_FLAG.get())
                .add(ModBlocks.LIGHT_GRAY_FLAG.get())
                .add(ModBlocks.CYAN_FLAG.get())
                .add(ModBlocks.PURPLE_FLAG.get())
                .add(ModBlocks.BLUE_FLAG.get())
                .add(ModBlocks.BROWN_FLAG.get())
                .add(ModBlocks.GREEN_FLAG.get())
                .add(ModBlocks.RED_FLAG.get())
                .add(ModBlocks.BLACK_FLAG.get())

                .add(ModBlocks.AUSTRIA_FLAG.get())
                .add(ModBlocks.BOUVET_ISLAND_FLAG.get())
                .add(ModBlocks.CANADA_FLAG.get())
                .add(ModBlocks.CHINA_FLAG.get())
                .add(ModBlocks.DENMARK_FLAG.get())
                .add(ModBlocks.FINLAND_FLAG.get())
                .add(ModBlocks.FRANCE_FLAG.get())
                .add(ModBlocks.GERMANY_FLAG.get())
                .add(ModBlocks.GREECE_FLAG.get())
                .add(ModBlocks.HUNGARY_FLAG.get())
                .add(ModBlocks.ICELAND_FLAG.get())
                .add(ModBlocks.INDIA_FLAG.get())
                .add(ModBlocks.IRELAND_FLAG.get())
                .add(ModBlocks.ITALY_FLAG.get())
                .add(ModBlocks.JAPAN_FLAG.get())
                .add(ModBlocks.LATVIA_FLAG.get())
                .add(ModBlocks.NETHERLANDS_FLAG.get())
                .add(ModBlocks.SWEDEN_FLAG.get())
                .add(ModBlocks.SWITZERLAND_FLAG.get())
                .add(ModBlocks.UNITED_KINGDOM_FLAG.get())
                .add(ModBlocks.UNITED_STATES_FLAG.get())

                .add(ModBlocks.AGENDER_FLAG.get())
                .add(ModBlocks.AROACE_FLAG.get())
                .add(ModBlocks.AROMANTIC_FLAG.get())
                .add(ModBlocks.ASEXUAL_FLAG.get())
                .add(ModBlocks.BISEXUAL_FLAG.get())
                .add(ModBlocks.DEMIROMANTIC_FLAG.get())
                .add(ModBlocks.DEMISEXUAL_FLAG.get())
                .add(ModBlocks.GAY_MEN_FLAG.get())
                .add(ModBlocks.GENDERFLUID_FLAG.get())
                .add(ModBlocks.GENDERQUEER_FLAG.get())
                .add(ModBlocks.INTERSEX_FLAG.get())
                .add(ModBlocks.LESBIAN_FLAG.get())
                .add(ModBlocks.NON_BINARY_FLAG.get())
                .add(ModBlocks.OMNISEXUAL_FLAG.get())
                .add(ModBlocks.PANSEXUAL_FLAG.get())
                .add(ModBlocks.PRIDE_FLAG.get())
                .add(ModBlocks.PROGRESS_PRIDE_FLAG.get())
                .add(ModBlocks.TRANS_FLAG.get())
        ;

        tag(BlockTags.MINEABLE_WITH_PICKAXE)
                .add(ModBlocks.FAN_BLOCK.get())
                .add(ModBlocks.REDSTONE_POWERED_FAN_BLOCK.get())
                .add(ModBlocks.LINK_BLOCK.get())
                .add(ModBlocks.IRON_SHELF.get())

                .add(ModBlocks.RED_PATTERN_BLOCK.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.WHITE_PATTERN_BLOCK.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.ORANGE_PATTERN_BLOCK.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.MAGENTA_PATTERN_BLOCK.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.YELLOW_PATTERN_BLOCK.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIME_PATTERN_BLOCK.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.PINK_PATTERN_BLOCK.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.GRAY_PATTERN_BLOCK.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.CYAN_PATTERN_BLOCK.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.PURPLE_PATTERN_BLOCK.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BLUE_PATTERN_BLOCK.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BROWN_PATTERN_BLOCK.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.GREEN_PATTERN_BLOCK.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BLACK_PATTERN_BLOCK.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.IRON_GRATE.get())
                .add(ModBlocks.GOLD_GRATE.get())
                .add(ModBlocks.DIAMOND_GRATE.get())
                .add(ModBlocks.NETHERITE_GRATE.get())
                .add(ModBlocks.AMETHYST_GRATE.get())
                .add(ModBlocks.OBSIDIAN_GRATE.get())

                .add(ModBlocks.LIME_GLOW_BLOCK.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK.get())
                .add(ModBlocks.RED_GLOW_BLOCK.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK.get())
                .add(ModBlocks.PINK_GLOW_BLOCK.get())

                .add(ModBlocks.LIME_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_GLOW_BLOCK_STAIRS.get())

                .add(ModBlocks.LIME_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.RED_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.PINK_GLOW_BLOCK_SLAB.get())

                .add(ModBlocks.POOL_TILES.get())
                .add(ModBlocks.POOL_TILES1.get())

                .add(ModBlocks.POOL_TILES_SLAB.get())
                .add(ModBlocks.POOL_TILES1_SLAB.get())
                .add(ModBlocks.POOL_TILES_STAIRS.get())
                .add(ModBlocks.POOL_TILES1_STAIRS.get())

                .add(ModBlocks.MESH_IRON.get())

                .add(ModBlocks.WHITE_BRICKS.get())
                .add(ModBlocks.ORANGE_BRICKS.get())
                .add(ModBlocks.MAGENTA_BRICKS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS.get())
                .add(ModBlocks.YELLOW_BRICKS.get())
                .add(ModBlocks.LIME_BRICKS.get())
                .add(ModBlocks.PINK_BRICKS.get())
                .add(ModBlocks.GRAY_BRICKS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS.get())
                .add(ModBlocks.CYAN_BRICKS.get())
                .add(ModBlocks.PURPLE_BRICKS.get())
                .add(ModBlocks.BLUE_BRICKS.get())
                .add(ModBlocks.BROWN_BRICKS.get())
                .add(ModBlocks.GREEN_BRICKS.get())
                .add(ModBlocks.RED_BRICKS.get())
                .add(ModBlocks.BLACK_BRICKS.get())

                .add(ModBlocks.WHITE_BRICKS_STAIRS.get())
                .add(ModBlocks.ORANGE_BRICKS_STAIRS.get())
                .add(ModBlocks.MAGENTA_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.YELLOW_BRICKS_STAIRS.get())
                .add(ModBlocks.LIME_BRICKS_STAIRS.get())
                .add(ModBlocks.PINK_BRICKS_STAIRS.get())
                .add(ModBlocks.GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.CYAN_BRICKS_STAIRS.get())
                .add(ModBlocks.PURPLE_BRICKS_STAIRS.get())
                .add(ModBlocks.BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.BROWN_BRICKS_STAIRS.get())
                .add(ModBlocks.GREEN_BRICKS_STAIRS.get())
                .add(ModBlocks.RED_BRICKS_STAIRS.get())
                .add(ModBlocks.BLACK_BRICKS_STAIRS.get())

                .add(ModBlocks.WHITE_BRICKS_SLAB.get())
                .add(ModBlocks.ORANGE_BRICKS_SLAB.get())
                .add(ModBlocks.MAGENTA_BRICKS_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_SLAB.get())
                .add(ModBlocks.YELLOW_BRICKS_SLAB.get())
                .add(ModBlocks.LIME_BRICKS_SLAB.get())
                .add(ModBlocks.PINK_BRICKS_SLAB.get())
                .add(ModBlocks.GRAY_BRICKS_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_SLAB.get())
                .add(ModBlocks.CYAN_BRICKS_SLAB.get())
                .add(ModBlocks.PURPLE_BRICKS_SLAB.get())
                .add(ModBlocks.BLUE_BRICKS_SLAB.get())
                .add(ModBlocks.BROWN_BRICKS_SLAB.get())
                .add(ModBlocks.GREEN_BRICKS_SLAB.get())
                .add(ModBlocks.RED_BRICKS_SLAB.get())
                .add(ModBlocks.BLACK_BRICKS_SLAB.get())

                .add(ModBlocks.AMETIST_BRICKS.get())
                .add(ModBlocks.PURPUR_BRICKS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS.get())
                .add(ModBlocks.POLISHED_ANDESITE_BRICKS.get())
                .add(ModBlocks.POLISHED_DIORITE_BRICKS.get())
                .add(ModBlocks.POLISHED_GRANITE_BRICKS.get())

                .add(ModBlocks.AMETIST_BRICKS_STAIRS.get())
                .add(ModBlocks.PURPUR_BRICKS_STAIRS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_STAIRS.get())
                .add(ModBlocks.POLISHED_ANDESITE_BRICKS_STAIRS.get())
                .add(ModBlocks.POLISHED_DIORITE_BRICKS_STAIRS.get())
                .add(ModBlocks.POLISHED_GRANITE_BRICKS_STAIRS.get())

                .add(ModBlocks.AMETIST_BRICKS_SLAB.get())
                .add(ModBlocks.PURPUR_BRICKS_SLAB.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_SLAB.get())
                .add(ModBlocks.POLISHED_ANDESITE_BRICKS_SLAB.get())
                .add(ModBlocks.POLISHED_DIORITE_BRICKS_SLAB.get())
                .add(ModBlocks.POLISHED_GRANITE_BRICKS_SLAB.get())
        ;

        tag(BlockTags.NEEDS_IRON_TOOL)
                .add(ModBlocks.LIME_GLOW_BLOCK.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK.get())
                .add(ModBlocks.RED_GLOW_BLOCK.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK.get())
                .add(ModBlocks.PINK_GLOW_BLOCK.get())

                .add(ModBlocks.LIME_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_GLOW_BLOCK_STAIRS.get())

                .add(ModBlocks.LIME_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.RED_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.PINK_GLOW_BLOCK_SLAB.get())

                .add(ModBlocks.GOLD_GRATE.get())
                .add(ModBlocks.DIAMOND_GRATE.get())
                .add(ModBlocks.AMETHYST_GRATE.get())

                .add(ModBlocks.POOL_TILES.get())
                .add(ModBlocks.POOL_TILES1.get())

                .add(ModBlocks.POOL_TILES_SLAB.get())
                .add(ModBlocks.POOL_TILES1_SLAB.get())
                .add(ModBlocks.POOL_TILES_STAIRS.get())
                .add(ModBlocks.POOL_TILES1_STAIRS.get())

                .add(ModBlocks.MESH_IRON.get())
        ;

        tag(BlockTags.NEEDS_DIAMOND_TOOL)
                .add(ModBlocks.OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_BRICKS.get())
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
                .add(ModBlocks.POLISHED_OBSIDIAN.get())
                .add(ModBlocks.OBSIDIAN_GRATE.get())
                .add(ModBlocks.NETHERITE_GRATE.get())
        ;

        tag(Tags.Blocks.OBSIDIANS)
                .add(ModBlocks.OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_BRICKS.get())
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
                .add(ModBlocks.POLISHED_OBSIDIAN.get())
        ;

        tag(Tags.Blocks.OBSIDIANS_NORMAL)
                .add(ModBlocks.OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_BRICKS.get())
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
                .add(ModBlocks.POLISHED_OBSIDIAN.get())
        ;

        tag(BlockTags.DRAGON_IMMUNE)
                .add(ModBlocks.OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_BRICKS.get())
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
                .add(ModBlocks.POLISHED_OBSIDIAN.get())
        ;


        tag(BlockTags.NEEDS_STONE_TOOL)
                .add(ModBlocks.IRON_SHELF.get())
                .add(ModBlocks.IRON_GRATE.get())
                .add(ModBlocks.LINK_BLOCK.get())
                .add(ModBlocks.FAN_BLOCK.get())
                .add(ModBlocks.REDSTONE_POWERED_FAN_BLOCK.get())
        ;

        tag(BlockTags.INCORRECT_FOR_GOLD_TOOL)
                .add(ModBlocks.IRON_GRATE.get())
                .add(ModBlocks.GOLD_GRATE.get())
                .add(ModBlocks.DIAMOND_GRATE.get())
                .add(ModBlocks.AMETHYST_GRATE.get())
                .add(ModBlocks.OBSIDIAN_GRATE.get())
                .add(ModBlocks.NETHERITE_GRATE.get())

                .add(ModBlocks.LIME_GLOW_BLOCK.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK.get())
                .add(ModBlocks.RED_GLOW_BLOCK.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK.get())
                .add(ModBlocks.PINK_GLOW_BLOCK.get())

                .add(ModBlocks.POOL_TILES.get())
                .add(ModBlocks.POOL_TILES1.get())

                .add(ModBlocks.POOL_TILES_SLAB.get())
                .add(ModBlocks.POOL_TILES1_SLAB.get())
                .add(ModBlocks.POOL_TILES_STAIRS.get())
                .add(ModBlocks.POOL_TILES1_STAIRS.get())

                .add(ModBlocks.MESH_IRON.get())
        ;

        tag(BlockTags.INCORRECT_FOR_STONE_TOOL)
                .add(ModBlocks.GOLD_GRATE.get())
                .add(ModBlocks.DIAMOND_GRATE.get())
                .add(ModBlocks.AMETHYST_GRATE.get())
                .add(ModBlocks.OBSIDIAN_GRATE.get())
                .add(ModBlocks.NETHERITE_GRATE.get())

                .add(ModBlocks.LIME_GLOW_BLOCK.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK.get())
                .add(ModBlocks.RED_GLOW_BLOCK.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK.get())
                .add(ModBlocks.PINK_GLOW_BLOCK.get())

                .add(ModBlocks.POOL_TILES.get())
                .add(ModBlocks.POOL_TILES1.get())

                .add(ModBlocks.POOL_TILES_SLAB.get())
                .add(ModBlocks.POOL_TILES1_SLAB.get())
                .add(ModBlocks.POOL_TILES_STAIRS.get())
                .add(ModBlocks.POOL_TILES1_STAIRS.get())

                .add(ModBlocks.MESH_IRON.get())
        ;

        tag(BlockTags.INCORRECT_FOR_IRON_TOOL)
                .add(ModBlocks.OBSIDIAN_GRATE.get())
                .add(ModBlocks.NETHERITE_GRATE.get())
        ;

        tag(BlockTags.INCORRECT_FOR_WOODEN_TOOL)
                .add(ModBlocks.IRON_GRATE.get())
                .add(ModBlocks.GOLD_GRATE.get())
                .add(ModBlocks.DIAMOND_GRATE.get())
                .add(ModBlocks.AMETHYST_GRATE.get())
                .add(ModBlocks.OBSIDIAN_GRATE.get())
                .add(ModBlocks.NETHERITE_GRATE.get())

                .add(ModBlocks.LIME_GLOW_BLOCK.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK.get())
                .add(ModBlocks.RED_GLOW_BLOCK.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK.get())
                .add(ModBlocks.PINK_GLOW_BLOCK.get())

                .add(ModBlocks.POOL_TILES.get())
                .add(ModBlocks.POOL_TILES1.get())

                .add(ModBlocks.POOL_TILES_SLAB.get())
                .add(ModBlocks.POOL_TILES1_SLAB.get())
                .add(ModBlocks.POOL_TILES_STAIRS.get())
                .add(ModBlocks.POOL_TILES1_STAIRS.get())

                .add(ModBlocks.MESH_IRON.get())
        ;

        tag(BlockTags.ANCIENT_CITY_REPLACEABLE)
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
        ;

        tag(BlockTags.SCULK_REPLACEABLE_WORLD_GEN)
                .add(ModBlocks.OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_TILES.get())
                .add(ModBlocks.CRACKED_OBSIDIAN_BRICKS.get())
                .add(ModBlocks.OBSIDIAN_BRICKS.get())
                .add(ModBlocks.POLISHED_OBSIDIAN.get())
        ;

        tag(Tags.Blocks.GLASS_BLOCKS)

                .add(ModBlocks.WHITE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.ORANGE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.MAGENTA_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.YELLOW_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIME_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PINK_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.CYAN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PURPLE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BROWN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GREEN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.RED_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLACK_GLOW_STAINED_GLASS.get())

        ;

        tag(Tags.Blocks.GLASS_BLOCKS_CHEAP)
                .add(ModBlocks.WHITE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.ORANGE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.MAGENTA_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.YELLOW_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIME_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PINK_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.CYAN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PURPLE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BROWN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GREEN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.RED_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLACK_GLOW_STAINED_GLASS.get())
        ;

        tag(BlockTags.IMPERMEABLE)
                .add(ModBlocks.WHITE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.ORANGE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.MAGENTA_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.YELLOW_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIME_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PINK_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.CYAN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PURPLE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BROWN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GREEN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.RED_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLACK_GLOW_STAINED_GLASS.get())
        ;

        tag(BlockTags.DAMPENS_VIBRATIONS)
                .add(ModBlocks.DUCK.get())
                .add(ModBlocks.BABY_TURTLE.get())

                .add(ModBlocks.WHITE_WOOL_SLAB.get())
                .add(ModBlocks.ORANGE_WOOL_SLAB.get())
                .add(ModBlocks.MAGENTA_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_SLAB.get())
                .add(ModBlocks.YELLOW_WOOL_SLAB.get())
                .add(ModBlocks.LIME_WOOL_SLAB.get())
                .add(ModBlocks.PINK_WOOL_SLAB.get())
                .add(ModBlocks.GRAY_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_SLAB.get())
                .add(ModBlocks.CYAN_WOOL_SLAB.get())
                .add(ModBlocks.PURPLE_WOOL_SLAB.get())
                .add(ModBlocks.BLUE_WOOL_SLAB.get())
                .add(ModBlocks.BROWN_WOOL_SLAB.get())
                .add(ModBlocks.GREEN_WOOL_SLAB.get())
                .add(ModBlocks.RED_WOOL_SLAB.get())
                .add(ModBlocks.BLACK_WOOL_SLAB.get())

                .add(ModBlocks.WHITE_WOOL_STAIRS.get())
                .add(ModBlocks.ORANGE_WOOL_STAIRS.get())
                .add(ModBlocks.MAGENTA_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.YELLOW_WOOL_STAIRS.get())
                .add(ModBlocks.LIME_WOOL_STAIRS.get())
                .add(ModBlocks.PINK_WOOL_STAIRS.get())
                .add(ModBlocks.GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.CYAN_WOOL_STAIRS.get())
                .add(ModBlocks.PURPLE_WOOL_STAIRS.get())
                .add(ModBlocks.BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.BROWN_WOOL_STAIRS.get())
                .add(ModBlocks.GREEN_WOOL_STAIRS.get())
                .add(ModBlocks.RED_WOOL_STAIRS.get())
                .add(ModBlocks.BLACK_WOOL_STAIRS.get())

        ;

        tag(BlockTags.OCCLUDES_VIBRATION_SIGNALS)
                .add(ModBlocks.DUCK.get())
                .add(ModBlocks.BABY_TURTLE.get())
                .add(ModBlocks.WHITE_WOOL_SLAB.get())
                .add(ModBlocks.ORANGE_WOOL_SLAB.get())
                .add(ModBlocks.MAGENTA_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_SLAB.get())
                .add(ModBlocks.YELLOW_WOOL_SLAB.get())
                .add(ModBlocks.LIME_WOOL_SLAB.get())
                .add(ModBlocks.PINK_WOOL_SLAB.get())
                .add(ModBlocks.GRAY_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_SLAB.get())
                .add(ModBlocks.CYAN_WOOL_SLAB.get())
                .add(ModBlocks.PURPLE_WOOL_SLAB.get())
                .add(ModBlocks.BLUE_WOOL_SLAB.get())
                .add(ModBlocks.BROWN_WOOL_SLAB.get())
                .add(ModBlocks.GREEN_WOOL_SLAB.get())
                .add(ModBlocks.RED_WOOL_SLAB.get())
                .add(ModBlocks.BLACK_WOOL_SLAB.get())

                .add(ModBlocks.WHITE_WOOL_STAIRS.get())
                .add(ModBlocks.ORANGE_WOOL_STAIRS.get())
                .add(ModBlocks.MAGENTA_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.YELLOW_WOOL_STAIRS.get())
                .add(ModBlocks.LIME_WOOL_STAIRS.get())
                .add(ModBlocks.PINK_WOOL_STAIRS.get())
                .add(ModBlocks.GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.CYAN_WOOL_STAIRS.get())
                .add(ModBlocks.PURPLE_WOOL_STAIRS.get())
                .add(ModBlocks.BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.BROWN_WOOL_STAIRS.get())
                .add(ModBlocks.GREEN_WOOL_STAIRS.get())
                .add(ModBlocks.RED_WOOL_STAIRS.get())
                .add(ModBlocks.BLACK_WOOL_STAIRS.get())
        ;

        tag(BlockTags.WOOL)
                .add(ModBlocks.DUCK.get())
                .add(ModBlocks.BABY_TURTLE.get())

                .add(ModBlocks.WHITE_WOOL_SLAB.get())
                .add(ModBlocks.ORANGE_WOOL_SLAB.get())
                .add(ModBlocks.MAGENTA_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_SLAB.get())
                .add(ModBlocks.YELLOW_WOOL_SLAB.get())
                .add(ModBlocks.LIME_WOOL_SLAB.get())
                .add(ModBlocks.PINK_WOOL_SLAB.get())
                .add(ModBlocks.GRAY_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_SLAB.get())
                .add(ModBlocks.CYAN_WOOL_SLAB.get())
                .add(ModBlocks.PURPLE_WOOL_SLAB.get())
                .add(ModBlocks.BLUE_WOOL_SLAB.get())
                .add(ModBlocks.BROWN_WOOL_SLAB.get())
                .add(ModBlocks.GREEN_WOOL_SLAB.get())
                .add(ModBlocks.RED_WOOL_SLAB.get())
                .add(ModBlocks.BLACK_WOOL_SLAB.get())

                .add(ModBlocks.WHITE_WOOL_STAIRS.get())
                .add(ModBlocks.ORANGE_WOOL_STAIRS.get())
                .add(ModBlocks.MAGENTA_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.YELLOW_WOOL_STAIRS.get())
                .add(ModBlocks.LIME_WOOL_STAIRS.get())
                .add(ModBlocks.PINK_WOOL_STAIRS.get())
                .add(ModBlocks.GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.CYAN_WOOL_STAIRS.get())
                .add(ModBlocks.PURPLE_WOOL_STAIRS.get())
                .add(ModBlocks.BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.BROWN_WOOL_STAIRS.get())
                .add(ModBlocks.GREEN_WOOL_STAIRS.get())
                .add(ModBlocks.RED_WOOL_STAIRS.get())
                .add(ModBlocks.BLACK_WOOL_STAIRS.get())
        ;

        tag(Tags.Blocks.DYED)
                .add(ModBlocks.DUCK.get())
                .add(ModBlocks.BABY_TURTLE.get())

                .add(ModBlocks.WHITE_FLAG.get())
                .add(ModBlocks.ORANGE_FLAG.get())
                .add(ModBlocks.MAGENTA_FLAG.get())
                .add(ModBlocks.LIGHT_BLUE_FLAG.get())
                .add(ModBlocks.YELLOW_FLAG.get())
                .add(ModBlocks.LIME_FLAG.get())
                .add(ModBlocks.PINK_FLAG.get())
                .add(ModBlocks.GRAY_FLAG.get())
                .add(ModBlocks.LIGHT_GRAY_FLAG.get())
                .add(ModBlocks.CYAN_FLAG.get())
                .add(ModBlocks.PURPLE_FLAG.get())
                .add(ModBlocks.BLUE_FLAG.get())
                .add(ModBlocks.BROWN_FLAG.get())
                .add(ModBlocks.GREEN_FLAG.get())
                .add(ModBlocks.RED_FLAG.get())
                .add(ModBlocks.BLACK_FLAG.get())

                .add(ModBlocks.AUSTRIA_FLAG.get())
                .add(ModBlocks.BOUVET_ISLAND_FLAG.get())
                .add(ModBlocks.CANADA_FLAG.get())
                .add(ModBlocks.CHINA_FLAG.get())
                .add(ModBlocks.DENMARK_FLAG.get())
                .add(ModBlocks.FINLAND_FLAG.get())
                .add(ModBlocks.FRANCE_FLAG.get())
                .add(ModBlocks.GERMANY_FLAG.get())
                .add(ModBlocks.GREECE_FLAG.get())
                .add(ModBlocks.HUNGARY_FLAG.get())
                .add(ModBlocks.ICELAND_FLAG.get())
                .add(ModBlocks.INDIA_FLAG.get())
                .add(ModBlocks.IRELAND_FLAG.get())
                .add(ModBlocks.ITALY_FLAG.get())
                .add(ModBlocks.JAPAN_FLAG.get())
                .add(ModBlocks.LATVIA_FLAG.get())
                .add(ModBlocks.NETHERLANDS_FLAG.get())
                .add(ModBlocks.SWEDEN_FLAG.get())
                .add(ModBlocks.SWITZERLAND_FLAG.get())
                .add(ModBlocks.UNITED_KINGDOM_FLAG.get())
                .add(ModBlocks.UNITED_STATES_FLAG.get())

                .add(ModBlocks.AGENDER_FLAG.get())
                .add(ModBlocks.AROACE_FLAG.get())
                .add(ModBlocks.AROMANTIC_FLAG.get())
                .add(ModBlocks.ASEXUAL_FLAG.get())
                .add(ModBlocks.BISEXUAL_FLAG.get())
                .add(ModBlocks.DEMIROMANTIC_FLAG.get())
                .add(ModBlocks.DEMISEXUAL_FLAG.get())
                .add(ModBlocks.GAY_MEN_FLAG.get())
                .add(ModBlocks.GENDERFLUID_FLAG.get())
                .add(ModBlocks.GENDERQUEER_FLAG.get())
                .add(ModBlocks.INTERSEX_FLAG.get())
                .add(ModBlocks.LESBIAN_FLAG.get())
                .add(ModBlocks.NON_BINARY_FLAG.get())
                .add(ModBlocks.OMNISEXUAL_FLAG.get())
                .add(ModBlocks.PANSEXUAL_FLAG.get())
                .add(ModBlocks.PRIDE_FLAG.get())
                .add(ModBlocks.PROGRESS_PRIDE_FLAG.get())
                .add(ModBlocks.TRANS_FLAG.get())

                .add(ModBlocks.AUSTRIA_FLAG.get())
                .add(ModBlocks.BOUVET_ISLAND_FLAG.get())
                .add(ModBlocks.CANADA_FLAG.get())
                .add(ModBlocks.CHINA_FLAG.get())
                .add(ModBlocks.DENMARK_FLAG.get())
                .add(ModBlocks.FINLAND_FLAG.get())
                .add(ModBlocks.FRANCE_FLAG.get())
                .add(ModBlocks.GERMANY_FLAG.get())
                .add(ModBlocks.GREECE_FLAG.get())
                .add(ModBlocks.HUNGARY_FLAG.get())
                .add(ModBlocks.ICELAND_FLAG.get())
                .add(ModBlocks.INDIA_FLAG.get())
                .add(ModBlocks.IRELAND_FLAG.get())
                .add(ModBlocks.ITALY_FLAG.get())
                .add(ModBlocks.JAPAN_FLAG.get())
                .add(ModBlocks.LATVIA_FLAG.get())
                .add(ModBlocks.NETHERLANDS_FLAG.get())
                .add(ModBlocks.SWEDEN_FLAG.get())
                .add(ModBlocks.SWITZERLAND_FLAG.get())
                .add(ModBlocks.UNITED_KINGDOM_FLAG.get())
                .add(ModBlocks.UNITED_STATES_FLAG.get())

                .add(ModBlocks.AGENDER_FLAG.get())
                .add(ModBlocks.AROACE_FLAG.get())
                .add(ModBlocks.AROMANTIC_FLAG.get())
                .add(ModBlocks.ASEXUAL_FLAG.get())
                .add(ModBlocks.BISEXUAL_FLAG.get())
                .add(ModBlocks.DEMIROMANTIC_FLAG.get())
                .add(ModBlocks.DEMISEXUAL_FLAG.get())
                .add(ModBlocks.GAY_MEN_FLAG.get())
                .add(ModBlocks.GENDERFLUID_FLAG.get())
                .add(ModBlocks.GENDERQUEER_FLAG.get())
                .add(ModBlocks.INTERSEX_FLAG.get())
                .add(ModBlocks.LESBIAN_FLAG.get())
                .add(ModBlocks.NON_BINARY_FLAG.get())
                .add(ModBlocks.OMNISEXUAL_FLAG.get())
                .add(ModBlocks.PANSEXUAL_FLAG.get())
                .add(ModBlocks.PRIDE_FLAG.get())
                .add(ModBlocks.PROGRESS_PRIDE_FLAG.get())
                .add(ModBlocks.TRANS_FLAG.get())

                .add(ModBlocks.WHITE_PATTERN_BLOCK.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.ORANGE_PATTERN_BLOCK.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.MAGENTA_PATTERN_BLOCK.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.YELLOW_PATTERN_BLOCK.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIME_PATTERN_BLOCK.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.PINK_PATTERN_BLOCK.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.GRAY_PATTERN_BLOCK.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.CYAN_PATTERN_BLOCK.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.PURPLE_PATTERN_BLOCK.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BLUE_PATTERN_BLOCK.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BROWN_PATTERN_BLOCK.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.GREEN_PATTERN_BLOCK.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BLACK_PATTERN_BLOCK.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.RED_PATTERN_BLOCK.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.WHITE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.ORANGE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.MAGENTA_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.YELLOW_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIME_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PINK_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.CYAN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PURPLE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BROWN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GREEN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.RED_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLACK_GLOW_STAINED_GLASS.get())

                .add(ModBlocks.WHITE_WOOL_SLAB.get())
                .add(ModBlocks.ORANGE_WOOL_SLAB.get())
                .add(ModBlocks.MAGENTA_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_SLAB.get())
                .add(ModBlocks.YELLOW_WOOL_SLAB.get())
                .add(ModBlocks.LIME_WOOL_SLAB.get())
                .add(ModBlocks.PINK_WOOL_SLAB.get())
                .add(ModBlocks.GRAY_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_SLAB.get())
                .add(ModBlocks.CYAN_WOOL_SLAB.get())
                .add(ModBlocks.PURPLE_WOOL_SLAB.get())
                .add(ModBlocks.BLUE_WOOL_SLAB.get())
                .add(ModBlocks.BROWN_WOOL_SLAB.get())
                .add(ModBlocks.GREEN_WOOL_SLAB.get())
                .add(ModBlocks.RED_WOOL_SLAB.get())
                .add(ModBlocks.BLACK_WOOL_SLAB.get())

                .add(ModBlocks.WHITE_WOOL_STAIRS.get())
                .add(ModBlocks.ORANGE_WOOL_STAIRS.get())
                .add(ModBlocks.MAGENTA_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.YELLOW_WOOL_STAIRS.get())
                .add(ModBlocks.LIME_WOOL_STAIRS.get())
                .add(ModBlocks.PINK_WOOL_STAIRS.get())
                .add(ModBlocks.GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.CYAN_WOOL_STAIRS.get())
                .add(ModBlocks.PURPLE_WOOL_STAIRS.get())
                .add(ModBlocks.BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.BROWN_WOOL_STAIRS.get())
                .add(ModBlocks.GREEN_WOOL_STAIRS.get())
                .add(ModBlocks.RED_WOOL_STAIRS.get())
                .add(ModBlocks.BLACK_WOOL_STAIRS.get())

                .add(ModBlocks.WHITE_BRICKS.get())
                .add(ModBlocks.ORANGE_BRICKS.get())
                .add(ModBlocks.MAGENTA_BRICKS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS.get())
                .add(ModBlocks.YELLOW_BRICKS.get())
                .add(ModBlocks.LIME_BRICKS.get())
                .add(ModBlocks.PINK_BRICKS.get())
                .add(ModBlocks.GRAY_BRICKS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS.get())
                .add(ModBlocks.CYAN_BRICKS.get())
                .add(ModBlocks.PURPLE_BRICKS.get())
                .add(ModBlocks.BLUE_BRICKS.get())
                .add(ModBlocks.BROWN_BRICKS.get())
                .add(ModBlocks.GREEN_BRICKS.get())
                .add(ModBlocks.RED_BRICKS.get())
                .add(ModBlocks.BLACK_BRICKS.get())

                .add(ModBlocks.WHITE_BRICKS_STAIRS.get())
                .add(ModBlocks.ORANGE_BRICKS_STAIRS.get())
                .add(ModBlocks.MAGENTA_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.YELLOW_BRICKS_STAIRS.get())
                .add(ModBlocks.LIME_BRICKS_STAIRS.get())
                .add(ModBlocks.PINK_BRICKS_STAIRS.get())
                .add(ModBlocks.GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.CYAN_BRICKS_STAIRS.get())
                .add(ModBlocks.PURPLE_BRICKS_STAIRS.get())
                .add(ModBlocks.BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.BROWN_BRICKS_STAIRS.get())
                .add(ModBlocks.GREEN_BRICKS_STAIRS.get())
                .add(ModBlocks.RED_BRICKS_STAIRS.get())
                .add(ModBlocks.BLACK_BRICKS_STAIRS.get())

                .add(ModBlocks.WHITE_BRICKS_SLAB.get())
                .add(ModBlocks.ORANGE_BRICKS_SLAB.get())
                .add(ModBlocks.MAGENTA_BRICKS_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_SLAB.get())
                .add(ModBlocks.YELLOW_BRICKS_SLAB.get())
                .add(ModBlocks.LIME_BRICKS_SLAB.get())
                .add(ModBlocks.PINK_BRICKS_SLAB.get())
                .add(ModBlocks.GRAY_BRICKS_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_SLAB.get())
                .add(ModBlocks.CYAN_BRICKS_SLAB.get())
                .add(ModBlocks.PURPLE_BRICKS_SLAB.get())
                .add(ModBlocks.BLUE_BRICKS_SLAB.get())
                .add(ModBlocks.BROWN_BRICKS_SLAB.get())
                .add(ModBlocks.GREEN_BRICKS_SLAB.get())
                .add(ModBlocks.RED_BRICKS_SLAB.get())
                .add(ModBlocks.BLACK_BRICKS_SLAB.get())

        ;

        tag(Tags.Blocks.DYED_WHITE)
                .add(ModBlocks.WHITE_WOOL_STAIRS.get())
                .add(ModBlocks.WHITE_WOOL_SLAB.get())
                .add(ModBlocks.WHITE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.WHITE_BRICKS.get())
                .add(ModBlocks.WHITE_BRICKS_STAIRS.get())
                .add(ModBlocks.WHITE_BRICKS_SLAB.get())

                .add(ModBlocks.WHITE_PATTERN_BLOCK.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.WHITE_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_ORANGE)
                .add(ModBlocks.ORANGE_WOOL_STAIRS.get())
                .add(ModBlocks.ORANGE_WOOL_SLAB.get())
                .add(ModBlocks.ORANGE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.ORANGE_BRICKS.get())
                .add(ModBlocks.ORANGE_BRICKS_STAIRS.get())
                .add(ModBlocks.ORANGE_BRICKS_SLAB.get())

                .add(ModBlocks.ORANGE_PATTERN_BLOCK.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.ORANGE_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_MAGENTA)
                .add(ModBlocks.MAGENTA_WOOL_STAIRS.get())
                .add(ModBlocks.MAGENTA_WOOL_SLAB.get())
                .add(ModBlocks.MAGENTA_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.MAGENTA_BRICKS.get())
                .add(ModBlocks.MAGENTA_BRICKS_STAIRS.get())
                .add(ModBlocks.MAGENTA_BRICKS_SLAB.get())

                .add(ModBlocks.MAGENTA_PATTERN_BLOCK.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.MAGENTA_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_LIGHT_BLUE)
                .add(ModBlocks.LIGHT_BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_SLAB.get())

                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIGHT_BLUE_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_YELLOW)
                .add(ModBlocks.DUCK.get())

                .add(ModBlocks.YELLOW_WOOL_STAIRS.get())
                .add(ModBlocks.YELLOW_WOOL_SLAB.get())
                .add(ModBlocks.YELLOW_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.YELLOW_BRICKS.get())
                .add(ModBlocks.YELLOW_BRICKS_STAIRS.get())
                .add(ModBlocks.YELLOW_BRICKS_SLAB.get())

                .add(ModBlocks.YELLOW_PATTERN_BLOCK.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.YELLOW_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_LIME)
                .add(ModBlocks.LIME_WOOL_STAIRS.get())
                .add(ModBlocks.LIME_WOOL_SLAB.get())
                .add(ModBlocks.LIME_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIME_BRICKS.get())
                .add(ModBlocks.LIME_BRICKS_STAIRS.get())
                .add(ModBlocks.LIME_BRICKS_SLAB.get())

                .add(ModBlocks.LIME_PATTERN_BLOCK.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIME_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_PINK)
                .add(ModBlocks.PINK_WOOL_STAIRS.get())
                .add(ModBlocks.PINK_WOOL_SLAB.get())
                .add(ModBlocks.PINK_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PINK_BRICKS.get())
                .add(ModBlocks.PINK_BRICKS_STAIRS.get())
                .add(ModBlocks.PINK_BRICKS_SLAB.get())

                .add(ModBlocks.PINK_PATTERN_BLOCK.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.PINK_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_GRAY)
                .add(ModBlocks.GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.GRAY_WOOL_SLAB.get())
                .add(ModBlocks.GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GRAY_BRICKS.get())
                .add(ModBlocks.GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.GRAY_BRICKS_SLAB.get())

                .add(ModBlocks.GRAY_PATTERN_BLOCK.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.GRAY_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_LIGHT_GRAY)
                .add(ModBlocks.LIGHT_GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_SLAB.get())

                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.LIGHT_GRAY_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_CYAN)
                .add(ModBlocks.CYAN_WOOL_STAIRS.get())
                .add(ModBlocks.CYAN_WOOL_SLAB.get())
                .add(ModBlocks.CYAN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.CYAN_BRICKS.get())
                .add(ModBlocks.CYAN_BRICKS_STAIRS.get())
                .add(ModBlocks.CYAN_BRICKS_SLAB.get())

                .add(ModBlocks.CYAN_PATTERN_BLOCK.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.CYAN_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_PURPLE)
                .add(ModBlocks.PURPLE_WOOL_STAIRS.get())
                .add(ModBlocks.PURPLE_WOOL_SLAB.get())
                .add(ModBlocks.PURPLE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.PURPLE_BRICKS.get())
                .add(ModBlocks.PURPLE_BRICKS_STAIRS.get())
                .add(ModBlocks.PURPLE_BRICKS_SLAB.get())

                .add(ModBlocks.PURPLE_PATTERN_BLOCK.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.PURPLE_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_BLUE)
                .add(ModBlocks.BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.BLUE_WOOL_SLAB.get())
                .add(ModBlocks.BLUE_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLUE_BRICKS.get())
                .add(ModBlocks.BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.BLUE_BRICKS_SLAB.get())

                .add(ModBlocks.BLUE_PATTERN_BLOCK.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BLUE_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_BROWN)
                .add(ModBlocks.BROWN_WOOL_STAIRS.get())
                .add(ModBlocks.BROWN_WOOL_SLAB.get())
                .add(ModBlocks.BROWN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BROWN_BRICKS.get())
                .add(ModBlocks.BROWN_BRICKS_STAIRS.get())
                .add(ModBlocks.BROWN_BRICKS_SLAB.get())

                .add(ModBlocks.BROWN_PATTERN_BLOCK.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BROWN_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_GREEN)
                .add(ModBlocks.GREEN_WOOL_STAIRS.get())
                .add(ModBlocks.GREEN_WOOL_SLAB.get())
                .add(ModBlocks.GREEN_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.GREEN_BRICKS.get())
                .add(ModBlocks.GREEN_BRICKS_STAIRS.get())
                .add(ModBlocks.GREEN_BRICKS_SLAB.get())

                .add(ModBlocks.GREEN_PATTERN_BLOCK.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.GREEN_FLAG.get())

                .add(ModBlocks.BABY_TURTLE.get())
        ;

        tag(Tags.Blocks.DYED_RED)
                .add(ModBlocks.RED_WOOL_STAIRS.get())
                .add(ModBlocks.RED_WOOL_SLAB.get())
                .add(ModBlocks.RED_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.RED_BRICKS.get())
                .add(ModBlocks.RED_BRICKS_STAIRS.get())
                .add(ModBlocks.RED_BRICKS_SLAB.get())

                .add(ModBlocks.RED_PATTERN_BLOCK.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.RED_FLAG.get())
        ;

        tag(Tags.Blocks.DYED_BLACK)
                .add(ModBlocks.BLACK_WOOL_STAIRS.get())
                .add(ModBlocks.BLACK_WOOL_SLAB.get())
                .add(ModBlocks.BLACK_GLOW_STAINED_GLASS.get())
                .add(ModBlocks.BLACK_BRICKS.get())
                .add(ModBlocks.BLACK_BRICKS_STAIRS.get())
                .add(ModBlocks.BLACK_BRICKS_SLAB.get())

                .add(ModBlocks.BLACK_PATTERN_BLOCK.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.BLACK_FLAG.get())
        ;

        tag(BlockTags.VIBRATION_RESONATORS)
                .add(ModBlocks.AMETHYST_GRATE.get())

                .add(ModBlocks.AMETIST_BRICKS.get())
                .add(ModBlocks.AMETIST_BRICKS_STAIRS.get())
                .add(ModBlocks.AMETIST_BRICKS_SLAB.get())

        ;

        tag(BlockTags.CRYSTAL_SOUND_BLOCKS)
                .add(ModBlocks.AMETHYST_GRATE.get())

                .add(ModBlocks.AMETIST_BRICKS.get())
                .add(ModBlocks.AMETIST_BRICKS_STAIRS.get())
                .add(ModBlocks.AMETIST_BRICKS_SLAB.get())

        ;

        tag(BlockTags.SCULK_REPLACEABLE)
                .add(ModBlocks.SMOOTH_BASALT_BRICKS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_STAIRS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_SLAB.get())
        ;

        tag(BlockTags.SCULK_REPLACEABLE_WORLD_GEN)
                .add(ModBlocks.SMOOTH_BASALT_BRICKS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_STAIRS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_SLAB.get())
        ;

        tag(BlockTags.STAIRS)

                .add(ModBlocks.RED_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_STAIRS.get())

                .add(ModBlocks.WHITE_WOOL_STAIRS.get())
                .add(ModBlocks.ORANGE_WOOL_STAIRS.get())
                .add(ModBlocks.MAGENTA_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.YELLOW_WOOL_STAIRS.get())
                .add(ModBlocks.LIME_WOOL_STAIRS.get())
                .add(ModBlocks.PINK_WOOL_STAIRS.get())
                .add(ModBlocks.GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_STAIRS.get())
                .add(ModBlocks.CYAN_WOOL_STAIRS.get())
                .add(ModBlocks.PURPLE_WOOL_STAIRS.get())
                .add(ModBlocks.BLUE_WOOL_STAIRS.get())
                .add(ModBlocks.BROWN_WOOL_STAIRS.get())
                .add(ModBlocks.GREEN_WOOL_STAIRS.get())
                .add(ModBlocks.RED_WOOL_STAIRS.get())
                .add(ModBlocks.BLACK_WOOL_STAIRS.get())

                .add(ModBlocks.POOL_TILES_STAIRS.get())
                .add(ModBlocks.POOL_TILES1_STAIRS.get())

                .add(ModBlocks.WHITE_BRICKS_STAIRS.get())
                .add(ModBlocks.ORANGE_BRICKS_STAIRS.get())
                .add(ModBlocks.MAGENTA_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.YELLOW_BRICKS_STAIRS.get())
                .add(ModBlocks.LIME_BRICKS_STAIRS.get())
                .add(ModBlocks.PINK_BRICKS_STAIRS.get())
                .add(ModBlocks.GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_STAIRS.get())
                .add(ModBlocks.CYAN_BRICKS_STAIRS.get())
                .add(ModBlocks.PURPLE_BRICKS_STAIRS.get())
                .add(ModBlocks.BLUE_BRICKS_STAIRS.get())
                .add(ModBlocks.BROWN_BRICKS_STAIRS.get())
                .add(ModBlocks.GREEN_BRICKS_STAIRS.get())
                .add(ModBlocks.RED_BRICKS_STAIRS.get())
                .add(ModBlocks.BLACK_BRICKS_STAIRS.get())

                .add(ModBlocks.AMETIST_BRICKS_STAIRS.get())
                .add(ModBlocks.PURPUR_BRICKS_STAIRS.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_STAIRS.get())
                .add(ModBlocks.POLISHED_ANDESITE_BRICKS_STAIRS.get())
                .add(ModBlocks.POLISHED_DIORITE_BRICKS_STAIRS.get())
                .add(ModBlocks.POLISHED_GRANITE_BRICKS_STAIRS.get())

                .add(ModBlocks.LIME_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK_STAIRS.get())
                .add(ModBlocks.PINK_GLOW_BLOCK_STAIRS.get())

        ;

        tag(BlockTags.SLABS)

                .add(ModBlocks.WHITE_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.ORANGE_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.MAGENTA_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.YELLOW_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.LIME_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.PINK_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.GRAY_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.CYAN_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.PURPLE_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.BLUE_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.BROWN_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.GREEN_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.BLACK_PATTERN_BLOCK_SLAB.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_SLAB.get())

                .add(ModBlocks.WHITE_WOOL_SLAB.get())
                .add(ModBlocks.ORANGE_WOOL_SLAB.get())
                .add(ModBlocks.MAGENTA_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_WOOL_SLAB.get())
                .add(ModBlocks.YELLOW_WOOL_SLAB.get())
                .add(ModBlocks.LIME_WOOL_SLAB.get())
                .add(ModBlocks.PINK_WOOL_SLAB.get())
                .add(ModBlocks.GRAY_WOOL_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_WOOL_SLAB.get())
                .add(ModBlocks.CYAN_WOOL_SLAB.get())
                .add(ModBlocks.PURPLE_WOOL_SLAB.get())
                .add(ModBlocks.BLUE_WOOL_SLAB.get())
                .add(ModBlocks.BROWN_WOOL_SLAB.get())
                .add(ModBlocks.GREEN_WOOL_SLAB.get())
                .add(ModBlocks.RED_WOOL_SLAB.get())
                .add(ModBlocks.BLACK_WOOL_SLAB.get())

                .add(ModBlocks.POOL_TILES_SLAB.get())
                .add(ModBlocks.POOL_TILES1_SLAB.get())

                .add(ModBlocks.WHITE_BRICKS_SLAB.get())
                .add(ModBlocks.ORANGE_BRICKS_SLAB.get())
                .add(ModBlocks.MAGENTA_BRICKS_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_BRICKS_SLAB.get())
                .add(ModBlocks.YELLOW_BRICKS_SLAB.get())
                .add(ModBlocks.LIME_BRICKS_SLAB.get())
                .add(ModBlocks.PINK_BRICKS_SLAB.get())
                .add(ModBlocks.GRAY_BRICKS_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_BRICKS_SLAB.get())
                .add(ModBlocks.CYAN_BRICKS_SLAB.get())
                .add(ModBlocks.PURPLE_BRICKS_SLAB.get())
                .add(ModBlocks.BLUE_BRICKS_SLAB.get())
                .add(ModBlocks.BROWN_BRICKS_SLAB.get())
                .add(ModBlocks.GREEN_BRICKS_SLAB.get())
                .add(ModBlocks.RED_BRICKS_SLAB.get())
                .add(ModBlocks.BLACK_BRICKS_SLAB.get())

                .add(ModBlocks.AMETIST_BRICKS_SLAB.get())
                .add(ModBlocks.PURPUR_BRICKS_SLAB.get())
                .add(ModBlocks.SMOOTH_BASALT_BRICKS_SLAB.get())
                .add(ModBlocks.POLISHED_ANDESITE_BRICKS_SLAB.get())
                .add(ModBlocks.POLISHED_DIORITE_BRICKS_SLAB.get())
                .add(ModBlocks.POLISHED_GRANITE_BRICKS_SLAB.get())

                .add(ModBlocks.LIME_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.WHITE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_GRAY_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.GRAY_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BLACK_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BROWN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.RED_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.ORANGE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.YELLOW_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.GREEN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.CYAN_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.LIGHT_BLUE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.BLUE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.PURPLE_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.MAGENTA_GLOW_BLOCK_SLAB.get())
                .add(ModBlocks.PINK_GLOW_BLOCK_SLAB.get())

        ;

        tag(Tags.Blocks.CONCRETES)
                .add(ModBlocks.RED_PATTERN_BLOCK.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_STAIRS.get())
                .add(ModBlocks.RED_PATTERN_BLOCK_SLAB.get())
        ;

        tag(ModTags.Blocks.FLAGS)
                .add(ModBlocks.WHITE_FLAG.get())
                .add(ModBlocks.ORANGE_FLAG.get())
                .add(ModBlocks.MAGENTA_FLAG.get())
                .add(ModBlocks.LIGHT_BLUE_FLAG.get())
                .add(ModBlocks.YELLOW_FLAG.get())
                .add(ModBlocks.LIME_FLAG.get())
                .add(ModBlocks.PINK_FLAG.get())
                .add(ModBlocks.GRAY_FLAG.get())
                .add(ModBlocks.LIGHT_GRAY_FLAG.get())
                .add(ModBlocks.CYAN_FLAG.get())
                .add(ModBlocks.PURPLE_FLAG.get())
                .add(ModBlocks.BLUE_FLAG.get())
                .add(ModBlocks.BROWN_FLAG.get())
                .add(ModBlocks.GREEN_FLAG.get())
                .add(ModBlocks.RED_FLAG.get())
                .add(ModBlocks.BLACK_FLAG.get())

                .add(ModBlocks.AUSTRIA_FLAG.get())
                .add(ModBlocks.BOUVET_ISLAND_FLAG.get())
                .add(ModBlocks.CANADA_FLAG.get())
                .add(ModBlocks.CHINA_FLAG.get())
                .add(ModBlocks.DENMARK_FLAG.get())
                .add(ModBlocks.FINLAND_FLAG.get())
                .add(ModBlocks.FRANCE_FLAG.get())
                .add(ModBlocks.GERMANY_FLAG.get())
                .add(ModBlocks.GREECE_FLAG.get())
                .add(ModBlocks.HUNGARY_FLAG.get())
                .add(ModBlocks.ICELAND_FLAG.get())
                .add(ModBlocks.INDIA_FLAG.get())
                .add(ModBlocks.IRELAND_FLAG.get())
                .add(ModBlocks.ITALY_FLAG.get())
                .add(ModBlocks.JAPAN_FLAG.get())
                .add(ModBlocks.LATVIA_FLAG.get())
                .add(ModBlocks.NETHERLANDS_FLAG.get())
                .add(ModBlocks.SWEDEN_FLAG.get())
                .add(ModBlocks.SWITZERLAND_FLAG.get())
                .add(ModBlocks.UNITED_KINGDOM_FLAG.get())
                .add(ModBlocks.UNITED_STATES_FLAG.get())

                .add(ModBlocks.AGENDER_FLAG.get())
                .add(ModBlocks.AROACE_FLAG.get())
                .add(ModBlocks.AROMANTIC_FLAG.get())
                .add(ModBlocks.ASEXUAL_FLAG.get())
                .add(ModBlocks.BISEXUAL_FLAG.get())
                .add(ModBlocks.DEMIROMANTIC_FLAG.get())
                .add(ModBlocks.DEMISEXUAL_FLAG.get())
                .add(ModBlocks.GAY_MEN_FLAG.get())
                .add(ModBlocks.GENDERFLUID_FLAG.get())
                .add(ModBlocks.GENDERQUEER_FLAG.get())
                .add(ModBlocks.INTERSEX_FLAG.get())
                .add(ModBlocks.LESBIAN_FLAG.get())
                .add(ModBlocks.NON_BINARY_FLAG.get())
                .add(ModBlocks.OMNISEXUAL_FLAG.get())
                .add(ModBlocks.PANSEXUAL_FLAG.get())
                .add(ModBlocks.PRIDE_FLAG.get())
                .add(ModBlocks.PROGRESS_PRIDE_FLAG.get())
                .add(ModBlocks.TRANS_FLAG.get())
        ;

        tag(ModTags.Blocks.PRIDE_FLAGS)
                .add(ModBlocks.AGENDER_FLAG.get())
                .add(ModBlocks.AROACE_FLAG.get())
                .add(ModBlocks.AROMANTIC_FLAG.get())
                .add(ModBlocks.ASEXUAL_FLAG.get())
                .add(ModBlocks.BISEXUAL_FLAG.get())
                .add(ModBlocks.DEMIROMANTIC_FLAG.get())
                .add(ModBlocks.DEMISEXUAL_FLAG.get())
                .add(ModBlocks.GAY_MEN_FLAG.get())
                .add(ModBlocks.GENDERFLUID_FLAG.get())
                .add(ModBlocks.GENDERQUEER_FLAG.get())
                .add(ModBlocks.INTERSEX_FLAG.get())
                .add(ModBlocks.LESBIAN_FLAG.get())
                .add(ModBlocks.NON_BINARY_FLAG.get())
                .add(ModBlocks.OMNISEXUAL_FLAG.get())
                .add(ModBlocks.PANSEXUAL_FLAG.get())
                .add(ModBlocks.PRIDE_FLAG.get())
                .add(ModBlocks.PROGRESS_PRIDE_FLAG.get())
                .add(ModBlocks.TRANS_FLAG.get())
        ;

        tag(ModTags.Blocks.COUNTRIES_FLAGS)
                .add(ModBlocks.AUSTRIA_FLAG.get())
                .add(ModBlocks.BOUVET_ISLAND_FLAG.get())
                .add(ModBlocks.CANADA_FLAG.get())
                .add(ModBlocks.CHINA_FLAG.get())
                .add(ModBlocks.DENMARK_FLAG.get())
                .add(ModBlocks.FINLAND_FLAG.get())
                .add(ModBlocks.FRANCE_FLAG.get())
                .add(ModBlocks.GERMANY_FLAG.get())
                .add(ModBlocks.GREECE_FLAG.get())
                .add(ModBlocks.HUNGARY_FLAG.get())
                .add(ModBlocks.ICELAND_FLAG.get())
                .add(ModBlocks.INDIA_FLAG.get())
                .add(ModBlocks.IRELAND_FLAG.get())
                .add(ModBlocks.ITALY_FLAG.get())
                .add(ModBlocks.JAPAN_FLAG.get())
                .add(ModBlocks.LATVIA_FLAG.get())
                .add(ModBlocks.NETHERLANDS_FLAG.get())
                .add(ModBlocks.SWEDEN_FLAG.get())
                .add(ModBlocks.SWITZERLAND_FLAG.get())
                .add(ModBlocks.UNITED_KINGDOM_FLAG.get())
                .add(ModBlocks.UNITED_STATES_FLAG.get())
        ;

        tag(ModTags.Blocks.TOYS)
                .add(ModBlocks.DUCK.get())
                .add(ModBlocks.BABY_TURTLE.get())
        ;
    }
}