From fc0bd5c4a4a292e145c4dc1dbd6fa92264cb6af0 Mon Sep 17 00:00:00 2001 From: Lucas Placentino <23436953+lucasplacentino@users.noreply.github.com> Date: Fri, 3 Feb 2023 18:35:22 +0100 Subject: [PATCH] add condition for blockItem registering --- src/main/java/com/obsilab/mcsc/MCSC.java | 4 ++++ src/main/java/com/obsilab/mcsc/block/ModBlocks.java | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/main/java/com/obsilab/mcsc/MCSC.java b/src/main/java/com/obsilab/mcsc/MCSC.java index 391c54e..0410580 100644 --- a/src/main/java/com/obsilab/mcsc/MCSC.java +++ b/src/main/java/com/obsilab/mcsc/MCSC.java @@ -114,11 +114,15 @@ private void addCreative(CreativeModeTabEvent.BuildContents event) { event.accept(new ItemStack(mod_item.get())); } for (RegistryObject mod_block : ModBlocksList) { + //check if the block is a crop block => needed? since did not register blockItem for crop blocks + /* if (mod_block.get() instanceof CrystalIngotBlock) { // if(mod_block.get().getName().equals("crystal_ingot")) //continue; // remove crop block, prevents crashing } else { event.accept(new ItemStack(mod_block.get())); } + */ + event.accept(new ItemStack(mod_block.get())); // all from the list } } } diff --git a/src/main/java/com/obsilab/mcsc/block/ModBlocks.java b/src/main/java/com/obsilab/mcsc/block/ModBlocks.java index 7001ae6..1117b59 100644 --- a/src/main/java/com/obsilab/mcsc/block/ModBlocks.java +++ b/src/main/java/com/obsilab/mcsc/block/ModBlocks.java @@ -30,6 +30,7 @@ public class ModBlocks { DeferredRegister.create(ForgeRegistries.BLOCKS, MCSC.MOD_ID); + public static final RegistryObject FOUP_STORAGE_BLOCK = registerBlock(true, "foup_storage", () -> new Block(BlockBehaviour.Properties .of(Material.METAL) @@ -37,6 +38,7 @@ public class ModBlocks { .requiresCorrectToolForDrops() )); + public static final RegistryObject BORAX_ORE = registerBlock(true, // => boric acid => boron for p-type doping "borax_ore", () -> new DropExperienceBlock(BlockBehaviour.Properties .of(Material.STONE) @@ -46,6 +48,7 @@ public class ModBlocks { )); + public static final RegistryObject PHOSPHATE_ORE = registerBlock(true, "phosphate_ore", () -> new DropExperienceBlock(BlockBehaviour.Properties .of(Material.STONE) @@ -54,6 +57,7 @@ public class ModBlocks { UniformInt.of(2,4) )); + public static final RegistryObject TEST_BLOCK_BLOCK = registerBlock(true, "test_block", () -> new TestBlock(BlockBehaviour.Properties .of(Material.METAL) @@ -61,6 +65,7 @@ public class ModBlocks { .lightLevel(state -> state.getValue(TestBlock.ACTIVE) ? 8 : 0) // light level of 8 if block's ACTIVE property is true, else light level of 0 )); + public static final RegistryObject TEST_FLUID_BLOCK = registerBlock(true, "test_fluid_block", () -> new LiquidBlock( ModFluids.SOURCE_TEST_FLUID, @@ -68,6 +73,7 @@ public class ModBlocks { .copy(Blocks.WATER) )); + public static final RegistryObject CRYSTAL_INGOT_BLOCK = registerBlock(false, // crop block, so do not register BlockItem "crystal_ingot", () -> new CrystalIngotBlock(BlockBehaviour.Properties .copy(Blocks.WHEAT) @@ -78,8 +84,12 @@ public class ModBlocks { + private static RegistryObject registerBlock(Boolean register_block_item, String name, Supplier block){ LOGGER.info("MCSC: Registering Block >> {} : {}", name, block.get()); //? .get() ? RegistryObject toReturn = BLOCKS.register(name, block); + if (register_block_item) { + registerBlockItem(name, toReturn); + } return toReturn; }