package ovh.glitchlabs.ornamentum.blocks; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.state.BlockBehaviour; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredRegister; import ovh.glitchlabs.ornamentum.Ornamentum; import ovh.glitchlabs.ornamentum.items.ModItems; import java.util.function.Supplier; public class ModBlocks { public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Ornamentum.MODID); //more bricks public static final DeferredBlock AMETIST_BRICKS = registerBlock("ametist_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.AMETHYST_BLOCK))); public static final DeferredBlock AMETIST_BRICKS_STAIRS = registerBlock("ametist_bricks_stairs", () -> new StairBlock(AMETIST_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(AMETIST_BRICKS.get()))); public static final DeferredBlock AMETIST_BRICKS_SLAB = registerBlock("ametist_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(AMETIST_BRICKS.get()))); public static final DeferredBlock POLISHED_ANDESITE_BRICKS = registerBlock("polished_andesite_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.POLISHED_ANDESITE))); public static final DeferredBlock POLISHED_ANDESITE_BRICKS_STAIRS = registerBlock("polished_andesite_bricks_stairs", () -> new StairBlock(POLISHED_ANDESITE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(POLISHED_ANDESITE_BRICKS.get()))); public static final DeferredBlock POLISHED_ANDESITE_BRICKS_SLAB = registerBlock("polished_andesite_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(POLISHED_ANDESITE_BRICKS.get()))); public static final DeferredBlock POLISHED_DIORITE_BRICKS = registerBlock("polished_diorite_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.POLISHED_DIORITE))); public static final DeferredBlock POLISHED_DIORITE_BRICKS_STAIRS = registerBlock("polished_diorite_bricks_stairs", () -> new StairBlock(POLISHED_DIORITE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(POLISHED_DIORITE_BRICKS.get()))); public static final DeferredBlock POLISHED_DIORITE_BRICKS_SLAB = registerBlock("polished_diorite_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(POLISHED_DIORITE_BRICKS.get()))); public static final DeferredBlock POLISHED_GRANITE_BRICKS = registerBlock("polished_granite_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.POLISHED_GRANITE))); public static final DeferredBlock POLISHED_GRANITE_BRICKS_STAIRS = registerBlock("polished_granite_bricks_stairs", () -> new StairBlock(POLISHED_GRANITE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(POLISHED_GRANITE_BRICKS.get()))); public static final DeferredBlock POLISHED_GRANITE_BRICKS_SLAB = registerBlock("polished_granite_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(POLISHED_GRANITE_BRICKS.get()))); public static final DeferredBlock PURPUR_BRICKS = registerBlock("purpur_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.PURPUR_BLOCK))); public static final DeferredBlock PURPUR_BRICKS_STAIRS = registerBlock("purpur_bricks_stairs", () -> new StairBlock(PURPUR_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(PURPUR_BRICKS.get()))); public static final DeferredBlock PURPUR_BRICKS_SLAB = registerBlock("purpur_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(PURPUR_BRICKS.get()))); public static final DeferredBlock SMOOTH_BASALT_BRICKS = registerBlock("smooth_basalt_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.SMOOTH_BASALT))); public static final DeferredBlock SMOOTH_BASALT_BRICKS_STAIRS = registerBlock("smooth_basalt_bricks_stairs", () -> new StairBlock(SMOOTH_BASALT_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(SMOOTH_BASALT_BRICKS.get()))); public static final DeferredBlock SMOOTH_BASALT_BRICKS_SLAB = registerBlock("smooth_basalt_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(SMOOTH_BASALT_BRICKS.get()))); // COLORED BRICKS + STAIRS + SLABS public static final DeferredBlock WHITE_BRICKS = registerBlock("white_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock WHITE_BRICKS_STAIRS = registerBlock("white_bricks_stairs", () -> new StairBlock(WHITE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(WHITE_BRICKS.get()))); public static final DeferredBlock WHITE_BRICKS_SLAB = registerBlock("white_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(WHITE_BRICKS.get()))); public static final DeferredBlock ORANGE_BRICKS = registerBlock("orange_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock ORANGE_BRICKS_STAIRS = registerBlock("orange_bricks_stairs", () -> new StairBlock(ORANGE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ORANGE_BRICKS.get()))); public static final DeferredBlock ORANGE_BRICKS_SLAB = registerBlock("orange_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(ORANGE_BRICKS.get()))); public static final DeferredBlock MAGENTA_BRICKS = registerBlock("magenta_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock MAGENTA_BRICKS_STAIRS = registerBlock("magenta_bricks_stairs", () -> new StairBlock(MAGENTA_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MAGENTA_BRICKS.get()))); public static final DeferredBlock MAGENTA_BRICKS_SLAB = registerBlock("magenta_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(MAGENTA_BRICKS.get()))); public static final DeferredBlock LIGHT_BLUE_BRICKS = registerBlock("light_blue_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock LIGHT_BLUE_BRICKS_STAIRS = registerBlock("light_blue_bricks_stairs", () -> new StairBlock(LIGHT_BLUE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(LIGHT_BLUE_BRICKS.get()))); public static final DeferredBlock LIGHT_BLUE_BRICKS_SLAB = registerBlock("light_blue_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(LIGHT_BLUE_BRICKS.get()))); public static final DeferredBlock YELLOW_BRICKS = registerBlock("yellow_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock YELLOW_BRICKS_STAIRS = registerBlock("yellow_bricks_stairs", () -> new StairBlock(YELLOW_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(YELLOW_BRICKS.get()))); public static final DeferredBlock YELLOW_BRICKS_SLAB = registerBlock("yellow_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(YELLOW_BRICKS.get()))); public static final DeferredBlock LIME_BRICKS = registerBlock("lime_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock LIME_BRICKS_STAIRS = registerBlock("lime_bricks_stairs", () -> new StairBlock(LIME_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(LIME_BRICKS.get()))); public static final DeferredBlock LIME_BRICKS_SLAB = registerBlock("lime_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(LIME_BRICKS.get()))); public static final DeferredBlock PINK_BRICKS = registerBlock("pink_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock PINK_BRICKS_STAIRS = registerBlock("pink_bricks_stairs", () -> new StairBlock(PINK_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(PINK_BRICKS.get()))); public static final DeferredBlock PINK_BRICKS_SLAB = registerBlock("pink_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(PINK_BRICKS.get()))); public static final DeferredBlock GRAY_BRICKS = registerBlock("gray_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock GRAY_BRICKS_STAIRS = registerBlock("gray_bricks_stairs", () -> new StairBlock(GRAY_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(GRAY_BRICKS.get()))); public static final DeferredBlock GRAY_BRICKS_SLAB = registerBlock("gray_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(GRAY_BRICKS.get()))); public static final DeferredBlock LIGHT_GRAY_BRICKS = registerBlock("light_gray_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock LIGHT_GRAY_BRICKS_STAIRS = registerBlock("light_gray_bricks_stairs", () -> new StairBlock(LIGHT_GRAY_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(LIGHT_GRAY_BRICKS.get()))); public static final DeferredBlock LIGHT_GRAY_BRICKS_SLAB = registerBlock("light_gray_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(LIGHT_GRAY_BRICKS.get()))); public static final DeferredBlock CYAN_BRICKS = registerBlock("cyan_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock CYAN_BRICKS_STAIRS = registerBlock("cyan_bricks_stairs", () -> new StairBlock(CYAN_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CYAN_BRICKS.get()))); public static final DeferredBlock CYAN_BRICKS_SLAB = registerBlock("cyan_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(CYAN_BRICKS.get()))); public static final DeferredBlock PURPLE_BRICKS = registerBlock("purple_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock PURPLE_BRICKS_STAIRS = registerBlock("purple_bricks_stairs", () -> new StairBlock(PURPLE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(PURPLE_BRICKS.get()))); public static final DeferredBlock PURPLE_BRICKS_SLAB = registerBlock("purple_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(PURPLE_BRICKS.get()))); public static final DeferredBlock BLUE_BRICKS = registerBlock("blue_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock BLUE_BRICKS_STAIRS = registerBlock("blue_bricks_stairs", () -> new StairBlock(BLUE_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BLUE_BRICKS.get()))); public static final DeferredBlock BLUE_BRICKS_SLAB = registerBlock("blue_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(BLUE_BRICKS.get()))); public static final DeferredBlock BROWN_BRICKS = registerBlock("brown_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock BROWN_BRICKS_STAIRS = registerBlock("brown_bricks_stairs", () -> new StairBlock(BROWN_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BROWN_BRICKS.get()))); public static final DeferredBlock BROWN_BRICKS_SLAB = registerBlock("brown_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(BROWN_BRICKS.get()))); public static final DeferredBlock GREEN_BRICKS = registerBlock("green_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock GREEN_BRICKS_STAIRS = registerBlock("green_bricks_stairs", () -> new StairBlock(GREEN_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(GREEN_BRICKS.get()))); public static final DeferredBlock GREEN_BRICKS_SLAB = registerBlock("green_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(GREEN_BRICKS.get()))); public static final DeferredBlock RED_BRICKS = registerBlock("red_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock RED_BRICKS_STAIRS = registerBlock("red_bricks_stairs", () -> new StairBlock(RED_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(RED_BRICKS.get()))); public static final DeferredBlock RED_BRICKS_SLAB = registerBlock("red_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(RED_BRICKS.get()))); public static final DeferredBlock BLACK_BRICKS = registerBlock("black_bricks", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.BRICKS))); public static final DeferredBlock BLACK_BRICKS_STAIRS = registerBlock("black_bricks_stairs", () -> new StairBlock(BLACK_BRICKS.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BLACK_BRICKS.get()))); public static final DeferredBlock BLACK_BRICKS_SLAB = registerBlock("black_bricks_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(BLACK_BRICKS.get()))); // WOOL STAIRS AND SLABS public static final DeferredBlock WHITE_WOOL_STAIRS = registerBlock("white_wool_stairs", () -> new StairBlock(Blocks.WHITE_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.WHITE_WOOL))); public static final DeferredBlock WHITE_WOOL_SLAB = registerBlock("white_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.WHITE_WOOL))); public static final DeferredBlock ORANGE_WOOL_STAIRS = registerBlock("orange_wool_stairs", () -> new StairBlock(Blocks.ORANGE_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.ORANGE_WOOL))); public static final DeferredBlock ORANGE_WOOL_SLAB = registerBlock("orange_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.ORANGE_WOOL))); public static final DeferredBlock MAGENTA_WOOL_STAIRS = registerBlock("magenta_wool_stairs", () -> new StairBlock(Blocks.MAGENTA_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.MAGENTA_WOOL))); public static final DeferredBlock MAGENTA_WOOL_SLAB = registerBlock("magenta_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.MAGENTA_WOOL))); public static final DeferredBlock LIGHT_BLUE_WOOL_STAIRS = registerBlock("light_blue_wool_stairs", () -> new StairBlock(Blocks.LIGHT_BLUE_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.LIGHT_BLUE_WOOL))); public static final DeferredBlock LIGHT_BLUE_WOOL_SLAB = registerBlock("light_blue_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.LIGHT_BLUE_WOOL))); public static final DeferredBlock YELLOW_WOOL_STAIRS = registerBlock("yellow_wool_stairs", () -> new StairBlock(Blocks.YELLOW_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.YELLOW_WOOL))); public static final DeferredBlock YELLOW_WOOL_SLAB = registerBlock("yellow_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.YELLOW_WOOL))); public static final DeferredBlock LIME_WOOL_STAIRS = registerBlock("lime_wool_stairs", () -> new StairBlock(Blocks.LIME_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.LIME_WOOL))); public static final DeferredBlock LIME_WOOL_SLAB = registerBlock("lime_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.LIME_WOOL))); public static final DeferredBlock PINK_WOOL_STAIRS = registerBlock("pink_wool_stairs", () -> new StairBlock(Blocks.PINK_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.PINK_WOOL))); public static final DeferredBlock PINK_WOOL_SLAB = registerBlock("pink_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PINK_WOOL))); public static final DeferredBlock GRAY_WOOL_STAIRS = registerBlock("gray_wool_stairs", () -> new StairBlock(Blocks.GRAY_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.GRAY_WOOL))); public static final DeferredBlock GRAY_WOOL_SLAB = registerBlock("gray_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GRAY_WOOL))); public static final DeferredBlock LIGHT_GRAY_WOOL_STAIRS = registerBlock("light_gray_wool_stairs", () -> new StairBlock(Blocks.LIGHT_GRAY_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.LIGHT_GRAY_WOOL))); public static final DeferredBlock LIGHT_GRAY_WOOL_SLAB = registerBlock("light_gray_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.LIGHT_GRAY_WOOL))); public static final DeferredBlock CYAN_WOOL_STAIRS = registerBlock("cyan_wool_stairs", () -> new StairBlock(Blocks.CYAN_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.CYAN_WOOL))); public static final DeferredBlock CYAN_WOOL_SLAB = registerBlock("cyan_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.CYAN_WOOL))); public static final DeferredBlock PURPLE_WOOL_STAIRS = registerBlock("purple_wool_stairs", () -> new StairBlock(Blocks.PURPLE_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.PURPLE_WOOL))); public static final DeferredBlock PURPLE_WOOL_SLAB = registerBlock("purple_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.PURPLE_WOOL))); public static final DeferredBlock BLUE_WOOL_STAIRS = registerBlock("blue_wool_stairs", () -> new StairBlock(Blocks.BLUE_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.BLUE_WOOL))); public static final DeferredBlock BLUE_WOOL_SLAB = registerBlock("blue_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BLUE_WOOL))); public static final DeferredBlock BROWN_WOOL_STAIRS = registerBlock("brown_wool_stairs", () -> new StairBlock(Blocks.BROWN_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.BROWN_WOOL))); public static final DeferredBlock BROWN_WOOL_SLAB = registerBlock("brown_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BROWN_WOOL))); public static final DeferredBlock GREEN_WOOL_STAIRS = registerBlock("green_wool_stairs", () -> new StairBlock(Blocks.GREEN_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.GREEN_WOOL))); public static final DeferredBlock GREEN_WOOL_SLAB = registerBlock("green_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GREEN_WOOL))); public static final DeferredBlock RED_WOOL_STAIRS = registerBlock("red_wool_stairs", () -> new StairBlock(Blocks.RED_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.RED_WOOL))); public static final DeferredBlock RED_WOOL_SLAB = registerBlock("red_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.RED_WOOL))); public static final DeferredBlock BLACK_WOOL_STAIRS = registerBlock("black_wool_stairs", () -> new StairBlock(Blocks.BLACK_WOOL.defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(Blocks.BLACK_WOOL))); public static final DeferredBlock BLACK_WOOL_SLAB = registerBlock("black_wool_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.BLACK_WOOL))); public static final DeferredBlock MESH_IRON = registerBlock("mesh_iron", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK) .strength(5.0f, 6.0f) .noOcclusion() )); //POOL TILES public static final DeferredBlock POOL_TILES = registerBlock("pool_tiles", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK) .strength(5.0f, 6.0f) .noOcclusion() )); public static final DeferredBlock POOL_TILES1 = registerBlock("pool_tiles1", () -> new Block(BlockBehaviour.Properties.ofFullCopy(ModBlocks.POOL_TILES.get()) )); public static final DeferredBlock POOL_TILES_STAIRS = registerBlock("pool_tiles_stairs", () -> new StairBlock(ModBlocks.POOL_TILES.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ModBlocks.POOL_TILES.get()))); public static final DeferredBlock POOL_TILES_SLAB = registerBlock("pool_tiles_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(ModBlocks.POOL_TILES.get()))); public static final DeferredBlock POOL_TILES1_STAIRS = registerBlock("pool_tiles1_stairs", () -> new StairBlock(ModBlocks.POOL_TILES1.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ModBlocks.POOL_TILES1.get()))); public static final DeferredBlock POOL_TILES1_SLAB = registerBlock("pool_tiles1_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(ModBlocks.POOL_TILES1.get()))); //GRATES public static final DeferredBlock IRON_GRATE = registerBlock("iron_grate", () -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE) .strength(5.0f, 6.0f) .noOcclusion() )); public static final DeferredBlock GOLD_GRATE = registerBlock("gold_grate", () -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE) .strength(3.0f, 4.0f) .noOcclusion() )); public static final DeferredBlock DIAMOND_GRATE = registerBlock("diamond_grate", () -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE) .strength(5.0f, 6.0f) .noOcclusion() )); public static final DeferredBlock NETHERITE_GRATE = registerBlock("netherite_grate", () -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE) .strength(6.0f, 7.0f) .noOcclusion() .explosionResistance(1200.0f) )); public static final DeferredBlock AMETHYST_GRATE = registerBlock("amethyst_grate", () -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE) .strength(3.0f, 4.0f) .noOcclusion() )); public static final DeferredBlock OBSIDIAN_GRATE = registerBlock("obsidian_grate", () -> new GrateBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.COPPER_GRATE) .strength(50.0f, 1200.0f) .noOcclusion() .explosionResistance(1200.0f) )); //GLOW BLOCK public static final DeferredBlock LIME_GLOW_BLOCK = registerBlock("lime_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.IRON_BLOCK) .emissiveRendering((state, level, pos) -> true) .lightLevel(blockstate -> 15) .hasPostProcess((bs, br, bp) -> true) .noOcclusion() )); public static final DeferredBlock WHITE_GLOW_BLOCK = registerBlock("white_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock LIGHT_GRAY_GLOW_BLOCK = registerBlock("light_gray_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock GRAY_GLOW_BLOCK = registerBlock("gray_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock BLACK_GLOW_BLOCK = registerBlock("black_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock BROWN_GLOW_BLOCK = registerBlock("brown_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock RED_GLOW_BLOCK = registerBlock("red_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock ORANGE_GLOW_BLOCK = registerBlock("orange_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock YELLOW_GLOW_BLOCK = registerBlock("yellow_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock GREEN_GLOW_BLOCK = registerBlock("green_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock CYAN_GLOW_BLOCK = registerBlock("cyan_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock LIGHT_BLUE_GLOW_BLOCK = registerBlock("light_blue_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock BLUE_GLOW_BLOCK = registerBlock("blue_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock PURPLE_GLOW_BLOCK = registerBlock("purple_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock MAGENTA_GLOW_BLOCK = registerBlock("magenta_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock PINK_GLOW_BLOCK = registerBlock("pink_glow_block", () -> new Block(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); // GlowBlock stairs/slabs public static final DeferredBlock LIME_GLOW_BLOCK_STAIRS = registerBlock("lime_glow_block_stairs", () -> new StairBlock(LIME_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock LIME_GLOW_BLOCK_SLAB = registerBlock("lime_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_BLOCK.get()))); public static final DeferredBlock WHITE_GLOW_BLOCK_STAIRS = registerBlock("white_glow_block_stairs", () -> new StairBlock(WHITE_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(WHITE_GLOW_BLOCK.get()))); public static final DeferredBlock WHITE_GLOW_BLOCK_SLAB = registerBlock("white_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(WHITE_GLOW_BLOCK.get()))); public static final DeferredBlock LIGHT_GRAY_GLOW_BLOCK_STAIRS = registerBlock("light_gray_glow_block_stairs", () -> new StairBlock(LIGHT_GRAY_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(LIGHT_GRAY_GLOW_BLOCK.get()))); public static final DeferredBlock LIGHT_GRAY_GLOW_BLOCK_SLAB = registerBlock("light_gray_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(LIGHT_GRAY_GLOW_BLOCK.get()))); public static final DeferredBlock GRAY_GLOW_BLOCK_STAIRS = registerBlock("gray_glow_block_stairs", () -> new StairBlock(GRAY_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(GRAY_GLOW_BLOCK.get()))); public static final DeferredBlock GRAY_GLOW_BLOCK_SLAB = registerBlock("gray_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(GRAY_GLOW_BLOCK.get()))); public static final DeferredBlock BLACK_GLOW_BLOCK_STAIRS = registerBlock("black_glow_block_stairs", () -> new StairBlock(BLACK_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BLACK_GLOW_BLOCK.get()))); public static final DeferredBlock BLACK_GLOW_BLOCK_SLAB = registerBlock("black_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(BLACK_GLOW_BLOCK.get()))); public static final DeferredBlock BROWN_GLOW_BLOCK_STAIRS = registerBlock("brown_glow_block_stairs", () -> new StairBlock(BROWN_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BROWN_GLOW_BLOCK.get()))); public static final DeferredBlock BROWN_GLOW_BLOCK_SLAB = registerBlock("brown_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(BROWN_GLOW_BLOCK.get()))); public static final DeferredBlock RED_GLOW_BLOCK_STAIRS = registerBlock("red_glow_block_stairs", () -> new StairBlock(RED_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(RED_GLOW_BLOCK.get()))); public static final DeferredBlock RED_GLOW_BLOCK_SLAB = registerBlock("red_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(RED_GLOW_BLOCK.get()))); public static final DeferredBlock ORANGE_GLOW_BLOCK_STAIRS = registerBlock("orange_glow_block_stairs", () -> new StairBlock(ORANGE_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(ORANGE_GLOW_BLOCK.get()))); public static final DeferredBlock ORANGE_GLOW_BLOCK_SLAB = registerBlock("orange_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(ORANGE_GLOW_BLOCK.get()))); public static final DeferredBlock YELLOW_GLOW_BLOCK_STAIRS = registerBlock("yellow_glow_block_stairs", () -> new StairBlock(YELLOW_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(YELLOW_GLOW_BLOCK.get()))); public static final DeferredBlock YELLOW_GLOW_BLOCK_SLAB = registerBlock("yellow_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(YELLOW_GLOW_BLOCK.get()))); public static final DeferredBlock GREEN_GLOW_BLOCK_STAIRS = registerBlock("green_glow_block_stairs", () -> new StairBlock(GREEN_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(GREEN_GLOW_BLOCK.get()))); public static final DeferredBlock GREEN_GLOW_BLOCK_SLAB = registerBlock("green_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(GREEN_GLOW_BLOCK.get()))); public static final DeferredBlock CYAN_GLOW_BLOCK_STAIRS = registerBlock("cyan_glow_block_stairs", () -> new StairBlock(CYAN_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(CYAN_GLOW_BLOCK.get()))); public static final DeferredBlock CYAN_GLOW_BLOCK_SLAB = registerBlock("cyan_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(CYAN_GLOW_BLOCK.get()))); public static final DeferredBlock LIGHT_BLUE_GLOW_BLOCK_STAIRS = registerBlock("light_blue_glow_block_stairs", () -> new StairBlock(LIGHT_BLUE_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(LIGHT_BLUE_GLOW_BLOCK.get()))); public static final DeferredBlock LIGHT_BLUE_GLOW_BLOCK_SLAB = registerBlock("light_blue_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(LIGHT_BLUE_GLOW_BLOCK.get()))); public static final DeferredBlock BLUE_GLOW_BLOCK_STAIRS = registerBlock("blue_glow_block_stairs", () -> new StairBlock(BLUE_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(BLUE_GLOW_BLOCK.get()))); public static final DeferredBlock BLUE_GLOW_BLOCK_SLAB = registerBlock("blue_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(BLUE_GLOW_BLOCK.get()))); public static final DeferredBlock PURPLE_GLOW_BLOCK_STAIRS = registerBlock("purple_glow_block_stairs", () -> new StairBlock(PURPLE_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(PURPLE_GLOW_BLOCK.get()))); public static final DeferredBlock PURPLE_GLOW_BLOCK_SLAB = registerBlock("purple_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(PURPLE_GLOW_BLOCK.get()))); public static final DeferredBlock MAGENTA_GLOW_BLOCK_STAIRS = registerBlock("magenta_glow_block_stairs", () -> new StairBlock(MAGENTA_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(MAGENTA_GLOW_BLOCK.get()))); public static final DeferredBlock MAGENTA_GLOW_BLOCK_SLAB = registerBlock("magenta_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(MAGENTA_GLOW_BLOCK.get()))); public static final DeferredBlock PINK_GLOW_BLOCK_STAIRS = registerBlock("pink_glow_block_stairs", () -> new StairBlock(PINK_GLOW_BLOCK.get().defaultBlockState(), BlockBehaviour.Properties.ofFullCopy(PINK_GLOW_BLOCK.get()))); public static final DeferredBlock PINK_GLOW_BLOCK_SLAB = registerBlock("pink_glow_block_slab", () -> new SlabBlock(BlockBehaviour.Properties.ofFullCopy(PINK_GLOW_BLOCK.get()))); //GlowGlass public static final DeferredBlock LIME_GLOW_STAINED_GLASS = registerBlock("lime_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(Blocks.GLASS) .emissiveRendering(((blockState, blockGetter, blockPos) -> true)) .lightLevel(blockstate -> 13) .noOcclusion() .hasPostProcess((bs, br, bp) -> true)) ); public static final DeferredBlock WHITE_GLOW_STAINED_GLASS = registerBlock("white_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock LIGHT_GRAY_GLOW_STAINED_GLASS = registerBlock("light_gray_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock GRAY_GLOW_STAINED_GLASS = registerBlock("gray_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock BLACK_GLOW_STAINED_GLASS = registerBlock("black_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock BROWN_GLOW_STAINED_GLASS = registerBlock("brown_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock RED_GLOW_STAINED_GLASS = registerBlock("red_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock ORANGE_GLOW_STAINED_GLASS = registerBlock("orange_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock YELLOW_GLOW_STAINED_GLASS = registerBlock("yellow_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock GREEN_GLOW_STAINED_GLASS = registerBlock("green_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock CYAN_GLOW_STAINED_GLASS = registerBlock("cyan_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock LIGHT_BLUE_GLOW_STAINED_GLASS = registerBlock("light_blue_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock BLUE_GLOW_STAINED_GLASS = registerBlock("blue_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock PURPLE_GLOW_STAINED_GLASS = registerBlock("purple_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock MAGENTA_GLOW_STAINED_GLASS = registerBlock("magenta_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); public static final DeferredBlock PINK_GLOW_STAINED_GLASS = registerBlock("pink_glow_stained_glass", () -> new GlowGlassBlock(BlockBehaviour.Properties.ofFullCopy(LIME_GLOW_STAINED_GLASS.get()))); private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); registerBlockItem(name, toReturn); return toReturn; } private static void registerBlockItem(String name, DeferredBlock block) { ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties())); } public static void register(IEventBus eventBus) { BLOCKS.register(eventBus); } }