diff --git a/src/main/java/dev/micle/firefly_bush_backport/block/ModBlocks.java b/src/main/java/dev/micle/firefly_bush_backport/block/ModBlocks.java new file mode 100644 index 0000000..52d16a4 --- /dev/null +++ b/src/main/java/dev/micle/firefly_bush_backport/block/ModBlocks.java @@ -0,0 +1,45 @@ +package dev.micle.firefly_bush_backport.block; + +import dev.micle.firefly_bush_backport.FireflyBushBackport; +import dev.micle.firefly_bush_backport.item.ModItems; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraft.world.level.material.MapColor; +import net.minecraft.world.level.material.PushReaction; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; + +import java.util.function.Supplier; + +public class ModBlocks { + public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, FireflyBushBackport.MOD_ID); + + public static RegistryObject FIREFLY_BUSH = registerBlock("firefly_bush", + () -> new FireflyBushBlock(BlockBehaviour.Properties.of() + .mapColor(MapColor.PLANT) + .ignitedByLava() + .lightLevel(blockState -> 2) + .noCollission() + .instabreak() + //.sound() + .pushReaction(PushReaction.DESTROY)) + ); + + public static void register(IEventBus modEventBus) { + BLOCKS.register(modEventBus); + } + + private static RegistryObject registerBlockItem(String name, RegistryObject block) { + return ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties())); + } + + private static RegistryObject registerBlock(String name, Supplier block) { + RegistryObject ret = BLOCKS.register(name, block); + registerBlockItem(name, ret); + return ret; + } +}