diff --git a/src/main/java/techreborn/Core.java b/src/main/java/techreborn/Core.java index dd46a80d0..1f270bcec 100644 --- a/src/main/java/techreborn/Core.java +++ b/src/main/java/techreborn/Core.java @@ -57,6 +57,7 @@ import techreborn.client.GuiHandler; import techreborn.command.TechRebornDevCommand; import techreborn.compat.CompatManager; import techreborn.compat.ICompatModule; +import techreborn.compat.ic2.RecipesIC2; import techreborn.dispenser.BehaviorDispenseScrapbox; import techreborn.entities.EntityNukePrimed; import techreborn.events.BlockBreakHandler; @@ -108,14 +109,12 @@ public class Core { CommonProxy.isChiselAround = Loader.isModLoaded("ctm"); TechRebornAPI.subItemRetriever = new SubItemRetriever(); - // Register ModBlocks + // Registration ModBlocks.init(); - //Register Tile's ModTileEntities.init(); - // Register Fluids ModFluids.init(); - // Register ModItems ModItems.init(); + // Entitys EntityRegistry.registerModEntity(new ResourceLocation("techreborn", "nuke"), EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true); @@ -130,6 +129,7 @@ public class Core { //Ore Dictionary OreDict.init(); proxy.preInit(event); + MinecraftForge.EVENT_BUS.register(new RecipesIC2()); logHelper.info("PreInitialization Complete"); } diff --git a/src/main/java/techreborn/compat/ic2/RecipesIC2.java b/src/main/java/techreborn/compat/ic2/RecipesIC2.java index 926059cf7..d8f08a995 100644 --- a/src/main/java/techreborn/compat/ic2/RecipesIC2.java +++ b/src/main/java/techreborn/compat/ic2/RecipesIC2.java @@ -27,10 +27,14 @@ package techreborn.compat.ic2; import ic2.api.item.IC2Items; import ic2.core.ref.ItemName; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.IRecipe; +import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.event.FMLServerStartingEvent; +import net.minecraftforge.fml.common.eventhandler.EventPriority; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import reborncore.api.recipe.RecipeHandler; import reborncore.common.util.RebornCraftingHelper; import techreborn.api.recipe.machines.CompressorRecipe; @@ -59,30 +63,11 @@ public class RecipesIC2 implements ICompatModule { @Override public void init(FMLInitializationEvent event) { - recipeDuplicateList.add(new RecipeDuplicate(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 0), IC2Items.getItem("resource", "machine"))); - for (RecipeDuplicate duplicate : recipeDuplicateList) { - duplicate.add(); - } } @Override public void postInit(FMLPostInitializationEvent event) { - RebornCraftingHelper.addShapelessRecipe(ItemParts.getPartByName("rubber"), IC2Items.getItem("crafting", "rubber")); - RebornCraftingHelper.addShapelessRecipe(IC2Items.getItem("crafting", "rubber"), ItemParts.getPartByName("rubber")); - RebornCraftingHelper.addShapelessRecipe(IC2Items.getItem("electric_wrench"), new ItemStack(ModItems.WRENCH), IC2Items.getItem("crafting", "small_power_unit")); - - RecipeHandler.addRecipe(new CompressorRecipe(IC2Items.getItem("crafting", "carbon_mesh"), - IC2Items.getItem("crafting", "carbon_plate"), 300, 4)); - - RecipeHandler.addRecipe(new CompressorRecipe(IC2Items.getItem("crafting", "coal_ball"), - IC2Items.getItem("crafting", "coal_block"), 300, 4)); - - RecipeHandler.addRecipe(new GrinderRecipe(ItemName.crafting.getItemStack("tin_can"), - RecipeMethods.getOre("dustTin", 2), 300, 16)); - - RecipeHandler.addRecipe(new ExtractorRecipe(ItemName.filled_tin_can.getItemStack(), - ItemName.crafting.getItemStack("tin_can"), 300, 16)); } @@ -91,6 +76,35 @@ public class RecipesIC2 implements ICompatModule { } + // LOW is used as we want it to load as late as possible, but before crafttweaker + @SubscribeEvent(priority = EventPriority.LOW) + public void registerRecipes(RegistryEvent.Register event) { + recipeDuplicateList.add(new RecipeDuplicate(new ItemStack(ModBlocks.MACHINE_FRAMES, 1, 0), + IC2Items.getItem("resource", "machine"))); + + for (RecipeDuplicate duplicate : recipeDuplicateList) { + duplicate.add(); + } + + RebornCraftingHelper.addShapelessRecipe(ItemParts.getPartByName("rubber"), + IC2Items.getItem("crafting", "rubber")); + RebornCraftingHelper.addShapelessRecipe(IC2Items.getItem("crafting", "rubber"), + ItemParts.getPartByName("rubber")); + RebornCraftingHelper.addShapelessRecipe(IC2Items.getItem("electric_wrench"), new ItemStack(ModItems.WRENCH), + IC2Items.getItem("crafting", "small_power_unit")); + + RecipeHandler.addRecipe(new CompressorRecipe(IC2Items.getItem("crafting", "carbon_mesh"), + IC2Items.getItem("crafting", "carbon_plate"), 300, 4)); + RecipeHandler.addRecipe(new CompressorRecipe(IC2Items.getItem("crafting", "coal_ball"), + IC2Items.getItem("crafting", "coal_block"), 300, 4)); + + RecipeHandler.addRecipe(new GrinderRecipe(ItemName.crafting.getItemStack("tin_can"), + RecipeMethods.getOre("dustTin", 2), 300, 16)); + + RecipeHandler.addRecipe(new ExtractorRecipe(ItemName.filled_tin_can.getItemStack(), + ItemName.crafting.getItemStack("tin_can"), 300, 16)); + } + public class RecipeDuplicate { ItemStack stack1; ItemStack stack2;