package net.minecraft.world.level.block;

import com.google.common.collect.UnmodifiableIterator;
import java.util.Iterator;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.WoodType;
import net.minecraft.world.effect.MobEffects;
import net.minecraft.world.level.block.piston.MovingPistonBlock;
import net.minecraft.world.level.block.piston.PistonHeadBlock;
import net.minecraft.world.level.block.piston.PistonBaseBlock;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.level.material.Fluids;
import net.minecraft.world.level.block.grower.DarkOakTreeGrower;
import net.minecraft.world.level.block.grower.AcaciaTreeGrower;
import net.minecraft.world.level.block.grower.JungleTreeGrower;
import net.minecraft.world.level.block.grower.BirchTreeGrower;
import net.minecraft.world.level.block.grower.SpruceTreeGrower;
import net.minecraft.world.level.block.grower.AbstractTreeGrower;
import net.minecraft.world.level.block.grower.OakTreeGrower;
import net.minecraft.world.level.material.MaterialColor;
import net.minecraft.world.level.material.Material;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.core.Registry;

public class Blocks {
    public static final Block AIR;
    public static final Block STONE;
    public static final Block GRANITE;
    public static final Block POLISHED_GRANITE;
    public static final Block DIORITE;
    public static final Block POLISHED_DIORITE;
    public static final Block ANDESITE;
    public static final Block POLISHED_ANDESITE;
    public static final Block GRASS_BLOCK;
    public static final Block DIRT;
    public static final Block COARSE_DIRT;
    public static final Block PODZOL;
    public static final Block COBBLESTONE;
    public static final Block OAK_PLANKS;
    public static final Block SPRUCE_PLANKS;
    public static final Block BIRCH_PLANKS;
    public static final Block JUNGLE_PLANKS;
    public static final Block ACACIA_PLANKS;
    public static final Block DARK_OAK_PLANKS;
    public static final Block OAK_SAPLING;
    public static final Block SPRUCE_SAPLING;
    public static final Block BIRCH_SAPLING;
    public static final Block JUNGLE_SAPLING;
    public static final Block ACACIA_SAPLING;
    public static final Block DARK_OAK_SAPLING;
    public static final Block BEDROCK;
    public static final Block WATER;
    public static final Block LAVA;
    public static final Block SAND;
    public static final Block RED_SAND;
    public static final Block GRAVEL;
    public static final Block GOLD_ORE;
    public static final Block IRON_ORE;
    public static final Block COAL_ORE;
    public static final Block OAK_LOG;
    public static final Block SPRUCE_LOG;
    public static final Block BIRCH_LOG;
    public static final Block JUNGLE_LOG;
    public static final Block ACACIA_LOG;
    public static final Block DARK_OAK_LOG;
    public static final Block STRIPPED_SPRUCE_LOG;
    public static final Block STRIPPED_BIRCH_LOG;
    public static final Block STRIPPED_JUNGLE_LOG;
    public static final Block STRIPPED_ACACIA_LOG;
    public static final Block STRIPPED_DARK_OAK_LOG;
    public static final Block STRIPPED_OAK_LOG;
    public static final Block OAK_WOOD;
    public static final Block SPRUCE_WOOD;
    public static final Block BIRCH_WOOD;
    public static final Block JUNGLE_WOOD;
    public static final Block ACACIA_WOOD;
    public static final Block DARK_OAK_WOOD;
    public static final Block STRIPPED_OAK_WOOD;
    public static final Block STRIPPED_SPRUCE_WOOD;
    public static final Block STRIPPED_BIRCH_WOOD;
    public static final Block STRIPPED_JUNGLE_WOOD;
    public static final Block STRIPPED_ACACIA_WOOD;
    public static final Block STRIPPED_DARK_OAK_WOOD;
    public static final Block OAK_LEAVES;
    public static final Block SPRUCE_LEAVES;
    public static final Block BIRCH_LEAVES;
    public static final Block JUNGLE_LEAVES;
    public static final Block ACACIA_LEAVES;
    public static final Block DARK_OAK_LEAVES;
    public static final Block SPONGE;
    public static final Block WET_SPONGE;
    public static final Block GLASS;
    public static final Block LAPIS_ORE;
    public static final Block LAPIS_BLOCK;
    public static final Block DISPENSER;
    public static final Block SANDSTONE;
    public static final Block CHISELED_SANDSTONE;
    public static final Block CUT_SANDSTONE;
    public static final Block NOTE_BLOCK;
    public static final Block WHITE_BED;
    public static final Block ORANGE_BED;
    public static final Block MAGENTA_BED;
    public static final Block LIGHT_BLUE_BED;
    public static final Block YELLOW_BED;
    public static final Block LIME_BED;
    public static final Block PINK_BED;
    public static final Block GRAY_BED;
    public static final Block LIGHT_GRAY_BED;
    public static final Block CYAN_BED;
    public static final Block PURPLE_BED;
    public static final Block BLUE_BED;
    public static final Block BROWN_BED;
    public static final Block GREEN_BED;
    public static final Block RED_BED;
    public static final Block BLACK_BED;
    public static final Block POWERED_RAIL;
    public static final Block DETECTOR_RAIL;
    public static final Block STICKY_PISTON;
    public static final Block COBWEB;
    public static final Block GRASS;
    public static final Block FERN;
    public static final Block DEAD_BUSH;
    public static final Block SEAGRASS;
    public static final Block TALL_SEAGRASS;
    public static final Block PISTON;
    public static final Block PISTON_HEAD;
    public static final Block WHITE_WOOL;
    public static final Block ORANGE_WOOL;
    public static final Block MAGENTA_WOOL;
    public static final Block LIGHT_BLUE_WOOL;
    public static final Block YELLOW_WOOL;
    public static final Block LIME_WOOL;
    public static final Block PINK_WOOL;
    public static final Block GRAY_WOOL;
    public static final Block LIGHT_GRAY_WOOL;
    public static final Block CYAN_WOOL;
    public static final Block PURPLE_WOOL;
    public static final Block BLUE_WOOL;
    public static final Block BROWN_WOOL;
    public static final Block GREEN_WOOL;
    public static final Block RED_WOOL;
    public static final Block BLACK_WOOL;
    public static final Block MOVING_PISTON;
    public static final Block DANDELION;
    public static final Block POPPY;
    public static final Block BLUE_ORCHID;
    public static final Block ALLIUM;
    public static final Block AZURE_BLUET;
    public static final Block RED_TULIP;
    public static final Block ORANGE_TULIP;
    public static final Block WHITE_TULIP;
    public static final Block PINK_TULIP;
    public static final Block OXEYE_DAISY;
    public static final Block CORNFLOWER;
    public static final Block WITHER_ROSE;
    public static final Block LILY_OF_THE_VALLEY;
    public static final Block BROWN_MUSHROOM;
    public static final Block RED_MUSHROOM;
    public static final Block GOLD_BLOCK;
    public static final Block IRON_BLOCK;
    public static final Block BRICKS;
    public static final Block TNT;
    public static final Block BOOKSHELF;
    public static final Block MOSSY_COBBLESTONE;
    public static final Block OBSIDIAN;
    public static final Block TORCH;
    public static final Block WALL_TORCH;
    public static final Block FIRE;
    public static final Block SPAWNER;
    public static final Block OAK_STAIRS;
    public static final Block CHEST;
    public static final Block REDSTONE_WIRE;
    public static final Block DIAMOND_ORE;
    public static final Block DIAMOND_BLOCK;
    public static final Block CRAFTING_TABLE;
    public static final Block WHEAT;
    public static final Block FARMLAND;
    public static final Block FURNACE;
    public static final Block OAK_SIGN;
    public static final Block SPRUCE_SIGN;
    public static final Block BIRCH_SIGN;
    public static final Block ACACIA_SIGN;
    public static final Block JUNGLE_SIGN;
    public static final Block DARK_OAK_SIGN;
    public static final Block OAK_DOOR;
    public static final Block LADDER;
    public static final Block RAIL;
    public static final Block COBBLESTONE_STAIRS;
    public static final Block OAK_WALL_SIGN;
    public static final Block SPRUCE_WALL_SIGN;
    public static final Block BIRCH_WALL_SIGN;
    public static final Block ACACIA_WALL_SIGN;
    public static final Block JUNGLE_WALL_SIGN;
    public static final Block DARK_OAK_WALL_SIGN;
    public static final Block LEVER;
    public static final Block STONE_PRESSURE_PLATE;
    public static final Block IRON_DOOR;
    public static final Block OAK_PRESSURE_PLATE;
    public static final Block SPRUCE_PRESSURE_PLATE;
    public static final Block BIRCH_PRESSURE_PLATE;
    public static final Block JUNGLE_PRESSURE_PLATE;
    public static final Block ACACIA_PRESSURE_PLATE;
    public static final Block DARK_OAK_PRESSURE_PLATE;
    public static final Block REDSTONE_ORE;
    public static final Block REDSTONE_TORCH;
    public static final Block REDSTONE_WALL_TORCH;
    public static final Block STONE_BUTTON;
    public static final Block SNOW;
    public static final Block ICE;
    public static final Block SNOW_BLOCK;
    public static final Block CACTUS;
    public static final Block CLAY;
    public static final Block SUGAR_CANE;
    public static final Block JUKEBOX;
    public static final Block OAK_FENCE;
    public static final Block PUMPKIN;
    public static final Block NETHERRACK;
    public static final Block SOUL_SAND;
    public static final Block GLOWSTONE;
    public static final Block NETHER_PORTAL;
    public static final Block CARVED_PUMPKIN;
    public static final Block JACK_O_LANTERN;
    public static final Block CAKE;
    public static final Block REPEATER;
    public static final Block WHITE_STAINED_GLASS;
    public static final Block ORANGE_STAINED_GLASS;
    public static final Block MAGENTA_STAINED_GLASS;
    public static final Block LIGHT_BLUE_STAINED_GLASS;
    public static final Block YELLOW_STAINED_GLASS;
    public static final Block LIME_STAINED_GLASS;
    public static final Block PINK_STAINED_GLASS;
    public static final Block GRAY_STAINED_GLASS;
    public static final Block LIGHT_GRAY_STAINED_GLASS;
    public static final Block CYAN_STAINED_GLASS;
    public static final Block PURPLE_STAINED_GLASS;
    public static final Block BLUE_STAINED_GLASS;
    public static final Block BROWN_STAINED_GLASS;
    public static final Block GREEN_STAINED_GLASS;
    public static final Block RED_STAINED_GLASS;
    public static final Block BLACK_STAINED_GLASS;
    public static final Block OAK_TRAPDOOR;
    public static final Block SPRUCE_TRAPDOOR;
    public static final Block BIRCH_TRAPDOOR;
    public static final Block JUNGLE_TRAPDOOR;
    public static final Block ACACIA_TRAPDOOR;
    public static final Block DARK_OAK_TRAPDOOR;
    public static final Block STONE_BRICKS;
    public static final Block MOSSY_STONE_BRICKS;
    public static final Block CRACKED_STONE_BRICKS;
    public static final Block CHISELED_STONE_BRICKS;
    public static final Block INFESTED_STONE;
    public static final Block INFESTED_COBBLESTONE;
    public static final Block INFESTED_STONE_BRICKS;
    public static final Block INFESTED_MOSSY_STONE_BRICKS;
    public static final Block INFESTED_CRACKED_STONE_BRICKS;
    public static final Block INFESTED_CHISELED_STONE_BRICKS;
    public static final Block BROWN_MUSHROOM_BLOCK;
    public static final Block RED_MUSHROOM_BLOCK;
    public static final Block MUSHROOM_STEM;
    public static final Block IRON_BARS;
    public static final Block GLASS_PANE;
    public static final Block MELON;
    public static final Block ATTACHED_PUMPKIN_STEM;
    public static final Block ATTACHED_MELON_STEM;
    public static final Block PUMPKIN_STEM;
    public static final Block MELON_STEM;
    public static final Block VINE;
    public static final Block OAK_FENCE_GATE;
    public static final Block BRICK_STAIRS;
    public static final Block STONE_BRICK_STAIRS;
    public static final Block MYCELIUM;
    public static final Block LILY_PAD;
    public static final Block NETHER_BRICKS;
    public static final Block NETHER_BRICK_FENCE;
    public static final Block NETHER_BRICK_STAIRS;
    public static final Block NETHER_WART;
    public static final Block ENCHANTING_TABLE;
    public static final Block BREWING_STAND;
    public static final Block CAULDRON;
    public static final Block END_PORTAL;
    public static final Block END_PORTAL_FRAME;
    public static final Block END_STONE;
    public static final Block DRAGON_EGG;
    public static final Block REDSTONE_LAMP;
    public static final Block COCOA;
    public static final Block SANDSTONE_STAIRS;
    public static final Block EMERALD_ORE;
    public static final Block ENDER_CHEST;
    public static final Block TRIPWIRE_HOOK;
    public static final Block TRIPWIRE;
    public static final Block EMERALD_BLOCK;
    public static final Block SPRUCE_STAIRS;
    public static final Block BIRCH_STAIRS;
    public static final Block JUNGLE_STAIRS;
    public static final Block COMMAND_BLOCK;
    public static final Block BEACON;
    public static final Block COBBLESTONE_WALL;
    public static final Block MOSSY_COBBLESTONE_WALL;
    public static final Block FLOWER_POT;
    public static final Block POTTED_OAK_SAPLING;
    public static final Block POTTED_SPRUCE_SAPLING;
    public static final Block POTTED_BIRCH_SAPLING;
    public static final Block POTTED_JUNGLE_SAPLING;
    public static final Block POTTED_ACACIA_SAPLING;
    public static final Block POTTED_DARK_OAK_SAPLING;
    public static final Block POTTED_FERN;
    public static final Block POTTED_DANDELION;
    public static final Block POTTED_POPPY;
    public static final Block POTTED_BLUE_ORCHID;
    public static final Block POTTED_ALLIUM;
    public static final Block POTTED_AZURE_BLUET;
    public static final Block POTTED_RED_TULIP;
    public static final Block POTTED_ORANGE_TULIP;
    public static final Block POTTED_WHITE_TULIP;
    public static final Block POTTED_PINK_TULIP;
    public static final Block POTTED_OXEYE_DAISY;
    public static final Block POTTED_CORNFLOWER;
    public static final Block POTTED_LILY_OF_THE_VALLEY;
    public static final Block POTTED_WITHER_ROSE;
    public static final Block POTTED_RED_MUSHROOM;
    public static final Block POTTED_BROWN_MUSHROOM;
    public static final Block POTTED_DEAD_BUSH;
    public static final Block POTTED_CACTUS;
    public static final Block CARROTS;
    public static final Block POTATOES;
    public static final Block OAK_BUTTON;
    public static final Block SPRUCE_BUTTON;
    public static final Block BIRCH_BUTTON;
    public static final Block JUNGLE_BUTTON;
    public static final Block ACACIA_BUTTON;
    public static final Block DARK_OAK_BUTTON;
    public static final Block SKELETON_SKULL;
    public static final Block SKELETON_WALL_SKULL;
    public static final Block WITHER_SKELETON_SKULL;
    public static final Block WITHER_SKELETON_WALL_SKULL;
    public static final Block ZOMBIE_HEAD;
    public static final Block ZOMBIE_WALL_HEAD;
    public static final Block PLAYER_HEAD;
    public static final Block PLAYER_WALL_HEAD;
    public static final Block CREEPER_HEAD;
    public static final Block CREEPER_WALL_HEAD;
    public static final Block DRAGON_HEAD;
    public static final Block DRAGON_WALL_HEAD;
    public static final Block ANVIL;
    public static final Block CHIPPED_ANVIL;
    public static final Block DAMAGED_ANVIL;
    public static final Block TRAPPED_CHEST;
    public static final Block LIGHT_WEIGHTED_PRESSURE_PLATE;
    public static final Block HEAVY_WEIGHTED_PRESSURE_PLATE;
    public static final Block COMPARATOR;
    public static final Block DAYLIGHT_DETECTOR;
    public static final Block REDSTONE_BLOCK;
    public static final Block NETHER_QUARTZ_ORE;
    public static final Block HOPPER;
    public static final Block QUARTZ_BLOCK;
    public static final Block CHISELED_QUARTZ_BLOCK;
    public static final Block QUARTZ_PILLAR;
    public static final Block QUARTZ_STAIRS;
    public static final Block ACTIVATOR_RAIL;
    public static final Block DROPPER;
    public static final Block WHITE_TERRACOTTA;
    public static final Block ORANGE_TERRACOTTA;
    public static final Block MAGENTA_TERRACOTTA;
    public static final Block LIGHT_BLUE_TERRACOTTA;
    public static final Block YELLOW_TERRACOTTA;
    public static final Block LIME_TERRACOTTA;
    public static final Block PINK_TERRACOTTA;
    public static final Block GRAY_TERRACOTTA;
    public static final Block LIGHT_GRAY_TERRACOTTA;
    public static final Block CYAN_TERRACOTTA;
    public static final Block PURPLE_TERRACOTTA;
    public static final Block BLUE_TERRACOTTA;
    public static final Block BROWN_TERRACOTTA;
    public static final Block GREEN_TERRACOTTA;
    public static final Block RED_TERRACOTTA;
    public static final Block BLACK_TERRACOTTA;
    public static final Block WHITE_STAINED_GLASS_PANE;
    public static final Block ORANGE_STAINED_GLASS_PANE;
    public static final Block MAGENTA_STAINED_GLASS_PANE;
    public static final Block LIGHT_BLUE_STAINED_GLASS_PANE;
    public static final Block YELLOW_STAINED_GLASS_PANE;
    public static final Block LIME_STAINED_GLASS_PANE;
    public static final Block PINK_STAINED_GLASS_PANE;
    public static final Block GRAY_STAINED_GLASS_PANE;
    public static final Block LIGHT_GRAY_STAINED_GLASS_PANE;
    public static final Block CYAN_STAINED_GLASS_PANE;
    public static final Block PURPLE_STAINED_GLASS_PANE;
    public static final Block BLUE_STAINED_GLASS_PANE;
    public static final Block BROWN_STAINED_GLASS_PANE;
    public static final Block GREEN_STAINED_GLASS_PANE;
    public static final Block RED_STAINED_GLASS_PANE;
    public static final Block BLACK_STAINED_GLASS_PANE;
    public static final Block ACACIA_STAIRS;
    public static final Block DARK_OAK_STAIRS;
    public static final Block SLIME_BLOCK;
    public static final Block BARRIER;
    public static final Block IRON_TRAPDOOR;
    public static final Block PRISMARINE;
    public static final Block PRISMARINE_BRICKS;
    public static final Block DARK_PRISMARINE;
    public static final Block PRISMARINE_STAIRS;
    public static final Block PRISMARINE_BRICK_STAIRS;
    public static final Block DARK_PRISMARINE_STAIRS;
    public static final Block PRISMARINE_SLAB;
    public static final Block PRISMARINE_BRICK_SLAB;
    public static final Block DARK_PRISMARINE_SLAB;
    public static final Block SEA_LANTERN;
    public static final Block HAY_BLOCK;
    public static final Block WHITE_CARPET;
    public static final Block ORANGE_CARPET;
    public static final Block MAGENTA_CARPET;
    public static final Block LIGHT_BLUE_CARPET;
    public static final Block YELLOW_CARPET;
    public static final Block LIME_CARPET;
    public static final Block PINK_CARPET;
    public static final Block GRAY_CARPET;
    public static final Block LIGHT_GRAY_CARPET;
    public static final Block CYAN_CARPET;
    public static final Block PURPLE_CARPET;
    public static final Block BLUE_CARPET;
    public static final Block BROWN_CARPET;
    public static final Block GREEN_CARPET;
    public static final Block RED_CARPET;
    public static final Block BLACK_CARPET;
    public static final Block TERRACOTTA;
    public static final Block COAL_BLOCK;
    public static final Block PACKED_ICE;
    public static final Block SUNFLOWER;
    public static final Block LILAC;
    public static final Block ROSE_BUSH;
    public static final Block PEONY;
    public static final Block TALL_GRASS;
    public static final Block LARGE_FERN;
    public static final Block WHITE_BANNER;
    public static final Block ORANGE_BANNER;
    public static final Block MAGENTA_BANNER;
    public static final Block LIGHT_BLUE_BANNER;
    public static final Block YELLOW_BANNER;
    public static final Block LIME_BANNER;
    public static final Block PINK_BANNER;
    public static final Block GRAY_BANNER;
    public static final Block LIGHT_GRAY_BANNER;
    public static final Block CYAN_BANNER;
    public static final Block PURPLE_BANNER;
    public static final Block BLUE_BANNER;
    public static final Block BROWN_BANNER;
    public static final Block GREEN_BANNER;
    public static final Block RED_BANNER;
    public static final Block BLACK_BANNER;
    public static final Block WHITE_WALL_BANNER;
    public static final Block ORANGE_WALL_BANNER;
    public static final Block MAGENTA_WALL_BANNER;
    public static final Block LIGHT_BLUE_WALL_BANNER;
    public static final Block YELLOW_WALL_BANNER;
    public static final Block LIME_WALL_BANNER;
    public static final Block PINK_WALL_BANNER;
    public static final Block GRAY_WALL_BANNER;
    public static final Block LIGHT_GRAY_WALL_BANNER;
    public static final Block CYAN_WALL_BANNER;
    public static final Block PURPLE_WALL_BANNER;
    public static final Block BLUE_WALL_BANNER;
    public static final Block BROWN_WALL_BANNER;
    public static final Block GREEN_WALL_BANNER;
    public static final Block RED_WALL_BANNER;
    public static final Block BLACK_WALL_BANNER;
    public static final Block RED_SANDSTONE;
    public static final Block CHISELED_RED_SANDSTONE;
    public static final Block CUT_RED_SANDSTONE;
    public static final Block RED_SANDSTONE_STAIRS;
    public static final Block OAK_SLAB;
    public static final Block SPRUCE_SLAB;
    public static final Block BIRCH_SLAB;
    public static final Block JUNGLE_SLAB;
    public static final Block ACACIA_SLAB;
    public static final Block DARK_OAK_SLAB;
    public static final Block STONE_SLAB;
    public static final Block SMOOTH_STONE_SLAB;
    public static final Block SANDSTONE_SLAB;
    public static final Block CUT_SANDSTONE_SLAB;
    public static final Block PETRIFIED_OAK_SLAB;
    public static final Block COBBLESTONE_SLAB;
    public static final Block BRICK_SLAB;
    public static final Block STONE_BRICK_SLAB;
    public static final Block NETHER_BRICK_SLAB;
    public static final Block QUARTZ_SLAB;
    public static final Block RED_SANDSTONE_SLAB;
    public static final Block CUT_RED_SANDSTONE_SLAB;
    public static final Block PURPUR_SLAB;
    public static final Block SMOOTH_STONE;
    public static final Block SMOOTH_SANDSTONE;
    public static final Block SMOOTH_QUARTZ;
    public static final Block SMOOTH_RED_SANDSTONE;
    public static final Block SPRUCE_FENCE_GATE;
    public static final Block BIRCH_FENCE_GATE;
    public static final Block JUNGLE_FENCE_GATE;
    public static final Block ACACIA_FENCE_GATE;
    public static final Block DARK_OAK_FENCE_GATE;
    public static final Block SPRUCE_FENCE;
    public static final Block BIRCH_FENCE;
    public static final Block JUNGLE_FENCE;
    public static final Block ACACIA_FENCE;
    public static final Block DARK_OAK_FENCE;
    public static final Block SPRUCE_DOOR;
    public static final Block BIRCH_DOOR;
    public static final Block JUNGLE_DOOR;
    public static final Block ACACIA_DOOR;
    public static final Block DARK_OAK_DOOR;
    public static final Block END_ROD;
    public static final Block CHORUS_PLANT;
    public static final Block CHORUS_FLOWER;
    public static final Block PURPUR_BLOCK;
    public static final Block PURPUR_PILLAR;
    public static final Block PURPUR_STAIRS;
    public static final Block END_STONE_BRICKS;
    public static final Block BEETROOTS;
    public static final Block GRASS_PATH;
    public static final Block END_GATEWAY;
    public static final Block REPEATING_COMMAND_BLOCK;
    public static final Block CHAIN_COMMAND_BLOCK;
    public static final Block FROSTED_ICE;
    public static final Block MAGMA_BLOCK;
    public static final Block NETHER_WART_BLOCK;
    public static final Block RED_NETHER_BRICKS;
    public static final Block BONE_BLOCK;
    public static final Block STRUCTURE_VOID;
    public static final Block OBSERVER;
    public static final Block SHULKER_BOX;
    public static final Block WHITE_SHULKER_BOX;
    public static final Block ORANGE_SHULKER_BOX;
    public static final Block MAGENTA_SHULKER_BOX;
    public static final Block LIGHT_BLUE_SHULKER_BOX;
    public static final Block YELLOW_SHULKER_BOX;
    public static final Block LIME_SHULKER_BOX;
    public static final Block PINK_SHULKER_BOX;
    public static final Block GRAY_SHULKER_BOX;
    public static final Block LIGHT_GRAY_SHULKER_BOX;
    public static final Block CYAN_SHULKER_BOX;
    public static final Block PURPLE_SHULKER_BOX;
    public static final Block BLUE_SHULKER_BOX;
    public static final Block BROWN_SHULKER_BOX;
    public static final Block GREEN_SHULKER_BOX;
    public static final Block RED_SHULKER_BOX;
    public static final Block BLACK_SHULKER_BOX;
    public static final Block WHITE_GLAZED_TERRACOTTA;
    public static final Block ORANGE_GLAZED_TERRACOTTA;
    public static final Block MAGENTA_GLAZED_TERRACOTTA;
    public static final Block LIGHT_BLUE_GLAZED_TERRACOTTA;
    public static final Block YELLOW_GLAZED_TERRACOTTA;
    public static final Block LIME_GLAZED_TERRACOTTA;
    public static final Block PINK_GLAZED_TERRACOTTA;
    public static final Block GRAY_GLAZED_TERRACOTTA;
    public static final Block LIGHT_GRAY_GLAZED_TERRACOTTA;
    public static final Block CYAN_GLAZED_TERRACOTTA;
    public static final Block PURPLE_GLAZED_TERRACOTTA;
    public static final Block BLUE_GLAZED_TERRACOTTA;
    public static final Block BROWN_GLAZED_TERRACOTTA;
    public static final Block GREEN_GLAZED_TERRACOTTA;
    public static final Block RED_GLAZED_TERRACOTTA;
    public static final Block BLACK_GLAZED_TERRACOTTA;
    public static final Block WHITE_CONCRETE;
    public static final Block ORANGE_CONCRETE;
    public static final Block MAGENTA_CONCRETE;
    public static final Block LIGHT_BLUE_CONCRETE;
    public static final Block YELLOW_CONCRETE;
    public static final Block LIME_CONCRETE;
    public static final Block PINK_CONCRETE;
    public static final Block GRAY_CONCRETE;
    public static final Block LIGHT_GRAY_CONCRETE;
    public static final Block CYAN_CONCRETE;
    public static final Block PURPLE_CONCRETE;
    public static final Block BLUE_CONCRETE;
    public static final Block BROWN_CONCRETE;
    public static final Block GREEN_CONCRETE;
    public static final Block RED_CONCRETE;
    public static final Block BLACK_CONCRETE;
    public static final Block WHITE_CONCRETE_POWDER;
    public static final Block ORANGE_CONCRETE_POWDER;
    public static final Block MAGENTA_CONCRETE_POWDER;
    public static final Block LIGHT_BLUE_CONCRETE_POWDER;
    public static final Block YELLOW_CONCRETE_POWDER;
    public static final Block LIME_CONCRETE_POWDER;
    public static final Block PINK_CONCRETE_POWDER;
    public static final Block GRAY_CONCRETE_POWDER;
    public static final Block LIGHT_GRAY_CONCRETE_POWDER;
    public static final Block CYAN_CONCRETE_POWDER;
    public static final Block PURPLE_CONCRETE_POWDER;
    public static final Block BLUE_CONCRETE_POWDER;
    public static final Block BROWN_CONCRETE_POWDER;
    public static final Block GREEN_CONCRETE_POWDER;
    public static final Block RED_CONCRETE_POWDER;
    public static final Block BLACK_CONCRETE_POWDER;
    public static final Block KELP;
    public static final Block KELP_PLANT;
    public static final Block DRIED_KELP_BLOCK;
    public static final Block TURTLE_EGG;
    public static final Block DEAD_TUBE_CORAL_BLOCK;
    public static final Block DEAD_BRAIN_CORAL_BLOCK;
    public static final Block DEAD_BUBBLE_CORAL_BLOCK;
    public static final Block DEAD_FIRE_CORAL_BLOCK;
    public static final Block DEAD_HORN_CORAL_BLOCK;
    public static final Block TUBE_CORAL_BLOCK;
    public static final Block BRAIN_CORAL_BLOCK;
    public static final Block BUBBLE_CORAL_BLOCK;
    public static final Block FIRE_CORAL_BLOCK;
    public static final Block HORN_CORAL_BLOCK;
    public static final Block DEAD_TUBE_CORAL;
    public static final Block DEAD_BRAIN_CORAL;
    public static final Block DEAD_BUBBLE_CORAL;
    public static final Block DEAD_FIRE_CORAL;
    public static final Block DEAD_HORN_CORAL;
    public static final Block TUBE_CORAL;
    public static final Block BRAIN_CORAL;
    public static final Block BUBBLE_CORAL;
    public static final Block FIRE_CORAL;
    public static final Block HORN_CORAL;
    public static final Block DEAD_TUBE_CORAL_FAN;
    public static final Block DEAD_BRAIN_CORAL_FAN;
    public static final Block DEAD_BUBBLE_CORAL_FAN;
    public static final Block DEAD_FIRE_CORAL_FAN;
    public static final Block DEAD_HORN_CORAL_FAN;
    public static final Block TUBE_CORAL_FAN;
    public static final Block BRAIN_CORAL_FAN;
    public static final Block BUBBLE_CORAL_FAN;
    public static final Block FIRE_CORAL_FAN;
    public static final Block HORN_CORAL_FAN;
    public static final Block DEAD_TUBE_CORAL_WALL_FAN;
    public static final Block DEAD_BRAIN_CORAL_WALL_FAN;
    public static final Block DEAD_BUBBLE_CORAL_WALL_FAN;
    public static final Block DEAD_FIRE_CORAL_WALL_FAN;
    public static final Block DEAD_HORN_CORAL_WALL_FAN;
    public static final Block TUBE_CORAL_WALL_FAN;
    public static final Block BRAIN_CORAL_WALL_FAN;
    public static final Block BUBBLE_CORAL_WALL_FAN;
    public static final Block FIRE_CORAL_WALL_FAN;
    public static final Block HORN_CORAL_WALL_FAN;
    public static final Block SEA_PICKLE;
    public static final Block BLUE_ICE;
    public static final Block CONDUIT;
    public static final Block BAMBOO_SAPLING;
    public static final Block BAMBOO;
    public static final Block POTTED_BAMBOO;
    public static final Block VOID_AIR;
    public static final Block CAVE_AIR;
    public static final Block BUBBLE_COLUMN;
    public static final Block POLISHED_GRANITE_STAIRS;
    public static final Block SMOOTH_RED_SANDSTONE_STAIRS;
    public static final Block MOSSY_STONE_BRICK_STAIRS;
    public static final Block POLISHED_DIORITE_STAIRS;
    public static final Block MOSSY_COBBLESTONE_STAIRS;
    public static final Block END_STONE_BRICK_STAIRS;
    public static final Block STONE_STAIRS;
    public static final Block SMOOTH_SANDSTONE_STAIRS;
    public static final Block SMOOTH_QUARTZ_STAIRS;
    public static final Block GRANITE_STAIRS;
    public static final Block ANDESITE_STAIRS;
    public static final Block RED_NETHER_BRICK_STAIRS;
    public static final Block POLISHED_ANDESITE_STAIRS;
    public static final Block DIORITE_STAIRS;
    public static final Block POLISHED_GRANITE_SLAB;
    public static final Block SMOOTH_RED_SANDSTONE_SLAB;
    public static final Block MOSSY_STONE_BRICK_SLAB;
    public static final Block POLISHED_DIORITE_SLAB;
    public static final Block MOSSY_COBBLESTONE_SLAB;
    public static final Block END_STONE_BRICK_SLAB;
    public static final Block SMOOTH_SANDSTONE_SLAB;
    public static final Block SMOOTH_QUARTZ_SLAB;
    public static final Block GRANITE_SLAB;
    public static final Block ANDESITE_SLAB;
    public static final Block RED_NETHER_BRICK_SLAB;
    public static final Block POLISHED_ANDESITE_SLAB;
    public static final Block DIORITE_SLAB;
    public static final Block BRICK_WALL;
    public static final Block PRISMARINE_WALL;
    public static final Block RED_SANDSTONE_WALL;
    public static final Block MOSSY_STONE_BRICK_WALL;
    public static final Block GRANITE_WALL;
    public static final Block STONE_BRICK_WALL;
    public static final Block NETHER_BRICK_WALL;
    public static final Block ANDESITE_WALL;
    public static final Block RED_NETHER_BRICK_WALL;
    public static final Block SANDSTONE_WALL;
    public static final Block END_STONE_BRICK_WALL;
    public static final Block DIORITE_WALL;
    public static final Block SCAFFOLDING;
    public static final Block LOOM;
    public static final Block BARREL;
    public static final Block SMOKER;
    public static final Block BLAST_FURNACE;
    public static final Block CARTOGRAPHY_TABLE;
    public static final Block FLETCHING_TABLE;
    public static final Block GRINDSTONE;
    public static final Block LECTERN;
    public static final Block SMITHING_TABLE;
    public static final Block STONECUTTER;
    public static final Block BELL;
    public static final Block LANTERN;
    public static final Block CAMPFIRE;
    public static final Block SWEET_BERRY_BUSH;
    public static final Block STRUCTURE_BLOCK;
    public static final Block JIGSAW;
    public static final Block COMPOSTER;
    public static final Block BEE_NEST;
    public static final Block BEEHIVE;
    public static final Block HONEY_BLOCK;
    public static final Block HONEYCOMB_BLOCK;
    
    private static Block register(final String string, final Block bph) {
        return Registry.<Block>register(Registry.BLOCK, string, bph);
    }
    
    static {
        AIR = register("air", new AirBlock(Block.Properties.of(Material.AIR).noCollission().noDrops()));
        STONE = register("stone", new Block(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(1.5f, 6.0f)));
        GRANITE = register("granite", new Block(Block.Properties.of(Material.STONE, MaterialColor.DIRT).strength(1.5f, 6.0f)));
        POLISHED_GRANITE = register("polished_granite", new Block(Block.Properties.of(Material.STONE, MaterialColor.DIRT).strength(1.5f, 6.0f)));
        DIORITE = register("diorite", new Block(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(1.5f, 6.0f)));
        POLISHED_DIORITE = register("polished_diorite", new Block(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(1.5f, 6.0f)));
        ANDESITE = register("andesite", new Block(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(1.5f, 6.0f)));
        POLISHED_ANDESITE = register("polished_andesite", new Block(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(1.5f, 6.0f)));
        GRASS_BLOCK = register("grass_block", new GrassBlock(Block.Properties.of(Material.GRASS).randomTicks().strength(0.6f).sound(SoundType.GRASS)));
        DIRT = register("dirt", new Block(Block.Properties.of(Material.DIRT, MaterialColor.DIRT).strength(0.5f).sound(SoundType.GRAVEL)));
        COARSE_DIRT = register("coarse_dirt", new Block(Block.Properties.of(Material.DIRT, MaterialColor.DIRT).strength(0.5f).sound(SoundType.GRAVEL)));
        PODZOL = register("podzol", new SnowyDirtBlock(Block.Properties.of(Material.DIRT, MaterialColor.PODZOL).strength(0.5f).sound(SoundType.GRAVEL)));
        COBBLESTONE = register("cobblestone", new Block(Block.Properties.of(Material.STONE).strength(2.0f, 6.0f)));
        OAK_PLANKS = register("oak_planks", new Block(Block.Properties.of(Material.WOOD, MaterialColor.WOOD).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        SPRUCE_PLANKS = register("spruce_planks", new Block(Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        BIRCH_PLANKS = register("birch_planks", new Block(Block.Properties.of(Material.WOOD, MaterialColor.SAND).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        JUNGLE_PLANKS = register("jungle_planks", new Block(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        ACACIA_PLANKS = register("acacia_planks", new Block(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        DARK_OAK_PLANKS = register("dark_oak_planks", new Block(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        OAK_SAPLING = register("oak_sapling", new SaplingBlock(new OakTreeGrower(), Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        SPRUCE_SAPLING = register("spruce_sapling", new SaplingBlock(new SpruceTreeGrower(), Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        BIRCH_SAPLING = register("birch_sapling", new SaplingBlock(new BirchTreeGrower(), Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        JUNGLE_SAPLING = register("jungle_sapling", new SaplingBlock(new JungleTreeGrower(), Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        ACACIA_SAPLING = register("acacia_sapling", new SaplingBlock(new AcaciaTreeGrower(), Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        DARK_OAK_SAPLING = register("dark_oak_sapling", new SaplingBlock(new DarkOakTreeGrower(), Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        BEDROCK = register("bedrock", new BedrockBlock(Block.Properties.of(Material.STONE).strength(-1.0f, 3600000.0f).noDrops()));
        WATER = register("water", new LiquidBlock(Fluids.WATER, Block.Properties.of(Material.WATER).noCollission().strength(100.0f).noDrops()));
        LAVA = register("lava", new LiquidBlock(Fluids.LAVA, Block.Properties.of(Material.LAVA).noCollission().randomTicks().strength(100.0f).lightLevel(15).noDrops()));
        SAND = register("sand", new SandBlock(14406560, Block.Properties.of(Material.SAND, MaterialColor.SAND).strength(0.5f).sound(SoundType.SAND)));
        RED_SAND = register("red_sand", new SandBlock(11098145, Block.Properties.of(Material.SAND, MaterialColor.COLOR_ORANGE).strength(0.5f).sound(SoundType.SAND)));
        GRAVEL = register("gravel", new GravelBlock(Block.Properties.of(Material.SAND, MaterialColor.STONE).strength(0.6f).sound(SoundType.GRAVEL)));
        GOLD_ORE = register("gold_ore", new OreBlock(Block.Properties.of(Material.STONE).strength(3.0f, 3.0f)));
        IRON_ORE = register("iron_ore", new OreBlock(Block.Properties.of(Material.STONE).strength(3.0f, 3.0f)));
        COAL_ORE = register("coal_ore", new OreBlock(Block.Properties.of(Material.STONE).strength(3.0f, 3.0f)));
        OAK_LOG = register("oak_log", new LogBlock(MaterialColor.WOOD, Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f).sound(SoundType.WOOD)));
        SPRUCE_LOG = register("spruce_log", new LogBlock(MaterialColor.PODZOL, Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f).sound(SoundType.WOOD)));
        BIRCH_LOG = register("birch_log", new LogBlock(MaterialColor.SAND, Block.Properties.of(Material.WOOD, MaterialColor.QUARTZ).strength(2.0f).sound(SoundType.WOOD)));
        JUNGLE_LOG = register("jungle_log", new LogBlock(MaterialColor.DIRT, Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f).sound(SoundType.WOOD)));
        ACACIA_LOG = register("acacia_log", new LogBlock(MaterialColor.COLOR_ORANGE, Block.Properties.of(Material.WOOD, MaterialColor.STONE).strength(2.0f).sound(SoundType.WOOD)));
        DARK_OAK_LOG = register("dark_oak_log", new LogBlock(MaterialColor.COLOR_BROWN, Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_SPRUCE_LOG = register("stripped_spruce_log", new LogBlock(MaterialColor.PODZOL, Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_BIRCH_LOG = register("stripped_birch_log", new LogBlock(MaterialColor.SAND, Block.Properties.of(Material.WOOD, MaterialColor.SAND).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_JUNGLE_LOG = register("stripped_jungle_log", new LogBlock(MaterialColor.DIRT, Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_ACACIA_LOG = register("stripped_acacia_log", new LogBlock(MaterialColor.COLOR_ORANGE, Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_DARK_OAK_LOG = register("stripped_dark_oak_log", new LogBlock(MaterialColor.COLOR_BROWN, Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_OAK_LOG = register("stripped_oak_log", new LogBlock(MaterialColor.WOOD, Block.Properties.of(Material.WOOD, MaterialColor.WOOD).strength(2.0f).sound(SoundType.WOOD)));
        OAK_WOOD = register("oak_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.WOOD).strength(2.0f).sound(SoundType.WOOD)));
        SPRUCE_WOOD = register("spruce_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f).sound(SoundType.WOOD)));
        BIRCH_WOOD = register("birch_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.SAND).strength(2.0f).sound(SoundType.WOOD)));
        JUNGLE_WOOD = register("jungle_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(2.0f).sound(SoundType.WOOD)));
        ACACIA_WOOD = register("acacia_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_GRAY).strength(2.0f).sound(SoundType.WOOD)));
        DARK_OAK_WOOD = register("dark_oak_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_OAK_WOOD = register("stripped_oak_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.WOOD).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_SPRUCE_WOOD = register("stripped_spruce_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_BIRCH_WOOD = register("stripped_birch_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.SAND).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_JUNGLE_WOOD = register("stripped_jungle_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_ACACIA_WOOD = register("stripped_acacia_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).strength(2.0f).sound(SoundType.WOOD)));
        STRIPPED_DARK_OAK_WOOD = register("stripped_dark_oak_wood", new RotatedPillarBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f).sound(SoundType.WOOD)));
        OAK_LEAVES = register("oak_leaves", new LeavesBlock(Block.Properties.of(Material.LEAVES).strength(0.2f).randomTicks().sound(SoundType.GRASS).noOcclusion()));
        SPRUCE_LEAVES = register("spruce_leaves", new LeavesBlock(Block.Properties.of(Material.LEAVES).strength(0.2f).randomTicks().sound(SoundType.GRASS).noOcclusion()));
        BIRCH_LEAVES = register("birch_leaves", new LeavesBlock(Block.Properties.of(Material.LEAVES).strength(0.2f).randomTicks().sound(SoundType.GRASS).noOcclusion()));
        JUNGLE_LEAVES = register("jungle_leaves", new LeavesBlock(Block.Properties.of(Material.LEAVES).strength(0.2f).randomTicks().sound(SoundType.GRASS).noOcclusion()));
        ACACIA_LEAVES = register("acacia_leaves", new LeavesBlock(Block.Properties.of(Material.LEAVES).strength(0.2f).randomTicks().sound(SoundType.GRASS).noOcclusion()));
        DARK_OAK_LEAVES = register("dark_oak_leaves", new LeavesBlock(Block.Properties.of(Material.LEAVES).strength(0.2f).randomTicks().sound(SoundType.GRASS).noOcclusion()));
        SPONGE = register("sponge", new SpongeBlock(Block.Properties.of(Material.SPONGE).strength(0.6f).sound(SoundType.GRASS)));
        WET_SPONGE = register("wet_sponge", new WetSpongeBlock(Block.Properties.of(Material.SPONGE).strength(0.6f).sound(SoundType.GRASS)));
        GLASS = register("glass", new GlassBlock(Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LAPIS_ORE = register("lapis_ore", new OreBlock(Block.Properties.of(Material.STONE).strength(3.0f, 3.0f)));
        LAPIS_BLOCK = register("lapis_block", new Block(Block.Properties.of(Material.METAL, MaterialColor.LAPIS).strength(3.0f, 3.0f)));
        DISPENSER = register("dispenser", new DispenserBlock(Block.Properties.of(Material.STONE).strength(3.5f)));
        SANDSTONE = register("sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(0.8f)));
        CHISELED_SANDSTONE = register("chiseled_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(0.8f)));
        CUT_SANDSTONE = register("cut_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(0.8f)));
        NOTE_BLOCK = register("note_block", new NoteBlock(Block.Properties.of(Material.WOOD).sound(SoundType.WOOD).strength(0.8f)));
        WHITE_BED = register("white_bed", new BedBlock(DyeColor.WHITE, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        ORANGE_BED = register("orange_bed", new BedBlock(DyeColor.ORANGE, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        MAGENTA_BED = register("magenta_bed", new BedBlock(DyeColor.MAGENTA, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        LIGHT_BLUE_BED = register("light_blue_bed", new BedBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        YELLOW_BED = register("yellow_bed", new BedBlock(DyeColor.YELLOW, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        LIME_BED = register("lime_bed", new BedBlock(DyeColor.LIME, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        PINK_BED = register("pink_bed", new BedBlock(DyeColor.PINK, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        GRAY_BED = register("gray_bed", new BedBlock(DyeColor.GRAY, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        LIGHT_GRAY_BED = register("light_gray_bed", new BedBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        CYAN_BED = register("cyan_bed", new BedBlock(DyeColor.CYAN, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        PURPLE_BED = register("purple_bed", new BedBlock(DyeColor.PURPLE, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        BLUE_BED = register("blue_bed", new BedBlock(DyeColor.BLUE, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        BROWN_BED = register("brown_bed", new BedBlock(DyeColor.BROWN, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        GREEN_BED = register("green_bed", new BedBlock(DyeColor.GREEN, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        RED_BED = register("red_bed", new BedBlock(DyeColor.RED, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        BLACK_BED = register("black_bed", new BedBlock(DyeColor.BLACK, Block.Properties.of(Material.WOOL).sound(SoundType.WOOD).strength(0.2f).noOcclusion()));
        POWERED_RAIL = register("powered_rail", new PoweredRailBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.7f).sound(SoundType.METAL)));
        DETECTOR_RAIL = register("detector_rail", new DetectorRailBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.7f).sound(SoundType.METAL)));
        STICKY_PISTON = register("sticky_piston", new PistonBaseBlock(true, Block.Properties.of(Material.PISTON).strength(0.5f)));
        COBWEB = register("cobweb", new WebBlock(Block.Properties.of(Material.WEB).noCollission().strength(4.0f)));
        GRASS = register("grass", new TallGrassBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        FERN = register("fern", new TallGrassBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        DEAD_BUSH = register("dead_bush", new DeadBushBlock(Block.Properties.of(Material.REPLACEABLE_PLANT, MaterialColor.WOOD).noCollission().instabreak().sound(SoundType.GRASS)));
        SEAGRASS = register("seagrass", new Seagrass(Block.Properties.of(Material.REPLACEABLE_WATER_PLANT).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        TALL_SEAGRASS = register("tall_seagrass", new TallSeagrass(Block.Properties.of(Material.REPLACEABLE_WATER_PLANT).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        PISTON = register("piston", new PistonBaseBlock(false, Block.Properties.of(Material.PISTON).strength(0.5f)));
        PISTON_HEAD = register("piston_head", new PistonHeadBlock(Block.Properties.of(Material.PISTON).strength(0.5f).noDrops()));
        WHITE_WOOL = register("white_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.SNOW).strength(0.8f).sound(SoundType.WOOL)));
        ORANGE_WOOL = register("orange_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_ORANGE).strength(0.8f).sound(SoundType.WOOL)));
        MAGENTA_WOOL = register("magenta_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_MAGENTA).strength(0.8f).sound(SoundType.WOOL)));
        LIGHT_BLUE_WOOL = register("light_blue_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_LIGHT_BLUE).strength(0.8f).sound(SoundType.WOOL)));
        YELLOW_WOOL = register("yellow_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_YELLOW).strength(0.8f).sound(SoundType.WOOL)));
        LIME_WOOL = register("lime_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_LIGHT_GREEN).strength(0.8f).sound(SoundType.WOOL)));
        PINK_WOOL = register("pink_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_PINK).strength(0.8f).sound(SoundType.WOOL)));
        GRAY_WOOL = register("gray_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_GRAY).strength(0.8f).sound(SoundType.WOOL)));
        LIGHT_GRAY_WOOL = register("light_gray_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_LIGHT_GRAY).strength(0.8f).sound(SoundType.WOOL)));
        CYAN_WOOL = register("cyan_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_CYAN).strength(0.8f).sound(SoundType.WOOL)));
        PURPLE_WOOL = register("purple_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_PURPLE).strength(0.8f).sound(SoundType.WOOL)));
        BLUE_WOOL = register("blue_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_BLUE).strength(0.8f).sound(SoundType.WOOL)));
        BROWN_WOOL = register("brown_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_BROWN).strength(0.8f).sound(SoundType.WOOL)));
        GREEN_WOOL = register("green_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_GREEN).strength(0.8f).sound(SoundType.WOOL)));
        RED_WOOL = register("red_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_RED).strength(0.8f).sound(SoundType.WOOL)));
        BLACK_WOOL = register("black_wool", new Block(Block.Properties.of(Material.WOOL, MaterialColor.COLOR_BLACK).strength(0.8f).sound(SoundType.WOOL)));
        MOVING_PISTON = register("moving_piston", new MovingPistonBlock(Block.Properties.of(Material.PISTON).strength(-1.0f).dynamicShape().noDrops().noOcclusion()));
        DANDELION = register("dandelion", new FlowerBlock(MobEffects.SATURATION, 7, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        POPPY = register("poppy", new FlowerBlock(MobEffects.NIGHT_VISION, 5, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        BLUE_ORCHID = register("blue_orchid", new FlowerBlock(MobEffects.SATURATION, 7, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        ALLIUM = register("allium", new FlowerBlock(MobEffects.FIRE_RESISTANCE, 4, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        AZURE_BLUET = register("azure_bluet", new FlowerBlock(MobEffects.BLINDNESS, 8, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        RED_TULIP = register("red_tulip", new FlowerBlock(MobEffects.WEAKNESS, 9, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        ORANGE_TULIP = register("orange_tulip", new FlowerBlock(MobEffects.WEAKNESS, 9, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        WHITE_TULIP = register("white_tulip", new FlowerBlock(MobEffects.WEAKNESS, 9, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        PINK_TULIP = register("pink_tulip", new FlowerBlock(MobEffects.WEAKNESS, 9, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        OXEYE_DAISY = register("oxeye_daisy", new FlowerBlock(MobEffects.REGENERATION, 8, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        CORNFLOWER = register("cornflower", new FlowerBlock(MobEffects.JUMP, 6, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        WITHER_ROSE = register("wither_rose", new WitherRoseBlock(MobEffects.WITHER, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        LILY_OF_THE_VALLEY = register("lily_of_the_valley", new FlowerBlock(MobEffects.POISON, 12, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        BROWN_MUSHROOM = register("brown_mushroom", new MushroomBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS).lightLevel(1)));
        RED_MUSHROOM = register("red_mushroom", new MushroomBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        GOLD_BLOCK = register("gold_block", new Block(Block.Properties.of(Material.METAL, MaterialColor.GOLD).strength(3.0f, 6.0f).sound(SoundType.METAL)));
        IRON_BLOCK = register("iron_block", new Block(Block.Properties.of(Material.METAL, MaterialColor.METAL).strength(5.0f, 6.0f).sound(SoundType.METAL)));
        BRICKS = register("bricks", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_RED).strength(2.0f, 6.0f)));
        TNT = register("tnt", new TntBlock(Block.Properties.of(Material.EXPLOSIVE).instabreak().sound(SoundType.GRASS)));
        BOOKSHELF = register("bookshelf", new Block(Block.Properties.of(Material.WOOD).strength(1.5f).sound(SoundType.WOOD)));
        MOSSY_COBBLESTONE = register("mossy_cobblestone", new Block(Block.Properties.of(Material.STONE).strength(2.0f, 6.0f)));
        OBSIDIAN = register("obsidian", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_BLACK).strength(50.0f, 1200.0f)));
        TORCH = register("torch", new TorchBlock(Block.Properties.of(Material.DECORATION).noCollission().instabreak().lightLevel(14).sound(SoundType.WOOD)));
        WALL_TORCH = register("wall_torch", new WallTorchBlock(Block.Properties.of(Material.DECORATION).noCollission().instabreak().lightLevel(14).sound(SoundType.WOOD).dropsLike(Blocks.TORCH)));
        FIRE = register("fire", new FireBlock(Block.Properties.of(Material.FIRE, MaterialColor.FIRE).noCollission().randomTicks().instabreak().lightLevel(15).sound(SoundType.WOOL).noDrops()));
        SPAWNER = register("spawner", new SpawnerBlock(Block.Properties.of(Material.STONE).strength(5.0f).sound(SoundType.METAL).noOcclusion()));
        OAK_STAIRS = register("oak_stairs", new StairBlock(Blocks.OAK_PLANKS.defaultBlockState(), Block.Properties.copy(Blocks.OAK_PLANKS)));
        CHEST = register("chest", new ChestBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD), () -> BlockEntityType.CHEST));
        REDSTONE_WIRE = register("redstone_wire", new RedStoneWireBlock(Block.Properties.of(Material.DECORATION).noCollission().instabreak()));
        DIAMOND_ORE = register("diamond_ore", new OreBlock(Block.Properties.of(Material.STONE).strength(3.0f, 3.0f)));
        DIAMOND_BLOCK = register("diamond_block", new Block(Block.Properties.of(Material.METAL, MaterialColor.DIAMOND).strength(5.0f, 6.0f).sound(SoundType.METAL)));
        CRAFTING_TABLE = register("crafting_table", new CraftingTableBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        WHEAT = register("wheat", new CropBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.CROP)));
        FARMLAND = register("farmland", new FarmBlock(Block.Properties.of(Material.DIRT).randomTicks().strength(0.6f).sound(SoundType.GRAVEL)));
        FURNACE = register("furnace", new FurnaceBlock(Block.Properties.of(Material.STONE).strength(3.5f).lightLevel(13)));
        OAK_SIGN = register("oak_sign", new StandingSignBlock(Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD), WoodType.OAK));
        SPRUCE_SIGN = register("spruce_sign", new StandingSignBlock(Block.Properties.of(Material.WOOD, Blocks.SPRUCE_LOG.materialColor).noCollission().strength(1.0f).sound(SoundType.WOOD), WoodType.SPRUCE));
        BIRCH_SIGN = register("birch_sign", new StandingSignBlock(Block.Properties.of(Material.WOOD, MaterialColor.SAND).noCollission().strength(1.0f).sound(SoundType.WOOD), WoodType.BIRCH));
        ACACIA_SIGN = register("acacia_sign", new StandingSignBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).noCollission().strength(1.0f).sound(SoundType.WOOD), WoodType.ACACIA));
        JUNGLE_SIGN = register("jungle_sign", new StandingSignBlock(Block.Properties.of(Material.WOOD, Blocks.JUNGLE_LOG.materialColor).noCollission().strength(1.0f).sound(SoundType.WOOD), WoodType.JUNGLE));
        DARK_OAK_SIGN = register("dark_oak_sign", new StandingSignBlock(Block.Properties.of(Material.WOOD, Blocks.DARK_OAK_LOG.materialColor).noCollission().strength(1.0f).sound(SoundType.WOOD), WoodType.DARK_OAK));
        OAK_DOOR = register("oak_door", new DoorBlock(Block.Properties.of(Material.WOOD, Blocks.OAK_PLANKS.materialColor).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        LADDER = register("ladder", new LadderBlock(Block.Properties.of(Material.DECORATION).strength(0.4f).sound(SoundType.LADDER).noOcclusion()));
        RAIL = register("rail", new RailBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.7f).sound(SoundType.METAL)));
        COBBLESTONE_STAIRS = register("cobblestone_stairs", new StairBlock(Blocks.COBBLESTONE.defaultBlockState(), Block.Properties.copy(Blocks.COBBLESTONE)));
        OAK_WALL_SIGN = register("oak_wall_sign", new WallSignBlock(Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.OAK_SIGN), WoodType.OAK));
        SPRUCE_WALL_SIGN = register("spruce_wall_sign", new WallSignBlock(Block.Properties.of(Material.WOOD, Blocks.SPRUCE_LOG.materialColor).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.SPRUCE_SIGN), WoodType.SPRUCE));
        BIRCH_WALL_SIGN = register("birch_wall_sign", new WallSignBlock(Block.Properties.of(Material.WOOD, MaterialColor.SAND).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.BIRCH_SIGN), WoodType.BIRCH));
        ACACIA_WALL_SIGN = register("acacia_wall_sign", new WallSignBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.ACACIA_SIGN), WoodType.ACACIA));
        JUNGLE_WALL_SIGN = register("jungle_wall_sign", new WallSignBlock(Block.Properties.of(Material.WOOD, Blocks.JUNGLE_LOG.materialColor).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.JUNGLE_SIGN), WoodType.JUNGLE));
        DARK_OAK_WALL_SIGN = register("dark_oak_wall_sign", new WallSignBlock(Block.Properties.of(Material.WOOD, Blocks.DARK_OAK_LOG.materialColor).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.DARK_OAK_SIGN), WoodType.DARK_OAK));
        LEVER = register("lever", new LeverBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        STONE_PRESSURE_PLATE = register("stone_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.MOBS, Block.Properties.of(Material.STONE).noCollission().strength(0.5f)));
        IRON_DOOR = register("iron_door", new DoorBlock(Block.Properties.of(Material.METAL, MaterialColor.METAL).strength(5.0f).sound(SoundType.METAL).noOcclusion()));
        OAK_PRESSURE_PLATE = register("oak_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.of(Material.WOOD, Blocks.OAK_PLANKS.materialColor).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        SPRUCE_PRESSURE_PLATE = register("spruce_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.of(Material.WOOD, Blocks.SPRUCE_PLANKS.materialColor).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        BIRCH_PRESSURE_PLATE = register("birch_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.of(Material.WOOD, Blocks.BIRCH_PLANKS.materialColor).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        JUNGLE_PRESSURE_PLATE = register("jungle_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.of(Material.WOOD, Blocks.JUNGLE_PLANKS.materialColor).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        ACACIA_PRESSURE_PLATE = register("acacia_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.of(Material.WOOD, Blocks.ACACIA_PLANKS.materialColor).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        DARK_OAK_PRESSURE_PLATE = register("dark_oak_pressure_plate", new PressurePlateBlock(PressurePlateBlock.Sensitivity.EVERYTHING, Block.Properties.of(Material.WOOD, Blocks.DARK_OAK_PLANKS.materialColor).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        REDSTONE_ORE = register("redstone_ore", new RedStoneOreBlock(Block.Properties.of(Material.STONE).randomTicks().lightLevel(9).strength(3.0f, 3.0f)));
        REDSTONE_TORCH = register("redstone_torch", new RedstoneTorchBlock(Block.Properties.of(Material.DECORATION).noCollission().instabreak().lightLevel(7).sound(SoundType.WOOD)));
        REDSTONE_WALL_TORCH = register("redstone_wall_torch", new RedstoneWallTorchBlock(Block.Properties.of(Material.DECORATION).noCollission().instabreak().lightLevel(7).sound(SoundType.WOOD).dropsLike(Blocks.REDSTONE_TORCH)));
        STONE_BUTTON = register("stone_button", new StoneButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f)));
        SNOW = register("snow", new SnowLayerBlock(Block.Properties.of(Material.TOP_SNOW).randomTicks().strength(0.1f).sound(SoundType.SNOW)));
        ICE = register("ice", new IceBlock(Block.Properties.of(Material.ICE).friction(0.98f).randomTicks().strength(0.5f).sound(SoundType.GLASS).noOcclusion()));
        SNOW_BLOCK = register("snow_block", new Block(Block.Properties.of(Material.SNOW).strength(0.2f).sound(SoundType.SNOW)));
        CACTUS = register("cactus", new CactusBlock(Block.Properties.of(Material.CACTUS).randomTicks().strength(0.4f).sound(SoundType.WOOL)));
        CLAY = register("clay", new Block(Block.Properties.of(Material.CLAY).strength(0.6f).sound(SoundType.GRAVEL)));
        SUGAR_CANE = register("sugar_cane", new SugarCaneBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.GRASS)));
        JUKEBOX = register("jukebox", new JukeboxBlock(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(2.0f, 6.0f)));
        OAK_FENCE = register("oak_fence", new FenceBlock(Block.Properties.of(Material.WOOD, Blocks.OAK_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        PUMPKIN = register("pumpkin", new PumpkinBlock(Block.Properties.of(Material.VEGETABLE, MaterialColor.COLOR_ORANGE).strength(1.0f).sound(SoundType.WOOD)));
        NETHERRACK = register("netherrack", new Block(Block.Properties.of(Material.STONE, MaterialColor.NETHER).strength(0.4f)));
        SOUL_SAND = register("soul_sand", new SoulsandBlock(Block.Properties.of(Material.SAND, MaterialColor.COLOR_BROWN).randomTicks().strength(0.5f).speedFactor(0.4f).sound(SoundType.SAND)));
        GLOWSTONE = register("glowstone", new Block(Block.Properties.of(Material.GLASS, MaterialColor.SAND).strength(0.3f).sound(SoundType.GLASS).lightLevel(15)));
        NETHER_PORTAL = register("nether_portal", new NetherPortalBlock(Block.Properties.of(Material.PORTAL).noCollission().randomTicks().strength(-1.0f).sound(SoundType.GLASS).lightLevel(11).noDrops()));
        CARVED_PUMPKIN = register("carved_pumpkin", new CarvedPumpkinBlock(Block.Properties.of(Material.VEGETABLE, MaterialColor.COLOR_ORANGE).strength(1.0f).sound(SoundType.WOOD)));
        JACK_O_LANTERN = register("jack_o_lantern", new CarvedPumpkinBlock(Block.Properties.of(Material.VEGETABLE, MaterialColor.COLOR_ORANGE).strength(1.0f).sound(SoundType.WOOD).lightLevel(15)));
        CAKE = register("cake", new CakeBlock(Block.Properties.of(Material.CAKE).strength(0.5f).sound(SoundType.WOOL)));
        REPEATER = register("repeater", new RepeaterBlock(Block.Properties.of(Material.DECORATION).instabreak().sound(SoundType.WOOD)));
        WHITE_STAINED_GLASS = register("white_stained_glass", new StainedGlassBlock(DyeColor.WHITE, Block.Properties.of(Material.GLASS, DyeColor.WHITE).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        ORANGE_STAINED_GLASS = register("orange_stained_glass", new StainedGlassBlock(DyeColor.ORANGE, Block.Properties.of(Material.GLASS, DyeColor.ORANGE).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        MAGENTA_STAINED_GLASS = register("magenta_stained_glass", new StainedGlassBlock(DyeColor.MAGENTA, Block.Properties.of(Material.GLASS, DyeColor.MAGENTA).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LIGHT_BLUE_STAINED_GLASS = register("light_blue_stained_glass", new StainedGlassBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.GLASS, DyeColor.LIGHT_BLUE).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        YELLOW_STAINED_GLASS = register("yellow_stained_glass", new StainedGlassBlock(DyeColor.YELLOW, Block.Properties.of(Material.GLASS, DyeColor.YELLOW).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LIME_STAINED_GLASS = register("lime_stained_glass", new StainedGlassBlock(DyeColor.LIME, Block.Properties.of(Material.GLASS, DyeColor.LIME).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        PINK_STAINED_GLASS = register("pink_stained_glass", new StainedGlassBlock(DyeColor.PINK, Block.Properties.of(Material.GLASS, DyeColor.PINK).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        GRAY_STAINED_GLASS = register("gray_stained_glass", new StainedGlassBlock(DyeColor.GRAY, Block.Properties.of(Material.GLASS, DyeColor.GRAY).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LIGHT_GRAY_STAINED_GLASS = register("light_gray_stained_glass", new StainedGlassBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.GLASS, DyeColor.LIGHT_GRAY).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        CYAN_STAINED_GLASS = register("cyan_stained_glass", new StainedGlassBlock(DyeColor.CYAN, Block.Properties.of(Material.GLASS, DyeColor.CYAN).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        PURPLE_STAINED_GLASS = register("purple_stained_glass", new StainedGlassBlock(DyeColor.PURPLE, Block.Properties.of(Material.GLASS, DyeColor.PURPLE).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        BLUE_STAINED_GLASS = register("blue_stained_glass", new StainedGlassBlock(DyeColor.BLUE, Block.Properties.of(Material.GLASS, DyeColor.BLUE).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        BROWN_STAINED_GLASS = register("brown_stained_glass", new StainedGlassBlock(DyeColor.BROWN, Block.Properties.of(Material.GLASS, DyeColor.BROWN).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        GREEN_STAINED_GLASS = register("green_stained_glass", new StainedGlassBlock(DyeColor.GREEN, Block.Properties.of(Material.GLASS, DyeColor.GREEN).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        RED_STAINED_GLASS = register("red_stained_glass", new StainedGlassBlock(DyeColor.RED, Block.Properties.of(Material.GLASS, DyeColor.RED).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        BLACK_STAINED_GLASS = register("black_stained_glass", new StainedGlassBlock(DyeColor.BLACK, Block.Properties.of(Material.GLASS, DyeColor.BLACK).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        OAK_TRAPDOOR = register("oak_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.WOOD, MaterialColor.WOOD).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        SPRUCE_TRAPDOOR = register("spruce_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        BIRCH_TRAPDOOR = register("birch_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.WOOD, MaterialColor.SAND).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        JUNGLE_TRAPDOOR = register("jungle_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        ACACIA_TRAPDOOR = register("acacia_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        DARK_OAK_TRAPDOOR = register("dark_oak_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        STONE_BRICKS = register("stone_bricks", new Block(Block.Properties.of(Material.STONE).strength(1.5f, 6.0f)));
        MOSSY_STONE_BRICKS = register("mossy_stone_bricks", new Block(Block.Properties.of(Material.STONE).strength(1.5f, 6.0f)));
        CRACKED_STONE_BRICKS = register("cracked_stone_bricks", new Block(Block.Properties.of(Material.STONE).strength(1.5f, 6.0f)));
        CHISELED_STONE_BRICKS = register("chiseled_stone_bricks", new Block(Block.Properties.of(Material.STONE).strength(1.5f, 6.0f)));
        INFESTED_STONE = register("infested_stone", new InfestedBlock(Blocks.STONE, Block.Properties.of(Material.CLAY).strength(0.0f, 0.75f)));
        INFESTED_COBBLESTONE = register("infested_cobblestone", new InfestedBlock(Blocks.COBBLESTONE, Block.Properties.of(Material.CLAY).strength(0.0f, 0.75f)));
        INFESTED_STONE_BRICKS = register("infested_stone_bricks", new InfestedBlock(Blocks.STONE_BRICKS, Block.Properties.of(Material.CLAY).strength(0.0f, 0.75f)));
        INFESTED_MOSSY_STONE_BRICKS = register("infested_mossy_stone_bricks", new InfestedBlock(Blocks.MOSSY_STONE_BRICKS, Block.Properties.of(Material.CLAY).strength(0.0f, 0.75f)));
        INFESTED_CRACKED_STONE_BRICKS = register("infested_cracked_stone_bricks", new InfestedBlock(Blocks.CRACKED_STONE_BRICKS, Block.Properties.of(Material.CLAY).strength(0.0f, 0.75f)));
        INFESTED_CHISELED_STONE_BRICKS = register("infested_chiseled_stone_bricks", new InfestedBlock(Blocks.CHISELED_STONE_BRICKS, Block.Properties.of(Material.CLAY).strength(0.0f, 0.75f)));
        BROWN_MUSHROOM_BLOCK = register("brown_mushroom_block", new HugeMushroomBlock(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(0.2f).sound(SoundType.WOOD)));
        RED_MUSHROOM_BLOCK = register("red_mushroom_block", new HugeMushroomBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_RED).strength(0.2f).sound(SoundType.WOOD)));
        MUSHROOM_STEM = register("mushroom_stem", new HugeMushroomBlock(Block.Properties.of(Material.WOOD, MaterialColor.WOOL).strength(0.2f).sound(SoundType.WOOD)));
        IRON_BARS = register("iron_bars", new IronBarsBlock(Block.Properties.of(Material.METAL, MaterialColor.NONE).strength(5.0f, 6.0f).sound(SoundType.METAL).noOcclusion()));
        GLASS_PANE = register("glass_pane", new IronBarsBlock(Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        MELON = register("melon", new MelonBlock(Block.Properties.of(Material.VEGETABLE, MaterialColor.COLOR_LIGHT_GREEN).strength(1.0f).sound(SoundType.WOOD)));
        ATTACHED_PUMPKIN_STEM = register("attached_pumpkin_stem", new AttachedStemBlock((StemGrownBlock)Blocks.PUMPKIN, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.WOOD)));
        ATTACHED_MELON_STEM = register("attached_melon_stem", new AttachedStemBlock((StemGrownBlock)Blocks.MELON, Block.Properties.of(Material.PLANT).noCollission().instabreak().sound(SoundType.WOOD)));
        PUMPKIN_STEM = register("pumpkin_stem", new StemBlock((StemGrownBlock)Blocks.PUMPKIN, Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.HARD_CROP)));
        MELON_STEM = register("melon_stem", new StemBlock((StemGrownBlock)Blocks.MELON, Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.HARD_CROP)));
        VINE = register("vine", new VineBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().randomTicks().strength(0.2f).sound(SoundType.GRASS)));
        OAK_FENCE_GATE = register("oak_fence_gate", new FenceGateBlock(Block.Properties.of(Material.WOOD, Blocks.OAK_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        BRICK_STAIRS = register("brick_stairs", new StairBlock(Blocks.BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.BRICKS)));
        STONE_BRICK_STAIRS = register("stone_brick_stairs", new StairBlock(Blocks.STONE_BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.STONE_BRICKS)));
        MYCELIUM = register("mycelium", new MyceliumBlock(Block.Properties.of(Material.GRASS, MaterialColor.COLOR_PURPLE).randomTicks().strength(0.6f).sound(SoundType.GRASS)));
        LILY_PAD = register("lily_pad", new WaterlilyBlock(Block.Properties.of(Material.PLANT).instabreak().sound(SoundType.GRASS).noOcclusion()));
        NETHER_BRICKS = register("nether_bricks", new Block(Block.Properties.of(Material.STONE, MaterialColor.NETHER).strength(2.0f, 6.0f)));
        NETHER_BRICK_FENCE = register("nether_brick_fence", new FenceBlock(Block.Properties.of(Material.STONE, MaterialColor.NETHER).strength(2.0f, 6.0f)));
        NETHER_BRICK_STAIRS = register("nether_brick_stairs", new StairBlock(Blocks.NETHER_BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.NETHER_BRICKS)));
        NETHER_WART = register("nether_wart", new NetherWartBlock(Block.Properties.of(Material.PLANT, MaterialColor.COLOR_RED).noCollission().randomTicks().sound(SoundType.NETHER_WART)));
        ENCHANTING_TABLE = register("enchanting_table", new EnchantmentTableBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_RED).strength(5.0f, 1200.0f)));
        BREWING_STAND = register("brewing_stand", new BrewingStandBlock(Block.Properties.of(Material.METAL).strength(0.5f).lightLevel(1).noOcclusion()));
        CAULDRON = register("cauldron", new CauldronBlock(Block.Properties.of(Material.METAL, MaterialColor.STONE).strength(2.0f).noOcclusion()));
        END_PORTAL = register("end_portal", new EndPortalBlock(Block.Properties.of(Material.PORTAL, MaterialColor.COLOR_BLACK).noCollission().lightLevel(15).strength(-1.0f, 3600000.0f).noDrops()));
        END_PORTAL_FRAME = register("end_portal_frame", new EndPortalFrameBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GREEN).sound(SoundType.GLASS).lightLevel(1).strength(-1.0f, 3600000.0f).noDrops()));
        END_STONE = register("end_stone", new Block(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(3.0f, 9.0f)));
        DRAGON_EGG = register("dragon_egg", new DragonEggBlock(Block.Properties.of(Material.EGG, MaterialColor.COLOR_BLACK).strength(3.0f, 9.0f).lightLevel(1).noOcclusion()));
        REDSTONE_LAMP = register("redstone_lamp", new RedstoneLampBlock(Block.Properties.of(Material.BUILDABLE_GLASS).lightLevel(15).strength(0.3f).sound(SoundType.GLASS)));
        COCOA = register("cocoa", new CocoaBlock(Block.Properties.of(Material.PLANT).randomTicks().strength(0.2f, 3.0f).sound(SoundType.WOOD).noOcclusion()));
        SANDSTONE_STAIRS = register("sandstone_stairs", new StairBlock(Blocks.SANDSTONE.defaultBlockState(), Block.Properties.copy(Blocks.SANDSTONE)));
        EMERALD_ORE = register("emerald_ore", new OreBlock(Block.Properties.of(Material.STONE).strength(3.0f, 3.0f)));
        ENDER_CHEST = register("ender_chest", new EnderChestBlock(Block.Properties.of(Material.STONE).strength(22.5f, 600.0f).lightLevel(7)));
        TRIPWIRE_HOOK = register("tripwire_hook", new TripWireHookBlock(Block.Properties.of(Material.DECORATION).noCollission()));
        TRIPWIRE = register("tripwire", new TripWireBlock((TripWireHookBlock)Blocks.TRIPWIRE_HOOK, Block.Properties.of(Material.DECORATION).noCollission()));
        EMERALD_BLOCK = register("emerald_block", new Block(Block.Properties.of(Material.METAL, MaterialColor.EMERALD).strength(5.0f, 6.0f).sound(SoundType.METAL)));
        SPRUCE_STAIRS = register("spruce_stairs", new StairBlock(Blocks.SPRUCE_PLANKS.defaultBlockState(), Block.Properties.copy(Blocks.SPRUCE_PLANKS)));
        BIRCH_STAIRS = register("birch_stairs", new StairBlock(Blocks.BIRCH_PLANKS.defaultBlockState(), Block.Properties.copy(Blocks.BIRCH_PLANKS)));
        JUNGLE_STAIRS = register("jungle_stairs", new StairBlock(Blocks.JUNGLE_PLANKS.defaultBlockState(), Block.Properties.copy(Blocks.JUNGLE_PLANKS)));
        COMMAND_BLOCK = register("command_block", new CommandBlock(Block.Properties.of(Material.METAL, MaterialColor.COLOR_BROWN).strength(-1.0f, 3600000.0f).noDrops()));
        BEACON = register("beacon", new BeaconBlock(Block.Properties.of(Material.GLASS, MaterialColor.DIAMOND).strength(3.0f).lightLevel(15).noOcclusion()));
        COBBLESTONE_WALL = register("cobblestone_wall", new WallBlock(Block.Properties.copy(Blocks.COBBLESTONE)));
        MOSSY_COBBLESTONE_WALL = register("mossy_cobblestone_wall", new WallBlock(Block.Properties.copy(Blocks.COBBLESTONE)));
        FLOWER_POT = register("flower_pot", new FlowerPotBlock(Blocks.AIR, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_OAK_SAPLING = register("potted_oak_sapling", new FlowerPotBlock(Blocks.OAK_SAPLING, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_SPRUCE_SAPLING = register("potted_spruce_sapling", new FlowerPotBlock(Blocks.SPRUCE_SAPLING, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_BIRCH_SAPLING = register("potted_birch_sapling", new FlowerPotBlock(Blocks.BIRCH_SAPLING, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_JUNGLE_SAPLING = register("potted_jungle_sapling", new FlowerPotBlock(Blocks.JUNGLE_SAPLING, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_ACACIA_SAPLING = register("potted_acacia_sapling", new FlowerPotBlock(Blocks.ACACIA_SAPLING, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_DARK_OAK_SAPLING = register("potted_dark_oak_sapling", new FlowerPotBlock(Blocks.DARK_OAK_SAPLING, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_FERN = register("potted_fern", new FlowerPotBlock(Blocks.FERN, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_DANDELION = register("potted_dandelion", new FlowerPotBlock(Blocks.DANDELION, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_POPPY = register("potted_poppy", new FlowerPotBlock(Blocks.POPPY, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_BLUE_ORCHID = register("potted_blue_orchid", new FlowerPotBlock(Blocks.BLUE_ORCHID, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_ALLIUM = register("potted_allium", new FlowerPotBlock(Blocks.ALLIUM, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_AZURE_BLUET = register("potted_azure_bluet", new FlowerPotBlock(Blocks.AZURE_BLUET, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_RED_TULIP = register("potted_red_tulip", new FlowerPotBlock(Blocks.RED_TULIP, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_ORANGE_TULIP = register("potted_orange_tulip", new FlowerPotBlock(Blocks.ORANGE_TULIP, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_WHITE_TULIP = register("potted_white_tulip", new FlowerPotBlock(Blocks.WHITE_TULIP, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_PINK_TULIP = register("potted_pink_tulip", new FlowerPotBlock(Blocks.PINK_TULIP, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_OXEYE_DAISY = register("potted_oxeye_daisy", new FlowerPotBlock(Blocks.OXEYE_DAISY, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_CORNFLOWER = register("potted_cornflower", new FlowerPotBlock(Blocks.CORNFLOWER, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_LILY_OF_THE_VALLEY = register("potted_lily_of_the_valley", new FlowerPotBlock(Blocks.LILY_OF_THE_VALLEY, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_WITHER_ROSE = register("potted_wither_rose", new FlowerPotBlock(Blocks.WITHER_ROSE, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_RED_MUSHROOM = register("potted_red_mushroom", new FlowerPotBlock(Blocks.RED_MUSHROOM, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_BROWN_MUSHROOM = register("potted_brown_mushroom", new FlowerPotBlock(Blocks.BROWN_MUSHROOM, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_DEAD_BUSH = register("potted_dead_bush", new FlowerPotBlock(Blocks.DEAD_BUSH, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        POTTED_CACTUS = register("potted_cactus", new FlowerPotBlock(Blocks.CACTUS, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        CARROTS = register("carrots", new CarrotBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.CROP)));
        POTATOES = register("potatoes", new PotatoBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.CROP)));
        OAK_BUTTON = register("oak_button", new WoodButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        SPRUCE_BUTTON = register("spruce_button", new WoodButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        BIRCH_BUTTON = register("birch_button", new WoodButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        JUNGLE_BUTTON = register("jungle_button", new WoodButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        ACACIA_BUTTON = register("acacia_button", new WoodButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        DARK_OAK_BUTTON = register("dark_oak_button", new WoodButtonBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        SKELETON_SKULL = register("skeleton_skull", new SkullBlock(SkullBlock.Types.SKELETON, Block.Properties.of(Material.DECORATION).strength(1.0f)));
        SKELETON_WALL_SKULL = register("skeleton_wall_skull", new WallSkullBlock(SkullBlock.Types.SKELETON, Block.Properties.of(Material.DECORATION).strength(1.0f).dropsLike(Blocks.SKELETON_SKULL)));
        WITHER_SKELETON_SKULL = register("wither_skeleton_skull", new WitherSkullBlock(Block.Properties.of(Material.DECORATION).strength(1.0f)));
        WITHER_SKELETON_WALL_SKULL = register("wither_skeleton_wall_skull", new WitherWallSkullBlock(Block.Properties.of(Material.DECORATION).strength(1.0f).dropsLike(Blocks.WITHER_SKELETON_SKULL)));
        ZOMBIE_HEAD = register("zombie_head", new SkullBlock(SkullBlock.Types.ZOMBIE, Block.Properties.of(Material.DECORATION).strength(1.0f)));
        ZOMBIE_WALL_HEAD = register("zombie_wall_head", new WallSkullBlock(SkullBlock.Types.ZOMBIE, Block.Properties.of(Material.DECORATION).strength(1.0f).dropsLike(Blocks.ZOMBIE_HEAD)));
        PLAYER_HEAD = register("player_head", new PlayerHeadBlock(Block.Properties.of(Material.DECORATION).strength(1.0f)));
        PLAYER_WALL_HEAD = register("player_wall_head", new PlayerWallHeadBlock(Block.Properties.of(Material.DECORATION).strength(1.0f).dropsLike(Blocks.PLAYER_HEAD)));
        CREEPER_HEAD = register("creeper_head", new SkullBlock(SkullBlock.Types.CREEPER, Block.Properties.of(Material.DECORATION).strength(1.0f)));
        CREEPER_WALL_HEAD = register("creeper_wall_head", new WallSkullBlock(SkullBlock.Types.CREEPER, Block.Properties.of(Material.DECORATION).strength(1.0f).dropsLike(Blocks.CREEPER_HEAD)));
        DRAGON_HEAD = register("dragon_head", new SkullBlock(SkullBlock.Types.DRAGON, Block.Properties.of(Material.DECORATION).strength(1.0f)));
        DRAGON_WALL_HEAD = register("dragon_wall_head", new WallSkullBlock(SkullBlock.Types.DRAGON, Block.Properties.of(Material.DECORATION).strength(1.0f).dropsLike(Blocks.DRAGON_HEAD)));
        ANVIL = register("anvil", new AnvilBlock(Block.Properties.of(Material.HEAVY_METAL, MaterialColor.METAL).strength(5.0f, 1200.0f).sound(SoundType.ANVIL)));
        CHIPPED_ANVIL = register("chipped_anvil", new AnvilBlock(Block.Properties.of(Material.HEAVY_METAL, MaterialColor.METAL).strength(5.0f, 1200.0f).sound(SoundType.ANVIL)));
        DAMAGED_ANVIL = register("damaged_anvil", new AnvilBlock(Block.Properties.of(Material.HEAVY_METAL, MaterialColor.METAL).strength(5.0f, 1200.0f).sound(SoundType.ANVIL)));
        TRAPPED_CHEST = register("trapped_chest", new TrappedChestBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        LIGHT_WEIGHTED_PRESSURE_PLATE = register("light_weighted_pressure_plate", new WeightedPressurePlateBlock(15, Block.Properties.of(Material.METAL, MaterialColor.GOLD).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        HEAVY_WEIGHTED_PRESSURE_PLATE = register("heavy_weighted_pressure_plate", new WeightedPressurePlateBlock(150, Block.Properties.of(Material.METAL).noCollission().strength(0.5f).sound(SoundType.WOOD)));
        COMPARATOR = register("comparator", new ComparatorBlock(Block.Properties.of(Material.DECORATION).instabreak().sound(SoundType.WOOD)));
        DAYLIGHT_DETECTOR = register("daylight_detector", new DaylightDetectorBlock(Block.Properties.of(Material.WOOD).strength(0.2f).sound(SoundType.WOOD)));
        REDSTONE_BLOCK = register("redstone_block", new PoweredBlock(Block.Properties.of(Material.METAL, MaterialColor.FIRE).strength(5.0f, 6.0f).sound(SoundType.METAL)));
        NETHER_QUARTZ_ORE = register("nether_quartz_ore", new OreBlock(Block.Properties.of(Material.STONE, MaterialColor.NETHER).strength(3.0f, 3.0f)));
        HOPPER = register("hopper", new HopperBlock(Block.Properties.of(Material.METAL, MaterialColor.STONE).strength(3.0f, 4.8f).sound(SoundType.METAL).noOcclusion()));
        QUARTZ_BLOCK = register("quartz_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(0.8f)));
        CHISELED_QUARTZ_BLOCK = register("chiseled_quartz_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(0.8f)));
        QUARTZ_PILLAR = register("quartz_pillar", new RotatedPillarBlock(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(0.8f)));
        QUARTZ_STAIRS = register("quartz_stairs", new StairBlock(Blocks.QUARTZ_BLOCK.defaultBlockState(), Block.Properties.copy(Blocks.QUARTZ_BLOCK)));
        ACTIVATOR_RAIL = register("activator_rail", new PoweredRailBlock(Block.Properties.of(Material.DECORATION).noCollission().strength(0.7f).sound(SoundType.METAL)));
        DROPPER = register("dropper", new DropperBlock(Block.Properties.of(Material.STONE).strength(3.5f)));
        WHITE_TERRACOTTA = register("white_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_WHITE).strength(1.25f, 4.2f)));
        ORANGE_TERRACOTTA = register("orange_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_ORANGE).strength(1.25f, 4.2f)));
        MAGENTA_TERRACOTTA = register("magenta_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_MAGENTA).strength(1.25f, 4.2f)));
        LIGHT_BLUE_TERRACOTTA = register("light_blue_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_LIGHT_BLUE).strength(1.25f, 4.2f)));
        YELLOW_TERRACOTTA = register("yellow_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_YELLOW).strength(1.25f, 4.2f)));
        LIME_TERRACOTTA = register("lime_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_LIGHT_GREEN).strength(1.25f, 4.2f)));
        PINK_TERRACOTTA = register("pink_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_PINK).strength(1.25f, 4.2f)));
        GRAY_TERRACOTTA = register("gray_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_GRAY).strength(1.25f, 4.2f)));
        LIGHT_GRAY_TERRACOTTA = register("light_gray_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_LIGHT_GRAY).strength(1.25f, 4.2f)));
        CYAN_TERRACOTTA = register("cyan_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_CYAN).strength(1.25f, 4.2f)));
        PURPLE_TERRACOTTA = register("purple_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_PURPLE).strength(1.25f, 4.2f)));
        BLUE_TERRACOTTA = register("blue_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_BLUE).strength(1.25f, 4.2f)));
        BROWN_TERRACOTTA = register("brown_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_BROWN).strength(1.25f, 4.2f)));
        GREEN_TERRACOTTA = register("green_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_GREEN).strength(1.25f, 4.2f)));
        RED_TERRACOTTA = register("red_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_RED).strength(1.25f, 4.2f)));
        BLACK_TERRACOTTA = register("black_terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.TERRACOTTA_BLACK).strength(1.25f, 4.2f)));
        WHITE_STAINED_GLASS_PANE = register("white_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.WHITE, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        ORANGE_STAINED_GLASS_PANE = register("orange_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.ORANGE, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        MAGENTA_STAINED_GLASS_PANE = register("magenta_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.MAGENTA, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LIGHT_BLUE_STAINED_GLASS_PANE = register("light_blue_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        YELLOW_STAINED_GLASS_PANE = register("yellow_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.YELLOW, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LIME_STAINED_GLASS_PANE = register("lime_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.LIME, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        PINK_STAINED_GLASS_PANE = register("pink_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.PINK, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        GRAY_STAINED_GLASS_PANE = register("gray_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.GRAY, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        LIGHT_GRAY_STAINED_GLASS_PANE = register("light_gray_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        CYAN_STAINED_GLASS_PANE = register("cyan_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.CYAN, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        PURPLE_STAINED_GLASS_PANE = register("purple_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.PURPLE, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        BLUE_STAINED_GLASS_PANE = register("blue_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.BLUE, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        BROWN_STAINED_GLASS_PANE = register("brown_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.BROWN, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        GREEN_STAINED_GLASS_PANE = register("green_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.GREEN, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        RED_STAINED_GLASS_PANE = register("red_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.RED, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        BLACK_STAINED_GLASS_PANE = register("black_stained_glass_pane", new StainedGlassPaneBlock(DyeColor.BLACK, Block.Properties.of(Material.GLASS).strength(0.3f).sound(SoundType.GLASS).noOcclusion()));
        ACACIA_STAIRS = register("acacia_stairs", new StairBlock(Blocks.ACACIA_PLANKS.defaultBlockState(), Block.Properties.copy(Blocks.ACACIA_PLANKS)));
        DARK_OAK_STAIRS = register("dark_oak_stairs", new StairBlock(Blocks.DARK_OAK_PLANKS.defaultBlockState(), Block.Properties.copy(Blocks.DARK_OAK_PLANKS)));
        SLIME_BLOCK = register("slime_block", new SlimeBlock(Block.Properties.of(Material.CLAY, MaterialColor.GRASS).friction(0.8f).sound(SoundType.SLIME_BLOCK).noOcclusion()));
        BARRIER = register("barrier", new BarrierBlock(Block.Properties.of(Material.BARRIER).strength(-1.0f, 3600000.8f).noDrops().noOcclusion()));
        IRON_TRAPDOOR = register("iron_trapdoor", new TrapDoorBlock(Block.Properties.of(Material.METAL).strength(5.0f).sound(SoundType.METAL).noOcclusion()));
        PRISMARINE = register("prismarine", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_CYAN).strength(1.5f, 6.0f)));
        PRISMARINE_BRICKS = register("prismarine_bricks", new Block(Block.Properties.of(Material.STONE, MaterialColor.DIAMOND).strength(1.5f, 6.0f)));
        DARK_PRISMARINE = register("dark_prismarine", new Block(Block.Properties.of(Material.STONE, MaterialColor.DIAMOND).strength(1.5f, 6.0f)));
        PRISMARINE_STAIRS = register("prismarine_stairs", new StairBlock(Blocks.PRISMARINE.defaultBlockState(), Block.Properties.copy(Blocks.PRISMARINE)));
        PRISMARINE_BRICK_STAIRS = register("prismarine_brick_stairs", new StairBlock(Blocks.PRISMARINE_BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.PRISMARINE_BRICKS)));
        DARK_PRISMARINE_STAIRS = register("dark_prismarine_stairs", new StairBlock(Blocks.DARK_PRISMARINE.defaultBlockState(), Block.Properties.copy(Blocks.DARK_PRISMARINE)));
        PRISMARINE_SLAB = register("prismarine_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_CYAN).strength(1.5f, 6.0f)));
        PRISMARINE_BRICK_SLAB = register("prismarine_brick_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.DIAMOND).strength(1.5f, 6.0f)));
        DARK_PRISMARINE_SLAB = register("dark_prismarine_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.DIAMOND).strength(1.5f, 6.0f)));
        SEA_LANTERN = register("sea_lantern", new Block(Block.Properties.of(Material.GLASS, MaterialColor.QUARTZ).strength(0.3f).sound(SoundType.GLASS).lightLevel(15)));
        HAY_BLOCK = register("hay_block", new HayBlock(Block.Properties.of(Material.GRASS, MaterialColor.COLOR_YELLOW).strength(0.5f).sound(SoundType.GRASS)));
        WHITE_CARPET = register("white_carpet", new WoolCarpetBlock(DyeColor.WHITE, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.SNOW).strength(0.1f).sound(SoundType.WOOL)));
        ORANGE_CARPET = register("orange_carpet", new WoolCarpetBlock(DyeColor.ORANGE, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_ORANGE).strength(0.1f).sound(SoundType.WOOL)));
        MAGENTA_CARPET = register("magenta_carpet", new WoolCarpetBlock(DyeColor.MAGENTA, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_MAGENTA).strength(0.1f).sound(SoundType.WOOL)));
        LIGHT_BLUE_CARPET = register("light_blue_carpet", new WoolCarpetBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_LIGHT_BLUE).strength(0.1f).sound(SoundType.WOOL)));
        YELLOW_CARPET = register("yellow_carpet", new WoolCarpetBlock(DyeColor.YELLOW, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_YELLOW).strength(0.1f).sound(SoundType.WOOL)));
        LIME_CARPET = register("lime_carpet", new WoolCarpetBlock(DyeColor.LIME, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_LIGHT_GREEN).strength(0.1f).sound(SoundType.WOOL)));
        PINK_CARPET = register("pink_carpet", new WoolCarpetBlock(DyeColor.PINK, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_PINK).strength(0.1f).sound(SoundType.WOOL)));
        GRAY_CARPET = register("gray_carpet", new WoolCarpetBlock(DyeColor.GRAY, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_GRAY).strength(0.1f).sound(SoundType.WOOL)));
        LIGHT_GRAY_CARPET = register("light_gray_carpet", new WoolCarpetBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_LIGHT_GRAY).strength(0.1f).sound(SoundType.WOOL)));
        CYAN_CARPET = register("cyan_carpet", new WoolCarpetBlock(DyeColor.CYAN, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_CYAN).strength(0.1f).sound(SoundType.WOOL)));
        PURPLE_CARPET = register("purple_carpet", new WoolCarpetBlock(DyeColor.PURPLE, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_PURPLE).strength(0.1f).sound(SoundType.WOOL)));
        BLUE_CARPET = register("blue_carpet", new WoolCarpetBlock(DyeColor.BLUE, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_BLUE).strength(0.1f).sound(SoundType.WOOL)));
        BROWN_CARPET = register("brown_carpet", new WoolCarpetBlock(DyeColor.BROWN, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_BROWN).strength(0.1f).sound(SoundType.WOOL)));
        GREEN_CARPET = register("green_carpet", new WoolCarpetBlock(DyeColor.GREEN, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_GREEN).strength(0.1f).sound(SoundType.WOOL)));
        RED_CARPET = register("red_carpet", new WoolCarpetBlock(DyeColor.RED, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_RED).strength(0.1f).sound(SoundType.WOOL)));
        BLACK_CARPET = register("black_carpet", new WoolCarpetBlock(DyeColor.BLACK, Block.Properties.of(Material.CLOTH_DECORATION, MaterialColor.COLOR_BLACK).strength(0.1f).sound(SoundType.WOOL)));
        TERRACOTTA = register("terracotta", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(1.25f, 4.2f)));
        COAL_BLOCK = register("coal_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_BLACK).strength(5.0f, 6.0f)));
        PACKED_ICE = register("packed_ice", new Block(Block.Properties.of(Material.ICE_SOLID).friction(0.98f).strength(0.5f).sound(SoundType.GLASS)));
        SUNFLOWER = register("sunflower", new TallFlowerBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        LILAC = register("lilac", new TallFlowerBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        ROSE_BUSH = register("rose_bush", new TallFlowerBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        PEONY = register("peony", new TallFlowerBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        TALL_GRASS = register("tall_grass", new DoublePlantBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        LARGE_FERN = register("large_fern", new DoublePlantBlock(Block.Properties.of(Material.REPLACEABLE_PLANT).noCollission().instabreak().sound(SoundType.GRASS)));
        WHITE_BANNER = register("white_banner", new BannerBlock(DyeColor.WHITE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        ORANGE_BANNER = register("orange_banner", new BannerBlock(DyeColor.ORANGE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        MAGENTA_BANNER = register("magenta_banner", new BannerBlock(DyeColor.MAGENTA, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        LIGHT_BLUE_BANNER = register("light_blue_banner", new BannerBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        YELLOW_BANNER = register("yellow_banner", new BannerBlock(DyeColor.YELLOW, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        LIME_BANNER = register("lime_banner", new BannerBlock(DyeColor.LIME, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        PINK_BANNER = register("pink_banner", new BannerBlock(DyeColor.PINK, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        GRAY_BANNER = register("gray_banner", new BannerBlock(DyeColor.GRAY, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        LIGHT_GRAY_BANNER = register("light_gray_banner", new BannerBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        CYAN_BANNER = register("cyan_banner", new BannerBlock(DyeColor.CYAN, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        PURPLE_BANNER = register("purple_banner", new BannerBlock(DyeColor.PURPLE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        BLUE_BANNER = register("blue_banner", new BannerBlock(DyeColor.BLUE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        BROWN_BANNER = register("brown_banner", new BannerBlock(DyeColor.BROWN, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        GREEN_BANNER = register("green_banner", new BannerBlock(DyeColor.GREEN, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        RED_BANNER = register("red_banner", new BannerBlock(DyeColor.RED, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        BLACK_BANNER = register("black_banner", new BannerBlock(DyeColor.BLACK, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD)));
        WHITE_WALL_BANNER = register("white_wall_banner", new WallBannerBlock(DyeColor.WHITE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.WHITE_BANNER)));
        ORANGE_WALL_BANNER = register("orange_wall_banner", new WallBannerBlock(DyeColor.ORANGE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.ORANGE_BANNER)));
        MAGENTA_WALL_BANNER = register("magenta_wall_banner", new WallBannerBlock(DyeColor.MAGENTA, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.MAGENTA_BANNER)));
        LIGHT_BLUE_WALL_BANNER = register("light_blue_wall_banner", new WallBannerBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.LIGHT_BLUE_BANNER)));
        YELLOW_WALL_BANNER = register("yellow_wall_banner", new WallBannerBlock(DyeColor.YELLOW, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.YELLOW_BANNER)));
        LIME_WALL_BANNER = register("lime_wall_banner", new WallBannerBlock(DyeColor.LIME, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.LIME_BANNER)));
        PINK_WALL_BANNER = register("pink_wall_banner", new WallBannerBlock(DyeColor.PINK, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.PINK_BANNER)));
        GRAY_WALL_BANNER = register("gray_wall_banner", new WallBannerBlock(DyeColor.GRAY, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.GRAY_BANNER)));
        LIGHT_GRAY_WALL_BANNER = register("light_gray_wall_banner", new WallBannerBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.LIGHT_GRAY_BANNER)));
        CYAN_WALL_BANNER = register("cyan_wall_banner", new WallBannerBlock(DyeColor.CYAN, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.CYAN_BANNER)));
        PURPLE_WALL_BANNER = register("purple_wall_banner", new WallBannerBlock(DyeColor.PURPLE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.PURPLE_BANNER)));
        BLUE_WALL_BANNER = register("blue_wall_banner", new WallBannerBlock(DyeColor.BLUE, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.BLUE_BANNER)));
        BROWN_WALL_BANNER = register("brown_wall_banner", new WallBannerBlock(DyeColor.BROWN, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.BROWN_BANNER)));
        GREEN_WALL_BANNER = register("green_wall_banner", new WallBannerBlock(DyeColor.GREEN, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.GREEN_BANNER)));
        RED_WALL_BANNER = register("red_wall_banner", new WallBannerBlock(DyeColor.RED, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.RED_BANNER)));
        BLACK_WALL_BANNER = register("black_wall_banner", new WallBannerBlock(DyeColor.BLACK, Block.Properties.of(Material.WOOD).noCollission().strength(1.0f).sound(SoundType.WOOD).dropsLike(Blocks.BLACK_BANNER)));
        RED_SANDSTONE = register("red_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(0.8f)));
        CHISELED_RED_SANDSTONE = register("chiseled_red_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(0.8f)));
        CUT_RED_SANDSTONE = register("cut_red_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(0.8f)));
        RED_SANDSTONE_STAIRS = register("red_sandstone_stairs", new StairBlock(Blocks.RED_SANDSTONE.defaultBlockState(), Block.Properties.copy(Blocks.RED_SANDSTONE)));
        OAK_SLAB = register("oak_slab", new SlabBlock(Block.Properties.of(Material.WOOD, MaterialColor.WOOD).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        SPRUCE_SLAB = register("spruce_slab", new SlabBlock(Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        BIRCH_SLAB = register("birch_slab", new SlabBlock(Block.Properties.of(Material.WOOD, MaterialColor.SAND).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        JUNGLE_SLAB = register("jungle_slab", new SlabBlock(Block.Properties.of(Material.WOOD, MaterialColor.DIRT).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        ACACIA_SLAB = register("acacia_slab", new SlabBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_ORANGE).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        DARK_OAK_SLAB = register("dark_oak_slab", new SlabBlock(Block.Properties.of(Material.WOOD, MaterialColor.COLOR_BROWN).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        STONE_SLAB = register("stone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(2.0f, 6.0f)));
        SMOOTH_STONE_SLAB = register("smooth_stone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(2.0f, 6.0f)));
        SANDSTONE_SLAB = register("sandstone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(2.0f, 6.0f)));
        CUT_SANDSTONE_SLAB = register("cut_sandstone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(2.0f, 6.0f)));
        PETRIFIED_OAK_SLAB = register("petrified_oak_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.WOOD).strength(2.0f, 6.0f)));
        COBBLESTONE_SLAB = register("cobblestone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(2.0f, 6.0f)));
        BRICK_SLAB = register("brick_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_RED).strength(2.0f, 6.0f)));
        STONE_BRICK_SLAB = register("stone_brick_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(2.0f, 6.0f)));
        NETHER_BRICK_SLAB = register("nether_brick_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.NETHER).strength(2.0f, 6.0f)));
        QUARTZ_SLAB = register("quartz_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(2.0f, 6.0f)));
        RED_SANDSTONE_SLAB = register("red_sandstone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(2.0f, 6.0f)));
        CUT_RED_SANDSTONE_SLAB = register("cut_red_sandstone_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(2.0f, 6.0f)));
        PURPUR_SLAB = register("purpur_slab", new SlabBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_MAGENTA).strength(2.0f, 6.0f)));
        SMOOTH_STONE = register("smooth_stone", new Block(Block.Properties.of(Material.STONE, MaterialColor.STONE).strength(2.0f, 6.0f)));
        SMOOTH_SANDSTONE = register("smooth_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(2.0f, 6.0f)));
        SMOOTH_QUARTZ = register("smooth_quartz", new Block(Block.Properties.of(Material.STONE, MaterialColor.QUARTZ).strength(2.0f, 6.0f)));
        SMOOTH_RED_SANDSTONE = register("smooth_red_sandstone", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_ORANGE).strength(2.0f, 6.0f)));
        SPRUCE_FENCE_GATE = register("spruce_fence_gate", new FenceGateBlock(Block.Properties.of(Material.WOOD, Blocks.SPRUCE_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        BIRCH_FENCE_GATE = register("birch_fence_gate", new FenceGateBlock(Block.Properties.of(Material.WOOD, Blocks.BIRCH_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        JUNGLE_FENCE_GATE = register("jungle_fence_gate", new FenceGateBlock(Block.Properties.of(Material.WOOD, Blocks.JUNGLE_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        ACACIA_FENCE_GATE = register("acacia_fence_gate", new FenceGateBlock(Block.Properties.of(Material.WOOD, Blocks.ACACIA_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        DARK_OAK_FENCE_GATE = register("dark_oak_fence_gate", new FenceGateBlock(Block.Properties.of(Material.WOOD, Blocks.DARK_OAK_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        SPRUCE_FENCE = register("spruce_fence", new FenceBlock(Block.Properties.of(Material.WOOD, Blocks.SPRUCE_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        BIRCH_FENCE = register("birch_fence", new FenceBlock(Block.Properties.of(Material.WOOD, Blocks.BIRCH_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        JUNGLE_FENCE = register("jungle_fence", new FenceBlock(Block.Properties.of(Material.WOOD, Blocks.JUNGLE_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        ACACIA_FENCE = register("acacia_fence", new FenceBlock(Block.Properties.of(Material.WOOD, Blocks.ACACIA_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        DARK_OAK_FENCE = register("dark_oak_fence", new FenceBlock(Block.Properties.of(Material.WOOD, Blocks.DARK_OAK_PLANKS.materialColor).strength(2.0f, 3.0f).sound(SoundType.WOOD)));
        SPRUCE_DOOR = register("spruce_door", new DoorBlock(Block.Properties.of(Material.WOOD, Blocks.SPRUCE_PLANKS.materialColor).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        BIRCH_DOOR = register("birch_door", new DoorBlock(Block.Properties.of(Material.WOOD, Blocks.BIRCH_PLANKS.materialColor).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        JUNGLE_DOOR = register("jungle_door", new DoorBlock(Block.Properties.of(Material.WOOD, Blocks.JUNGLE_PLANKS.materialColor).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        ACACIA_DOOR = register("acacia_door", new DoorBlock(Block.Properties.of(Material.WOOD, Blocks.ACACIA_PLANKS.materialColor).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        DARK_OAK_DOOR = register("dark_oak_door", new DoorBlock(Block.Properties.of(Material.WOOD, Blocks.DARK_OAK_PLANKS.materialColor).strength(3.0f).sound(SoundType.WOOD).noOcclusion()));
        END_ROD = register("end_rod", new EndRodBlock(Block.Properties.of(Material.DECORATION).instabreak().lightLevel(14).sound(SoundType.WOOD).noOcclusion()));
        CHORUS_PLANT = register("chorus_plant", new ChorusPlantBlock(Block.Properties.of(Material.PLANT, MaterialColor.COLOR_PURPLE).strength(0.4f).sound(SoundType.WOOD).noOcclusion()));
        CHORUS_FLOWER = register("chorus_flower", new ChorusFlowerBlock((ChorusPlantBlock)Blocks.CHORUS_PLANT, Block.Properties.of(Material.PLANT, MaterialColor.COLOR_PURPLE).randomTicks().strength(0.4f).sound(SoundType.WOOD).noOcclusion()));
        PURPUR_BLOCK = register("purpur_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_MAGENTA).strength(1.5f, 6.0f)));
        PURPUR_PILLAR = register("purpur_pillar", new RotatedPillarBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_MAGENTA).strength(1.5f, 6.0f)));
        PURPUR_STAIRS = register("purpur_stairs", new StairBlock(Blocks.PURPUR_BLOCK.defaultBlockState(), Block.Properties.copy(Blocks.PURPUR_BLOCK)));
        END_STONE_BRICKS = register("end_stone_bricks", new Block(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(3.0f, 9.0f)));
        BEETROOTS = register("beetroots", new BeetrootBlock(Block.Properties.of(Material.PLANT).noCollission().randomTicks().instabreak().sound(SoundType.CROP)));
        GRASS_PATH = register("grass_path", new GrassPathBlock(Block.Properties.of(Material.DIRT).strength(0.65f).sound(SoundType.GRASS)));
        END_GATEWAY = register("end_gateway", new EndGatewayBlock(Block.Properties.of(Material.PORTAL, MaterialColor.COLOR_BLACK).noCollission().lightLevel(15).strength(-1.0f, 3600000.0f).noDrops()));
        REPEATING_COMMAND_BLOCK = register("repeating_command_block", new CommandBlock(Block.Properties.of(Material.METAL, MaterialColor.COLOR_PURPLE).strength(-1.0f, 3600000.0f).noDrops()));
        CHAIN_COMMAND_BLOCK = register("chain_command_block", new CommandBlock(Block.Properties.of(Material.METAL, MaterialColor.COLOR_GREEN).strength(-1.0f, 3600000.0f).noDrops()));
        FROSTED_ICE = register("frosted_ice", new FrostedIceBlock(Block.Properties.of(Material.ICE).friction(0.98f).randomTicks().strength(0.5f).sound(SoundType.GLASS).noOcclusion()));
        MAGMA_BLOCK = register("magma_block", new MagmaBlock(Block.Properties.of(Material.STONE, MaterialColor.NETHER).lightLevel(3).randomTicks().strength(0.5f)));
        NETHER_WART_BLOCK = register("nether_wart_block", new Block(Block.Properties.of(Material.GRASS, MaterialColor.COLOR_RED).strength(1.0f).sound(SoundType.WOOD)));
        RED_NETHER_BRICKS = register("red_nether_bricks", new Block(Block.Properties.of(Material.STONE, MaterialColor.NETHER).strength(2.0f, 6.0f)));
        BONE_BLOCK = register("bone_block", new RotatedPillarBlock(Block.Properties.of(Material.STONE, MaterialColor.SAND).strength(2.0f)));
        STRUCTURE_VOID = register("structure_void", new StructureVoidBlock(Block.Properties.of(Material.STRUCTURAL_AIR).noCollission().noDrops()));
        OBSERVER = register("observer", new ObserverBlock(Block.Properties.of(Material.STONE).strength(3.0f)));
        SHULKER_BOX = register("shulker_box", new ShulkerBoxBlock(null, Block.Properties.of(Material.SHULKER_SHELL).strength(2.0f).dynamicShape().noOcclusion()));
        WHITE_SHULKER_BOX = register("white_shulker_box", new ShulkerBoxBlock(DyeColor.WHITE, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.SNOW).strength(2.0f).dynamicShape().noOcclusion()));
        ORANGE_SHULKER_BOX = register("orange_shulker_box", new ShulkerBoxBlock(DyeColor.ORANGE, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_ORANGE).strength(2.0f).dynamicShape().noOcclusion()));
        MAGENTA_SHULKER_BOX = register("magenta_shulker_box", new ShulkerBoxBlock(DyeColor.MAGENTA, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_MAGENTA).strength(2.0f).dynamicShape().noOcclusion()));
        LIGHT_BLUE_SHULKER_BOX = register("light_blue_shulker_box", new ShulkerBoxBlock(DyeColor.LIGHT_BLUE, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_LIGHT_BLUE).strength(2.0f).dynamicShape().noOcclusion()));
        YELLOW_SHULKER_BOX = register("yellow_shulker_box", new ShulkerBoxBlock(DyeColor.YELLOW, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_YELLOW).strength(2.0f).dynamicShape().noOcclusion()));
        LIME_SHULKER_BOX = register("lime_shulker_box", new ShulkerBoxBlock(DyeColor.LIME, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_LIGHT_GREEN).strength(2.0f).dynamicShape().noOcclusion()));
        PINK_SHULKER_BOX = register("pink_shulker_box", new ShulkerBoxBlock(DyeColor.PINK, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_PINK).strength(2.0f).dynamicShape().noOcclusion()));
        GRAY_SHULKER_BOX = register("gray_shulker_box", new ShulkerBoxBlock(DyeColor.GRAY, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_GRAY).strength(2.0f).dynamicShape().noOcclusion()));
        LIGHT_GRAY_SHULKER_BOX = register("light_gray_shulker_box", new ShulkerBoxBlock(DyeColor.LIGHT_GRAY, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_LIGHT_GRAY).strength(2.0f).dynamicShape().noOcclusion()));
        CYAN_SHULKER_BOX = register("cyan_shulker_box", new ShulkerBoxBlock(DyeColor.CYAN, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_CYAN).strength(2.0f).dynamicShape().noOcclusion()));
        PURPLE_SHULKER_BOX = register("purple_shulker_box", new ShulkerBoxBlock(DyeColor.PURPLE, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.TERRACOTTA_PURPLE).strength(2.0f).dynamicShape().noOcclusion()));
        BLUE_SHULKER_BOX = register("blue_shulker_box", new ShulkerBoxBlock(DyeColor.BLUE, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_BLUE).strength(2.0f).dynamicShape().noOcclusion()));
        BROWN_SHULKER_BOX = register("brown_shulker_box", new ShulkerBoxBlock(DyeColor.BROWN, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_BROWN).strength(2.0f).dynamicShape().noOcclusion()));
        GREEN_SHULKER_BOX = register("green_shulker_box", new ShulkerBoxBlock(DyeColor.GREEN, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_GREEN).strength(2.0f).dynamicShape().noOcclusion()));
        RED_SHULKER_BOX = register("red_shulker_box", new ShulkerBoxBlock(DyeColor.RED, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_RED).strength(2.0f).dynamicShape().noOcclusion()));
        BLACK_SHULKER_BOX = register("black_shulker_box", new ShulkerBoxBlock(DyeColor.BLACK, Block.Properties.of(Material.SHULKER_SHELL, MaterialColor.COLOR_BLACK).strength(2.0f).dynamicShape().noOcclusion()));
        WHITE_GLAZED_TERRACOTTA = register("white_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.WHITE).strength(1.4f)));
        ORANGE_GLAZED_TERRACOTTA = register("orange_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.ORANGE).strength(1.4f)));
        MAGENTA_GLAZED_TERRACOTTA = register("magenta_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.MAGENTA).strength(1.4f)));
        LIGHT_BLUE_GLAZED_TERRACOTTA = register("light_blue_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.LIGHT_BLUE).strength(1.4f)));
        YELLOW_GLAZED_TERRACOTTA = register("yellow_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.YELLOW).strength(1.4f)));
        LIME_GLAZED_TERRACOTTA = register("lime_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.LIME).strength(1.4f)));
        PINK_GLAZED_TERRACOTTA = register("pink_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.PINK).strength(1.4f)));
        GRAY_GLAZED_TERRACOTTA = register("gray_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.GRAY).strength(1.4f)));
        LIGHT_GRAY_GLAZED_TERRACOTTA = register("light_gray_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.LIGHT_GRAY).strength(1.4f)));
        CYAN_GLAZED_TERRACOTTA = register("cyan_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.CYAN).strength(1.4f)));
        PURPLE_GLAZED_TERRACOTTA = register("purple_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.PURPLE).strength(1.4f)));
        BLUE_GLAZED_TERRACOTTA = register("blue_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.BLUE).strength(1.4f)));
        BROWN_GLAZED_TERRACOTTA = register("brown_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.BROWN).strength(1.4f)));
        GREEN_GLAZED_TERRACOTTA = register("green_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.GREEN).strength(1.4f)));
        RED_GLAZED_TERRACOTTA = register("red_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.RED).strength(1.4f)));
        BLACK_GLAZED_TERRACOTTA = register("black_glazed_terracotta", new GlazedTerracottaBlock(Block.Properties.of(Material.STONE, DyeColor.BLACK).strength(1.4f)));
        WHITE_CONCRETE = register("white_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.WHITE).strength(1.8f)));
        ORANGE_CONCRETE = register("orange_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.ORANGE).strength(1.8f)));
        MAGENTA_CONCRETE = register("magenta_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.MAGENTA).strength(1.8f)));
        LIGHT_BLUE_CONCRETE = register("light_blue_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.LIGHT_BLUE).strength(1.8f)));
        YELLOW_CONCRETE = register("yellow_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.YELLOW).strength(1.8f)));
        LIME_CONCRETE = register("lime_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.LIME).strength(1.8f)));
        PINK_CONCRETE = register("pink_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.PINK).strength(1.8f)));
        GRAY_CONCRETE = register("gray_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.GRAY).strength(1.8f)));
        LIGHT_GRAY_CONCRETE = register("light_gray_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.LIGHT_GRAY).strength(1.8f)));
        CYAN_CONCRETE = register("cyan_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.CYAN).strength(1.8f)));
        PURPLE_CONCRETE = register("purple_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.PURPLE).strength(1.8f)));
        BLUE_CONCRETE = register("blue_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.BLUE).strength(1.8f)));
        BROWN_CONCRETE = register("brown_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.BROWN).strength(1.8f)));
        GREEN_CONCRETE = register("green_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.GREEN).strength(1.8f)));
        RED_CONCRETE = register("red_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.RED).strength(1.8f)));
        BLACK_CONCRETE = register("black_concrete", new Block(Block.Properties.of(Material.STONE, DyeColor.BLACK).strength(1.8f)));
        WHITE_CONCRETE_POWDER = register("white_concrete_powder", new ConcretePowderBlock(Blocks.WHITE_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.WHITE).strength(0.5f).sound(SoundType.SAND)));
        ORANGE_CONCRETE_POWDER = register("orange_concrete_powder", new ConcretePowderBlock(Blocks.ORANGE_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.ORANGE).strength(0.5f).sound(SoundType.SAND)));
        MAGENTA_CONCRETE_POWDER = register("magenta_concrete_powder", new ConcretePowderBlock(Blocks.MAGENTA_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.MAGENTA).strength(0.5f).sound(SoundType.SAND)));
        LIGHT_BLUE_CONCRETE_POWDER = register("light_blue_concrete_powder", new ConcretePowderBlock(Blocks.LIGHT_BLUE_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.LIGHT_BLUE).strength(0.5f).sound(SoundType.SAND)));
        YELLOW_CONCRETE_POWDER = register("yellow_concrete_powder", new ConcretePowderBlock(Blocks.YELLOW_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.YELLOW).strength(0.5f).sound(SoundType.SAND)));
        LIME_CONCRETE_POWDER = register("lime_concrete_powder", new ConcretePowderBlock(Blocks.LIME_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.LIME).strength(0.5f).sound(SoundType.SAND)));
        PINK_CONCRETE_POWDER = register("pink_concrete_powder", new ConcretePowderBlock(Blocks.PINK_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.PINK).strength(0.5f).sound(SoundType.SAND)));
        GRAY_CONCRETE_POWDER = register("gray_concrete_powder", new ConcretePowderBlock(Blocks.GRAY_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.GRAY).strength(0.5f).sound(SoundType.SAND)));
        LIGHT_GRAY_CONCRETE_POWDER = register("light_gray_concrete_powder", new ConcretePowderBlock(Blocks.LIGHT_GRAY_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.LIGHT_GRAY).strength(0.5f).sound(SoundType.SAND)));
        CYAN_CONCRETE_POWDER = register("cyan_concrete_powder", new ConcretePowderBlock(Blocks.CYAN_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.CYAN).strength(0.5f).sound(SoundType.SAND)));
        PURPLE_CONCRETE_POWDER = register("purple_concrete_powder", new ConcretePowderBlock(Blocks.PURPLE_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.PURPLE).strength(0.5f).sound(SoundType.SAND)));
        BLUE_CONCRETE_POWDER = register("blue_concrete_powder", new ConcretePowderBlock(Blocks.BLUE_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.BLUE).strength(0.5f).sound(SoundType.SAND)));
        BROWN_CONCRETE_POWDER = register("brown_concrete_powder", new ConcretePowderBlock(Blocks.BROWN_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.BROWN).strength(0.5f).sound(SoundType.SAND)));
        GREEN_CONCRETE_POWDER = register("green_concrete_powder", new ConcretePowderBlock(Blocks.GREEN_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.GREEN).strength(0.5f).sound(SoundType.SAND)));
        RED_CONCRETE_POWDER = register("red_concrete_powder", new ConcretePowderBlock(Blocks.RED_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.RED).strength(0.5f).sound(SoundType.SAND)));
        BLACK_CONCRETE_POWDER = register("black_concrete_powder", new ConcretePowderBlock(Blocks.BLACK_CONCRETE, Block.Properties.of(Material.SAND, DyeColor.BLACK).strength(0.5f).sound(SoundType.SAND)));
        KELP = register("kelp", new KelpBlock(Block.Properties.of(Material.WATER_PLANT).noCollission().randomTicks().instabreak().sound(SoundType.WET_GRASS)));
        KELP_PLANT = register("kelp_plant", new KelpPlantBlock((KelpBlock)Blocks.KELP, Block.Properties.of(Material.WATER_PLANT).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        DRIED_KELP_BLOCK = register("dried_kelp_block", new Block(Block.Properties.of(Material.GRASS, MaterialColor.COLOR_GREEN).strength(0.5f, 2.5f).sound(SoundType.GRASS)));
        TURTLE_EGG = register("turtle_egg", new TurtleEggBlock(Block.Properties.of(Material.EGG, MaterialColor.SAND).strength(0.5f).sound(SoundType.METAL).randomTicks().noOcclusion()));
        DEAD_TUBE_CORAL_BLOCK = register("dead_tube_coral_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).strength(1.5f, 6.0f)));
        DEAD_BRAIN_CORAL_BLOCK = register("dead_brain_coral_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).strength(1.5f, 6.0f)));
        DEAD_BUBBLE_CORAL_BLOCK = register("dead_bubble_coral_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).strength(1.5f, 6.0f)));
        DEAD_FIRE_CORAL_BLOCK = register("dead_fire_coral_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).strength(1.5f, 6.0f)));
        DEAD_HORN_CORAL_BLOCK = register("dead_horn_coral_block", new Block(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).strength(1.5f, 6.0f)));
        TUBE_CORAL_BLOCK = register("tube_coral_block", new CoralBlock(Blocks.DEAD_TUBE_CORAL_BLOCK, Block.Properties.of(Material.STONE, MaterialColor.COLOR_BLUE).strength(1.5f, 6.0f).sound(SoundType.CORAL_BLOCK)));
        BRAIN_CORAL_BLOCK = register("brain_coral_block", new CoralBlock(Blocks.DEAD_BRAIN_CORAL_BLOCK, Block.Properties.of(Material.STONE, MaterialColor.COLOR_PINK).strength(1.5f, 6.0f).sound(SoundType.CORAL_BLOCK)));
        BUBBLE_CORAL_BLOCK = register("bubble_coral_block", new CoralBlock(Blocks.DEAD_BUBBLE_CORAL_BLOCK, Block.Properties.of(Material.STONE, MaterialColor.COLOR_PURPLE).strength(1.5f, 6.0f).sound(SoundType.CORAL_BLOCK)));
        FIRE_CORAL_BLOCK = register("fire_coral_block", new CoralBlock(Blocks.DEAD_FIRE_CORAL_BLOCK, Block.Properties.of(Material.STONE, MaterialColor.COLOR_RED).strength(1.5f, 6.0f).sound(SoundType.CORAL_BLOCK)));
        HORN_CORAL_BLOCK = register("horn_coral_block", new CoralBlock(Blocks.DEAD_HORN_CORAL_BLOCK, Block.Properties.of(Material.STONE, MaterialColor.COLOR_YELLOW).strength(1.5f, 6.0f).sound(SoundType.CORAL_BLOCK)));
        DEAD_TUBE_CORAL = register("dead_tube_coral", new BaseCoralPlantBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_BRAIN_CORAL = register("dead_brain_coral", new BaseCoralPlantBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_BUBBLE_CORAL = register("dead_bubble_coral", new BaseCoralPlantBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_FIRE_CORAL = register("dead_fire_coral", new BaseCoralPlantBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_HORN_CORAL = register("dead_horn_coral", new BaseCoralPlantBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        TUBE_CORAL = register("tube_coral", new CoralPlantBlock(Blocks.DEAD_TUBE_CORAL, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_BLUE).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        BRAIN_CORAL = register("brain_coral", new CoralPlantBlock(Blocks.DEAD_BRAIN_CORAL, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_PINK).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        BUBBLE_CORAL = register("bubble_coral", new CoralPlantBlock(Blocks.DEAD_BUBBLE_CORAL, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_PURPLE).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        FIRE_CORAL = register("fire_coral", new CoralPlantBlock(Blocks.DEAD_FIRE_CORAL, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_RED).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        HORN_CORAL = register("horn_coral", new CoralPlantBlock(Blocks.DEAD_HORN_CORAL, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_YELLOW).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        DEAD_TUBE_CORAL_FAN = register("dead_tube_coral_fan", new BaseCoralFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_BRAIN_CORAL_FAN = register("dead_brain_coral_fan", new BaseCoralFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_BUBBLE_CORAL_FAN = register("dead_bubble_coral_fan", new BaseCoralFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_FIRE_CORAL_FAN = register("dead_fire_coral_fan", new BaseCoralFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        DEAD_HORN_CORAL_FAN = register("dead_horn_coral_fan", new BaseCoralFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak()));
        TUBE_CORAL_FAN = register("tube_coral_fan", new CoralFanBlock(Blocks.DEAD_TUBE_CORAL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_BLUE).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        BRAIN_CORAL_FAN = register("brain_coral_fan", new CoralFanBlock(Blocks.DEAD_BRAIN_CORAL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_PINK).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        BUBBLE_CORAL_FAN = register("bubble_coral_fan", new CoralFanBlock(Blocks.DEAD_BUBBLE_CORAL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_PURPLE).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        FIRE_CORAL_FAN = register("fire_coral_fan", new CoralFanBlock(Blocks.DEAD_FIRE_CORAL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_RED).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        HORN_CORAL_FAN = register("horn_coral_fan", new CoralFanBlock(Blocks.DEAD_HORN_CORAL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_YELLOW).noCollission().instabreak().sound(SoundType.WET_GRASS)));
        DEAD_TUBE_CORAL_WALL_FAN = register("dead_tube_coral_wall_fan", new BaseCoralWallFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak().dropsLike(Blocks.DEAD_TUBE_CORAL_FAN)));
        DEAD_BRAIN_CORAL_WALL_FAN = register("dead_brain_coral_wall_fan", new BaseCoralWallFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak().dropsLike(Blocks.DEAD_BRAIN_CORAL_FAN)));
        DEAD_BUBBLE_CORAL_WALL_FAN = register("dead_bubble_coral_wall_fan", new BaseCoralWallFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak().dropsLike(Blocks.DEAD_BUBBLE_CORAL_FAN)));
        DEAD_FIRE_CORAL_WALL_FAN = register("dead_fire_coral_wall_fan", new BaseCoralWallFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak().dropsLike(Blocks.DEAD_FIRE_CORAL_FAN)));
        DEAD_HORN_CORAL_WALL_FAN = register("dead_horn_coral_wall_fan", new BaseCoralWallFanBlock(Block.Properties.of(Material.STONE, MaterialColor.COLOR_GRAY).noCollission().instabreak().dropsLike(Blocks.DEAD_HORN_CORAL_FAN)));
        TUBE_CORAL_WALL_FAN = register("tube_coral_wall_fan", new CoralWallFanBlock(Blocks.DEAD_TUBE_CORAL_WALL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_BLUE).noCollission().instabreak().sound(SoundType.WET_GRASS).dropsLike(Blocks.TUBE_CORAL_FAN)));
        BRAIN_CORAL_WALL_FAN = register("brain_coral_wall_fan", new CoralWallFanBlock(Blocks.DEAD_BRAIN_CORAL_WALL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_PINK).noCollission().instabreak().sound(SoundType.WET_GRASS).dropsLike(Blocks.BRAIN_CORAL_FAN)));
        BUBBLE_CORAL_WALL_FAN = register("bubble_coral_wall_fan", new CoralWallFanBlock(Blocks.DEAD_BUBBLE_CORAL_WALL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_PURPLE).noCollission().instabreak().sound(SoundType.WET_GRASS).dropsLike(Blocks.BUBBLE_CORAL_FAN)));
        FIRE_CORAL_WALL_FAN = register("fire_coral_wall_fan", new CoralWallFanBlock(Blocks.DEAD_FIRE_CORAL_WALL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_RED).noCollission().instabreak().sound(SoundType.WET_GRASS).dropsLike(Blocks.FIRE_CORAL_FAN)));
        HORN_CORAL_WALL_FAN = register("horn_coral_wall_fan", new CoralWallFanBlock(Blocks.DEAD_HORN_CORAL_WALL_FAN, Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_YELLOW).noCollission().instabreak().sound(SoundType.WET_GRASS).dropsLike(Blocks.HORN_CORAL_FAN)));
        SEA_PICKLE = register("sea_pickle", new SeaPickleBlock(Block.Properties.of(Material.WATER_PLANT, MaterialColor.COLOR_GREEN).lightLevel(3).sound(SoundType.SLIME_BLOCK).noOcclusion()));
        BLUE_ICE = register("blue_ice", new HalfTransparentBlock(Block.Properties.of(Material.ICE_SOLID).strength(2.8f).friction(0.989f).sound(SoundType.GLASS)));
        CONDUIT = register("conduit", new ConduitBlock(Block.Properties.of(Material.GLASS, MaterialColor.DIAMOND).strength(3.0f).lightLevel(15).noOcclusion()));
        BAMBOO_SAPLING = register("bamboo_sapling", new BambooSaplingBlock(Block.Properties.of(Material.BAMBOO_SAPLING).randomTicks().instabreak().noCollission().strength(1.0f).sound(SoundType.BAMBOO_SAPLING)));
        BAMBOO = register("bamboo", new BambooBlock(Block.Properties.of(Material.BAMBOO, MaterialColor.PLANT).randomTicks().instabreak().strength(1.0f).sound(SoundType.BAMBOO).noOcclusion()));
        POTTED_BAMBOO = register("potted_bamboo", new FlowerPotBlock(Blocks.BAMBOO, Block.Properties.of(Material.DECORATION).instabreak().noOcclusion()));
        VOID_AIR = register("void_air", new AirBlock(Block.Properties.of(Material.AIR).noCollission().noDrops()));
        CAVE_AIR = register("cave_air", new AirBlock(Block.Properties.of(Material.AIR).noCollission().noDrops()));
        BUBBLE_COLUMN = register("bubble_column", new BubbleColumnBlock(Block.Properties.of(Material.BUBBLE_COLUMN).noCollission().noDrops()));
        POLISHED_GRANITE_STAIRS = register("polished_granite_stairs", new StairBlock(Blocks.POLISHED_GRANITE.defaultBlockState(), Block.Properties.copy(Blocks.POLISHED_GRANITE)));
        SMOOTH_RED_SANDSTONE_STAIRS = register("smooth_red_sandstone_stairs", new StairBlock(Blocks.SMOOTH_RED_SANDSTONE.defaultBlockState(), Block.Properties.copy(Blocks.SMOOTH_RED_SANDSTONE)));
        MOSSY_STONE_BRICK_STAIRS = register("mossy_stone_brick_stairs", new StairBlock(Blocks.MOSSY_STONE_BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.MOSSY_STONE_BRICKS)));
        POLISHED_DIORITE_STAIRS = register("polished_diorite_stairs", new StairBlock(Blocks.POLISHED_DIORITE.defaultBlockState(), Block.Properties.copy(Blocks.POLISHED_DIORITE)));
        MOSSY_COBBLESTONE_STAIRS = register("mossy_cobblestone_stairs", new StairBlock(Blocks.MOSSY_COBBLESTONE.defaultBlockState(), Block.Properties.copy(Blocks.MOSSY_COBBLESTONE)));
        END_STONE_BRICK_STAIRS = register("end_stone_brick_stairs", new StairBlock(Blocks.END_STONE_BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.END_STONE_BRICKS)));
        STONE_STAIRS = register("stone_stairs", new StairBlock(Blocks.STONE.defaultBlockState(), Block.Properties.copy(Blocks.STONE)));
        SMOOTH_SANDSTONE_STAIRS = register("smooth_sandstone_stairs", new StairBlock(Blocks.SMOOTH_SANDSTONE.defaultBlockState(), Block.Properties.copy(Blocks.SMOOTH_SANDSTONE)));
        SMOOTH_QUARTZ_STAIRS = register("smooth_quartz_stairs", new StairBlock(Blocks.SMOOTH_QUARTZ.defaultBlockState(), Block.Properties.copy(Blocks.SMOOTH_QUARTZ)));
        GRANITE_STAIRS = register("granite_stairs", new StairBlock(Blocks.GRANITE.defaultBlockState(), Block.Properties.copy(Blocks.GRANITE)));
        ANDESITE_STAIRS = register("andesite_stairs", new StairBlock(Blocks.ANDESITE.defaultBlockState(), Block.Properties.copy(Blocks.ANDESITE)));
        RED_NETHER_BRICK_STAIRS = register("red_nether_brick_stairs", new StairBlock(Blocks.RED_NETHER_BRICKS.defaultBlockState(), Block.Properties.copy(Blocks.RED_NETHER_BRICKS)));
        POLISHED_ANDESITE_STAIRS = register("polished_andesite_stairs", new StairBlock(Blocks.POLISHED_ANDESITE.defaultBlockState(), Block.Properties.copy(Blocks.POLISHED_ANDESITE)));
        DIORITE_STAIRS = register("diorite_stairs", new StairBlock(Blocks.DIORITE.defaultBlockState(), Block.Properties.copy(Blocks.DIORITE)));
        POLISHED_GRANITE_SLAB = register("polished_granite_slab", new SlabBlock(Block.Properties.copy(Blocks.POLISHED_GRANITE)));
        SMOOTH_RED_SANDSTONE_SLAB = register("smooth_red_sandstone_slab", new SlabBlock(Block.Properties.copy(Blocks.SMOOTH_RED_SANDSTONE)));
        MOSSY_STONE_BRICK_SLAB = register("mossy_stone_brick_slab", new SlabBlock(Block.Properties.copy(Blocks.MOSSY_STONE_BRICKS)));
        POLISHED_DIORITE_SLAB = register("polished_diorite_slab", new SlabBlock(Block.Properties.copy(Blocks.POLISHED_DIORITE)));
        MOSSY_COBBLESTONE_SLAB = register("mossy_cobblestone_slab", new SlabBlock(Block.Properties.copy(Blocks.MOSSY_COBBLESTONE)));
        END_STONE_BRICK_SLAB = register("end_stone_brick_slab", new SlabBlock(Block.Properties.copy(Blocks.END_STONE_BRICKS)));
        SMOOTH_SANDSTONE_SLAB = register("smooth_sandstone_slab", new SlabBlock(Block.Properties.copy(Blocks.SMOOTH_SANDSTONE)));
        SMOOTH_QUARTZ_SLAB = register("smooth_quartz_slab", new SlabBlock(Block.Properties.copy(Blocks.SMOOTH_QUARTZ)));
        GRANITE_SLAB = register("granite_slab", new SlabBlock(Block.Properties.copy(Blocks.GRANITE)));
        ANDESITE_SLAB = register("andesite_slab", new SlabBlock(Block.Properties.copy(Blocks.ANDESITE)));
        RED_NETHER_BRICK_SLAB = register("red_nether_brick_slab", new SlabBlock(Block.Properties.copy(Blocks.RED_NETHER_BRICKS)));
        POLISHED_ANDESITE_SLAB = register("polished_andesite_slab", new SlabBlock(Block.Properties.copy(Blocks.POLISHED_ANDESITE)));
        DIORITE_SLAB = register("diorite_slab", new SlabBlock(Block.Properties.copy(Blocks.DIORITE)));
        BRICK_WALL = register("brick_wall", new WallBlock(Block.Properties.copy(Blocks.BRICKS)));
        PRISMARINE_WALL = register("prismarine_wall", new WallBlock(Block.Properties.copy(Blocks.PRISMARINE)));
        RED_SANDSTONE_WALL = register("red_sandstone_wall", new WallBlock(Block.Properties.copy(Blocks.RED_SANDSTONE)));
        MOSSY_STONE_BRICK_WALL = register("mossy_stone_brick_wall", new WallBlock(Block.Properties.copy(Blocks.MOSSY_STONE_BRICKS)));
        GRANITE_WALL = register("granite_wall", new WallBlock(Block.Properties.copy(Blocks.GRANITE)));
        STONE_BRICK_WALL = register("stone_brick_wall", new WallBlock(Block.Properties.copy(Blocks.STONE_BRICKS)));
        NETHER_BRICK_WALL = register("nether_brick_wall", new WallBlock(Block.Properties.copy(Blocks.NETHER_BRICKS)));
        ANDESITE_WALL = register("andesite_wall", new WallBlock(Block.Properties.copy(Blocks.ANDESITE)));
        RED_NETHER_BRICK_WALL = register("red_nether_brick_wall", new WallBlock(Block.Properties.copy(Blocks.RED_NETHER_BRICKS)));
        SANDSTONE_WALL = register("sandstone_wall", new WallBlock(Block.Properties.copy(Blocks.SANDSTONE)));
        END_STONE_BRICK_WALL = register("end_stone_brick_wall", new WallBlock(Block.Properties.copy(Blocks.END_STONE_BRICKS)));
        DIORITE_WALL = register("diorite_wall", new WallBlock(Block.Properties.copy(Blocks.DIORITE)));
        SCAFFOLDING = register("scaffolding", new ScaffoldingBlock(Block.Properties.of(Material.DECORATION, MaterialColor.SAND).noCollission().sound(SoundType.SCAFFOLDING).dynamicShape()));
        LOOM = register("loom", new LoomBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        BARREL = register("barrel", new BarrelBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        SMOKER = register("smoker", new SmokerBlock(Block.Properties.of(Material.STONE).strength(3.5f).lightLevel(13)));
        BLAST_FURNACE = register("blast_furnace", new BlastFurnaceBlock(Block.Properties.of(Material.STONE).strength(3.5f).lightLevel(13)));
        CARTOGRAPHY_TABLE = register("cartography_table", new CartographyTableBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        FLETCHING_TABLE = register("fletching_table", new FletchingTableBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        GRINDSTONE = register("grindstone", new GrindstoneBlock(Block.Properties.of(Material.HEAVY_METAL, MaterialColor.METAL).strength(2.0f, 6.0f).sound(SoundType.STONE)));
        LECTERN = register("lectern", new LecternBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        SMITHING_TABLE = register("smithing_table", new SmithingTableBlock(Block.Properties.of(Material.WOOD).strength(2.5f).sound(SoundType.WOOD)));
        STONECUTTER = register("stonecutter", new StonecutterBlock(Block.Properties.of(Material.STONE).strength(3.5f)));
        BELL = register("bell", new BellBlock(Block.Properties.of(Material.METAL, MaterialColor.GOLD).strength(5.0f).sound(SoundType.ANVIL)));
        LANTERN = register("lantern", new Lantern(Block.Properties.of(Material.METAL).strength(3.5f).sound(SoundType.LANTERN).lightLevel(15).noOcclusion()));
        CAMPFIRE = register("campfire", new CampfireBlock(Block.Properties.of(Material.WOOD, MaterialColor.PODZOL).strength(2.0f).sound(SoundType.WOOD).lightLevel(15).randomTicks().noOcclusion()));
        SWEET_BERRY_BUSH = register("sweet_berry_bush", new SweetBerryBushBlock(Block.Properties.of(Material.PLANT).randomTicks().noCollission().sound(SoundType.SWEET_BERRY_BUSH)));
        STRUCTURE_BLOCK = register("structure_block", new StructureBlock(Block.Properties.of(Material.METAL, MaterialColor.COLOR_LIGHT_GRAY).strength(-1.0f, 3600000.0f).noDrops()));
        JIGSAW = register("jigsaw", new JigsawBlock(Block.Properties.of(Material.METAL, MaterialColor.COLOR_LIGHT_GRAY).strength(-1.0f, 3600000.0f).noDrops()));
        COMPOSTER = register("composter", new ComposterBlock(Block.Properties.of(Material.WOOD).strength(0.6f).sound(SoundType.WOOD)));
        BEE_NEST = register("bee_nest", new BeehiveBlock(Block.Properties.of(Material.WOOD).strength(0.3f).sound(SoundType.WOOD)));
        BEEHIVE = register("beehive", new BeehiveBlock(Block.Properties.of(Material.WOOD).strength(0.6f).sound(SoundType.WOOD)));
        HONEY_BLOCK = register("honey_block", new HoneyBlock(Block.Properties.of(Material.CLAY, MaterialColor.COLOR_ORANGE).speedFactor(0.4f).jumpFactor(0.5f).noOcclusion().sound(SoundType.HONEY_BLOCK)));
        HONEYCOMB_BLOCK = register("honeycomb_block", new Block(Block.Properties.of(Material.CLAY, MaterialColor.COLOR_ORANGE).strength(0.6f).sound(SoundType.CORAL_BLOCK)));
        for (final Block bph2 : Registry.BLOCK) {
            for (final BlockState byj4 : bph2.getStateDefinition().getPossibleStates()) {
                byj4.initCache();
                Block.BLOCK_STATE_REGISTRY.add(byj4);
            }
            bph2.getLootTable();
        }
    }
}
