From e9c2857db8f496b87a45d1cab052cfbfffb35904 Mon Sep 17 00:00:00 2001 From: drcrazy Date: Wed, 26 Sep 2018 18:28:59 +0300 Subject: [PATCH] Initial work on event based registration --- src/main/java/techreborn/TechReborn.java | 1 - .../events/RegistryEventHandler.java | 80 ++++++++++++++++ src/main/java/techreborn/init/TRContent.java | 93 ------------------- 3 files changed, 80 insertions(+), 94 deletions(-) create mode 100644 src/main/java/techreborn/events/RegistryEventHandler.java diff --git a/src/main/java/techreborn/TechReborn.java b/src/main/java/techreborn/TechReborn.java index 152b17dbd..c1b3e1a0c 100644 --- a/src/main/java/techreborn/TechReborn.java +++ b/src/main/java/techreborn/TechReborn.java @@ -121,7 +121,6 @@ public class TechReborn { CommonProxy.isChiselAround = Loader.isModLoaded("ctm"); TechRebornAPI.subItemRetriever = new SubItemRetriever(); // Registration - TRContent.registerBlocks(); TRTileEntities.init(); ModFluids.init(); TRContent.registerItems(); diff --git a/src/main/java/techreborn/events/RegistryEventHandler.java b/src/main/java/techreborn/events/RegistryEventHandler.java new file mode 100644 index 000000000..aa30ba1a3 --- /dev/null +++ b/src/main/java/techreborn/events/RegistryEventHandler.java @@ -0,0 +1,80 @@ +/** + * + */ +package techreborn.events; + +import java.util.Arrays; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockSlab; +import net.minecraft.item.ItemSlab; +import net.minecraftforge.event.RegistryEvent; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; +import reborncore.RebornRegistry; +import techreborn.TechReborn; +import techreborn.blocks.BlockComputerCube; +import techreborn.blocks.BlockNuke; +import techreborn.blocks.BlockRefinedIronFence; +import techreborn.blocks.BlockReinforcedGlass; +import techreborn.blocks.BlockRubberLeaves; +import techreborn.blocks.BlockRubberLog; +import techreborn.blocks.BlockRubberPlank; +import techreborn.blocks.BlockRubberPlankSlab; +import techreborn.blocks.BlockRubberPlankStair; +import techreborn.blocks.BlockRubberSapling; +import techreborn.init.TRContent; +import techreborn.init.TRContent.Cables; +import techreborn.init.TRContent.Machine; +import techreborn.init.TRContent.MachineBlocks; +import techreborn.init.TRContent.Ores; +import techreborn.init.TRContent.SolarPanels; +import techreborn.init.TRContent.StorageBlocks; +import techreborn.itemblocks.ItemBlockRubberSapling; +import techreborn.utils.InitUtils; + +/** + * @author drcrazy + * + */ + +@Mod.EventBusSubscriber(modid = TechReborn.MOD_ID) +public class RegistryEventHandler { + + @SubscribeEvent + public static void registerBlocks(RegistryEvent.Register event) { + + Arrays.stream(Ores.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); + Arrays.stream(StorageBlocks.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); + Arrays.stream(MachineBlocks.values()).forEach(value -> { + RebornRegistry.registerBlock(value.frame); + RebornRegistry.registerBlock(value.casing); + }); + Arrays.stream(SolarPanels.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); + Arrays.stream(Cables.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); + Arrays.stream(Machine.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); + + // Misc. blocks + RebornRegistry.registerBlock(TRContent.COMPUTER_CUBE = InitUtils.setup(new BlockComputerCube(), "computer_cube")); + RebornRegistry.registerBlock(TRContent.NUKE = InitUtils.setup(new BlockNuke(), "nuke")); + RebornRegistry.registerBlock(TRContent.REFINED_IRON_FENCE = InitUtils.setup(new BlockRefinedIronFence(), "refined_iron_fence")); + RebornRegistry.registerBlock(TRContent.REINFORCED_GLASS = InitUtils.setup(new BlockReinforcedGlass(), "reinforced_glass")); + RebornRegistry.registerBlock(TRContent.RUBBER_LEAVES = InitUtils.setup(new BlockRubberLeaves(), "rubber_leaves")); + RebornRegistry.registerBlock(TRContent.RUBBER_LOG = InitUtils.setup(new BlockRubberLog(), "rubber_log")); + RebornRegistry.registerBlock(TRContent.RUBBER_PLANKS = InitUtils.setup(new BlockRubberPlank(), "rubber_planks")); + RebornRegistry.registerBlockNoItem(TRContent.RUBBER_LOG_SLAB_HALF = InitUtils.setup(new BlockRubberPlankSlab.BlockHalf("rubber_plank"), "rubber_plank_slab")); + RebornRegistry.registerBlock( + TRContent.RUBBER_SAPLING = InitUtils.setup(new BlockRubberSapling(), "rubber_sapling"), + ItemBlockRubberSapling.class, + "rubber_sapling"); + RebornRegistry.registerBlock( + TRContent.RUBBER_LOG_SLAB_DOUBLE = InitUtils.setup(new BlockRubberPlankSlab.BlockDouble("rubber_plank", TRContent.RUBBER_LOG_SLAB_HALF), "rubber_plank_double_slab"), + new ItemSlab(TRContent.RUBBER_LOG_SLAB_HALF, (BlockSlab) TRContent.RUBBER_LOG_SLAB_HALF, (BlockSlab) TRContent.RUBBER_LOG_SLAB_DOUBLE), + "rubber_plank_double_slab"); + RebornRegistry.registerBlock(TRContent.RUBBER_LOG_STAIR = InitUtils.setup(new BlockRubberPlankStair(TRContent.RUBBER_LOG.getDefaultState(), "rubber_plank"), + "rubber_plank_stair")); + + TechReborn.LOGGER.debug("TechReborns Blocks Loaded"); + } + +} diff --git a/src/main/java/techreborn/init/TRContent.java b/src/main/java/techreborn/init/TRContent.java index 76d76f31a..03775e4fa 100644 --- a/src/main/java/techreborn/init/TRContent.java +++ b/src/main/java/techreborn/init/TRContent.java @@ -715,63 +715,6 @@ public class TRContent { } } - public static void registerBlocks() { - Arrays.stream(Ores.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); - Arrays.stream(StorageBlocks.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); - Arrays.stream(MachineBlocks.values()).forEach(value -> { - RebornRegistry.registerBlock(value.frame); - RebornRegistry.registerBlock(value.casing); - }); - Arrays.stream(SolarPanels.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); - Arrays.stream(Cables.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); - Arrays.stream(Machine.values()).forEach(value -> RebornRegistry.registerBlock(value.block)); - - // Misc. blocks - COMPUTER_CUBE = new BlockComputerCube(); - registerBlock(COMPUTER_CUBE, "computer_cube"); - - NUKE = new BlockNuke(); - registerBlock(NUKE, "nuke"); - - REFINED_IRON_FENCE = new BlockRefinedIronFence(); - registerBlock(REFINED_IRON_FENCE, "refined_iron_fence"); - - REINFORCED_GLASS = new BlockReinforcedGlass(); - registerBlock(REINFORCED_GLASS, "reinforced_glass"); - - RUBBER_LEAVES = new BlockRubberLeaves(); - registerBlock(RUBBER_LEAVES, "rubber_leaves"); - - RUBBER_LOG = new BlockRubberLog(); - registerBlock(RUBBER_LOG, "rubber_log"); - - RUBBER_LOG_SLAB_HALF = new BlockRubberPlankSlab.BlockHalf("rubber_plank"); - registerBlockNoItem(RUBBER_LOG_SLAB_HALF, "rubber_plank_slab"); - - RUBBER_LOG_SLAB_DOUBLE = new BlockRubberPlankSlab.BlockDouble("rubber_plank", RUBBER_LOG_SLAB_HALF); - registerBlock(RUBBER_LOG_SLAB_DOUBLE, new ItemSlab(RUBBER_LOG_SLAB_HALF, (BlockSlab) RUBBER_LOG_SLAB_HALF, (BlockSlab) RUBBER_LOG_SLAB_DOUBLE) , "rubber_plank_double_slab"); - - RUBBER_LOG_STAIR = new BlockRubberPlankStair(TRContent.RUBBER_LOG.getDefaultState(), "rubber_plank"); - registerBlock(RUBBER_LOG_STAIR, "rubber_plank_stair"); - - RUBBER_PLANKS = new BlockRubberPlank(); - registerBlock(RUBBER_PLANKS, "rubber_planks"); - - RUBBER_SAPLING = new BlockRubberSapling(); - registerBlock(RUBBER_SAPLING, ItemBlockRubberSapling.class, "rubber_sapling"); - - //TODO enable when done - // flare = new BlockFlare(); - // registerBlock(flare, "flare"); - // ItemBlock itemBlock = new ItemColored(flare, true); - // itemBlock.setRegistryName("flareItemBlock"); - // itemBlock.setCreativeTab(TechRebornCreativeTabMisc.instance); - // GameRegistry.register(itemBlock); - // GameRegistry.registerTileEntity(TileEntityFlare.class, "TileEntityFlareTR"); - - TechReborn.LOGGER.debug("TechReborns Blocks Loaded"); - } - public static void registerItems() { Arrays.stream(Ingots.values()).forEach(value -> RebornRegistry.registerItem(value.item)); Arrays.stream(Nuggets.values()).forEach(value -> RebornRegistry.registerItem(value.item)); @@ -967,40 +910,4 @@ public class TRContent { }); } } - - /** - * Wrapper method for RebornRegistry - * @param block Block to register - * @param name Name of block to register - */ - public static void registerBlock(Block block, String name) { - name = name.toLowerCase(); - block.setTranslationKey(TechReborn.MOD_ID + "." + name); - RebornRegistry.registerBlock(block, new ResourceLocation(TechReborn.MOD_ID, name)); - } - - /** - * Wrapper method for RebornRegistry - * @param block Block to Register - * @param itemclass Itemblock of block to register - * @param name Name of block to register - */ - public static void registerBlock(Block block, Class itemclass, String name) { - name = name.toLowerCase(); - block.setTranslationKey(TechReborn.MOD_ID + "." + name); - RebornRegistry.registerBlock(block, itemclass, new ResourceLocation(TechReborn.MOD_ID, name)); - } - - public static void registerBlock(Block block, ItemBlock itemBlock, String name) { - name = name.toLowerCase(); - block.setTranslationKey(TechReborn.MOD_ID + "." + name); - RebornRegistry.registerBlock(block, itemBlock, new ResourceLocation(TechReborn.MOD_ID, name)); - } - - public static void registerBlockNoItem(Block block, String name) { - name = name.toLowerCase(); - block.setTranslationKey(TechReborn.MOD_ID + "." + name); - RebornRegistry.registerBlockNoItem(block, new ResourceLocation(TechReborn.MOD_ID, name)); - } - }