From 92b359cbee7aeca68bf4fa2a1c9530e777f6ed11 Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Fri, 17 Jun 2016 16:55:21 +1000 Subject: ~Changed the way compatability is handled. ~Recipe Handler now works in two segments, loading recipes as normal during Init and then from a queue during postInit. ~Queue should be populated throughout the mods init/preInit phases, so that they're not removed during recipe removal. ~Made more changes to the NFHG, not sure if I broke it more or not.. but it works, kinda. --- src/Java/miscutil/core/common/CommonProxy.java | 90 ++-- .../common/compat/COMPAT_CompactWindmills.java | 161 +++++++- .../core/common/compat/COMPAT_HANDLER.java | 61 ++- .../miscutil/core/common/compat/COMPAT_IC2.java | 35 +- src/Java/miscutil/core/gui/machine/GUI_NHG.java | 1 + .../registration/LateRegistrationHandler.java | 28 ++ .../handler/registration/RECIPES_GREGTECH.java | 85 ---- .../handler/registration/RECIPES_MTWRAPPER.java | 113 ----- .../handler/registration/RECIPES_Machines.java | 458 --------------------- .../handler/registration/RECIPES_Shapeless.java | 41 -- .../core/handler/registration/RECIPES_Tools.java | 176 -------- .../handler/registration/RegistrationHandler.java | 14 +- .../core/item/general/fuelrods/FuelRod_Base.java | 4 +- src/Java/miscutil/core/lib/LoadedMods.java | 10 + .../miscutil/core/tileentities/TileEntityNHG.java | 352 +++++++++------- src/Java/miscutil/core/util/Utils.java | 16 + src/Java/miscutil/core/util/UtilsItems.java | 40 +- .../core/util/recipe/RECIPES_GREGTECH.java | 85 ++++ .../core/util/recipe/RECIPES_MTWRAPPER.java | 113 +++++ .../core/util/recipe/RECIPES_Machines.java | 458 +++++++++++++++++++++ .../core/util/recipe/RECIPES_Shapeless.java | 41 ++ .../miscutil/core/util/recipe/RECIPES_Tools.java | 176 ++++++++ .../core/util/recipe/ShapedRecipeObject.java | 43 ++ 23 files changed, 1472 insertions(+), 1129 deletions(-) create mode 100644 src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java delete mode 100644 src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java delete mode 100644 src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java delete mode 100644 src/Java/miscutil/core/handler/registration/RECIPES_Machines.java delete mode 100644 src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java delete mode 100644 src/Java/miscutil/core/handler/registration/RECIPES_Tools.java create mode 100644 src/Java/miscutil/core/util/recipe/RECIPES_GREGTECH.java create mode 100644 src/Java/miscutil/core/util/recipe/RECIPES_MTWRAPPER.java create mode 100644 src/Java/miscutil/core/util/recipe/RECIPES_Machines.java create mode 100644 src/Java/miscutil/core/util/recipe/RECIPES_Shapeless.java create mode 100644 src/Java/miscutil/core/util/recipe/RECIPES_Tools.java create mode 100644 src/Java/miscutil/core/util/recipe/ShapedRecipeObject.java (limited to 'src/Java/miscutil/core') diff --git a/src/Java/miscutil/core/common/CommonProxy.java b/src/Java/miscutil/core/common/CommonProxy.java index 26c5775290..3ef3f87f77 100644 --- a/src/Java/miscutil/core/common/CommonProxy.java +++ b/src/Java/miscutil/core/common/CommonProxy.java @@ -2,20 +2,20 @@ package miscutil.core.common; import static miscutil.core.lib.CORE.DEBUG; import static miscutil.core.lib.LoadedMods.Gregtech; -import gregtech.api.util.GT_OreDictUnificator; import miscutil.core.block.ModBlocks; import miscutil.core.common.compat.COMPAT_HANDLER; +import miscutil.core.creative.AddToCreativeTab; import miscutil.core.gui.ModGUI; -import miscutil.core.handler.registration.RegistrationHandler; +import miscutil.core.handler.events.PickaxeBlockBreakEventHandler; import miscutil.core.item.ModItems; import miscutil.core.lib.CORE; +import miscutil.core.lib.LoadedMods; import miscutil.core.tileentities.ModTileEntities; +import miscutil.core.util.PlayerCache; import miscutil.core.util.Utils; -import miscutil.core.util.UtilsItems; +import miscutil.core.util.debug.DEBUG_INIT; import miscutil.gregtech.api.init.InitGregtech; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; +import net.minecraftforge.common.MinecraftForge; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @@ -23,12 +23,8 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class CommonProxy { public void preInit(FMLPreInitializationEvent e) { - /* - * - * CORE.DEBUG Parameters area - * - */ - //Logs + Utils.LOG_INFO("Doing some house cleaning."); + Utils.LOG_INFO("Making sure we're ready to party!"); if (!DEBUG){ Utils.LOG_WARNING("Development mode not enabled."); } @@ -38,48 +34,44 @@ public class CommonProxy { else { Utils.LOG_WARNING("Development mode not set."); } - /* - * End CORE.DEBUG - */ + ModItems.init(); ModBlocks.init(); - - /** - * Enable Dev mode related content - */ - if (CORE.DEBUG){ - //InitEnderIO.run(); - } - - //Register Gregtech related items if (Gregtech) { Utils.LOG_INFO("Gregtech Found - Loading Resources."); - //Utils.LOG_INFO("Begining initialization of Gregtech related content."); - // Init Gregtech InitGregtech.run(); - } else { Utils.LOG_WARNING("Gregtech not Found - Skipping Resources."); } - + LoadedMods.checkLoaded(); + AddToCreativeTab.initialiseTabs(); } public void init(FMLInitializationEvent e) { - - RegistrationHandler.run(); - + //Debug Loading + if (CORE.DEBUG){ + DEBUG_INIT.registerHandlers(); + } + MinecraftForge.EVENT_BUS.register(new PickaxeBlockBreakEventHandler()); + + //Compat Handling + COMPAT_HANDLER.InitialiseHandlerThenAddRecipes(); + COMPAT_HANDLER.registerMyModsOreDictEntries(); + COMPAT_HANDLER.intermodOreDictionarySupport(); } public void postInit(FMLPostInitializationEvent e) { - registerOreDict(); - COMPAT_HANDLER.loadGregAPIRecipes(); + Utils.LOG_INFO("Cleaning up, doing postInit."); + PlayerCache.initCache(); + //Compat Handling + COMPAT_HANDLER.RemoveRecipesFromOtherMods(); + COMPAT_HANDLER.InitialiseLateHandlerThenAddRecipes(); + COMPAT_HANDLER.startLoadingGregAPIBasedRecipes(); } public void registerNetworkStuff(){ ModGUI.init(); - //NetworkRegistry.INSTANCE.registerGuiHandler(MiscUtils.instance, new BloodSteelFurnaceGuiHandler()); - } public void registerTileEntities(){ @@ -90,34 +82,6 @@ public class CommonProxy { } - @SuppressWarnings("static-method") - private void registerOreDict(){ - - Utils.LOG_INFO("Registering Materials with OreDict."); - //In-house - - //tools - GT_OreDictUnificator.registerOre("craftingToolSandHammer", new ItemStack(ModItems.itemSandstoneHammer)); - GT_OreDictUnificator.registerOre("ingotBloodSteel", new ItemStack(ModItems.itemIngotBloodSteel)); - GT_OreDictUnificator.registerOre("ingotStaballoy", new ItemStack(ModItems.itemIngotStaballoy)); - - //Plates - GT_OreDictUnificator.registerOre("plateBloodSteel", new ItemStack(ModItems.itemPlateBloodSteel)); - GT_OreDictUnificator.registerOre("plateStaballoy", new ItemStack(ModItems.itemPlateStaballoy)); - - //Blocks - GT_OreDictUnificator.registerOre("blockStaballoy", new ItemStack(Item.getItemFromBlock(ModBlocks.blockStaballoy))); - OreDictionary.registerOre("blockBloodSteel", new ItemStack(ModBlocks.blockBloodSteel)); - - - for(int i=1; i<=10; i++){ - GT_OreDictUnificator.registerOre("bufferCore_"+CORE.VOLTAGES[i-1], new ItemStack(UtilsItems.getItem("miscutils:item.itemBufferCore"+i))); - } - - //Do Inter-Mod Compatibility - COMPAT_HANDLER.run(); - } - @SuppressWarnings("static-method") public int addArmor(String armor) { return 0; diff --git a/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java b/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java index 98988f25c0..bf4de21aca 100644 --- a/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java +++ b/src/Java/miscutil/core/common/compat/COMPAT_CompactWindmills.java @@ -1,20 +1,171 @@ package miscutil.core.common.compat; +import static miscutil.core.common.compat.COMPAT_HANDLER.AddRecipeQueue; import static miscutil.core.common.compat.COMPAT_HANDLER.RemoveRecipeQueue; +import miscutil.core.util.UtilsItems; +import miscutil.core.util.recipe.ShapedRecipeObject; +import net.minecraft.item.ItemStack; public class COMPAT_CompactWindmills { + //Change IC2 Upgrades + public static ItemStack kineticWind = UtilsItems.getItemStack("IC2:blockKineticGenerator", 1); + public static ItemStack shaftIron = UtilsItems.getItemStack("IC2:itemRecipePart:11", 1); + public static ItemStack cableCopper = UtilsItems.getItemStack("gregtech:gt.blockmachines:1367", 1); + public static String plateRubber ="ore:plateRubber"; + + //Machine Casings + public static ItemStack elvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings", 1); + public static ItemStack lvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:1", 1); + public static ItemStack mvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:2", 1); + public static ItemStack hvCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:3", 1); + public static ItemStack evCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:4", 1); + public static ItemStack ivCasing = UtilsItems.getItemStack("gregtech:gt.blockcasings:5", 1); + + //GT Transformers + public static ItemStack elvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:20", 1); + public static ItemStack lvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:21", 1); + public static ItemStack mvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:22", 1); + public static ItemStack hvTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:23", 1); + public static ItemStack evTransformer = UtilsItems.getItemStack("gregtech:gt.blockmachines:24", 1); + + //Compact Windmills + public static ItemStack elvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill", 1); + public static ItemStack lvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:1", 1); + public static ItemStack mvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:2", 1); + public static ItemStack hvWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:3", 1); + public static ItemStack evWindmill = UtilsItems.getItemStack("CompactWindmills:blockCompactWindmill:4", 1); + + //Compact Rotors + public static ItemStack rotor2 = UtilsItems.getItemStack("CompactWindmills:WOOL", 1); + public static ItemStack rotor1 = UtilsItems.getItemStack("CompactWindmills:WOOD", 1); + public static ItemStack rotor3 = UtilsItems.getItemStack("CompactWindmills:ALLOY", 1); + public static ItemStack rotor4 = UtilsItems.getItemStack("CompactWindmills:CARBON", 1); + public static ItemStack rotor5 = UtilsItems.getItemStack("CompactWindmills:IRIDIUM", 1); + + //IC2 Rotors + public static ItemStack rotorIC1 = UtilsItems.getItemStack("IC2:itemwoodrotor", 1); + public static ItemStack rotorIC2 = UtilsItems.getItemStack("IC2:itemironrotor", 1); + public static ItemStack rotorIC3 = UtilsItems.getItemStack("IC2:itemsteelrotor", 1); + public static ItemStack rotorIC4 = UtilsItems.getItemStack("IC2:itemwcarbonrotor", 1); + public static ItemStack rotorBlade1 = UtilsItems.getItemStack("IC2:itemRecipePart:7", 1); + public static ItemStack rotorBlade2 = UtilsItems.getItemStack("IC2:itemRecipePart:8", 1); + public static ItemStack rotorBlade3 = UtilsItems.getItemStack("IC2:itemRecipePart:10", 1); + public static ItemStack rotorBlade4 = UtilsItems.getItemStack("IC2:itemRecipePart:9", 1); + + //Plates + public static String plateTier1 = "ore:plateMagnalium"; + public static String plateTier2 = "ore:plateStainlessSteel"; + public static String plateTier3 = "ore:plateTitanium"; + public static String plateTier4 = "ore:plateTungstenSteel"; + public static String plateTier5 = "ore:plateNichrome"; + public static String plateCarbon = "ore:plateAlloyCarbon"; + public static String plateAlloy = "ore:plateAlloyAdvanced"; + + //Circuits + public static String circuitTier1 = "ore:circuitGood"; + public static String circuitTier2 = "ore:circuitAdvanced"; + public static String circuitTier3 = "ore:circuitData"; + public static String circuitTier4 = "ore:circuitElite"; + public static String circuitTier5 = "ore:circuitMaster"; + + //Wooden Rotor + public static ShapedRecipeObject Wooden_Rotor = new ShapedRecipeObject( + rotorBlade1, "ore:plateAnyIron", "ore:plateAnyIron", + "ore:screwAluminium", rotorIC1, "ore:screwAluminium", + rotorBlade1, "plateAnyIron", rotorBlade1, + rotor1); + //Alloy Rotor + public static ShapedRecipeObject Alloy_Rotor = new ShapedRecipeObject( + plateAlloy, plateAlloy, plateAlloy, + plateAlloy, rotorIC3, plateAlloy, + plateAlloy,plateAlloy, plateAlloy, + rotor3); + //Carbon Rotor + public static ShapedRecipeObject Carbon_Rotor = new ShapedRecipeObject( + plateCarbon, rotorBlade4, plateCarbon, + rotorBlade4, rotor3, rotorBlade4, + plateCarbon, rotorBlade4, plateCarbon, + rotor4); + + //Kinetic Wind Turbine + public static ShapedRecipeObject KWT = new ShapedRecipeObject( + plateCarbon, shaftIron, plateCarbon, + cableCopper, mvCasing, cableCopper, + plateRubber, plateCarbon, plateRubber, + kineticWind); + + //ELV Windmill + public static ShapedRecipeObject WM_ELV = new ShapedRecipeObject( + + circuitTier1, elvTransformer, circuitTier1, + plateTier1, lvCasing, plateTier1, + plateTier1, rotor1, plateTier1, + elvWindmill); + + + //LV Windmill + public static ShapedRecipeObject WM_LV = new ShapedRecipeObject( + circuitTier2, lvTransformer, circuitTier2, + plateTier2, mvCasing, plateTier2, + plateTier2, rotor2, plateTier2, + lvWindmill); + + //MV Windmill + public static ShapedRecipeObject WM_MV = new ShapedRecipeObject( + circuitTier3, mvTransformer, circuitTier3, + plateTier3, hvCasing, plateTier3, + plateTier3, rotor3, plateTier3, + mvWindmill); + + //HV Windmill + public static ShapedRecipeObject WM_HV = new ShapedRecipeObject( + circuitTier4, hvTransformer, circuitTier4, + plateTier4, evCasing, plateTier4, + plateTier4, rotor4, plateTier4, + hvWindmill); + + //EV Windmill + public static ShapedRecipeObject WM_EV = new ShapedRecipeObject( + circuitTier5, evTransformer, circuitTier5, + plateTier5, ivCasing, plateTier5, + plateTier5, rotor5, plateTier5, + evWindmill); + public static void OreDict(){ run(); } private static final void run(){ - RemoveRecipeQueue.add("CompactWindmills:WOOL"); - RemoveRecipeQueue.add("CompactWindmills:WOOD"); - RemoveRecipeQueue.add("CompactWindmills:ALLOY"); - RemoveRecipeQueue.add("CompactWindmills:CARBON"); - RemoveRecipeQueue.add("CompactWindmills:IRIDIUM"); + //RemoveRecipeQueue.add("CompactWindmills:WOOL"); + //RemoveRecipeQueue.add("CompactWindmills:WOOD"); + //RemoveRecipeQueue.add("CompactWindmills:ALLOY"); + //RemoveRecipeQueue.add("CompactWindmills:CARBON"); + //RemoveRecipeQueue.add("CompactWindmills:IRIDIUM"); + + //Remove Recipes + RemoveRecipeQueue.add(kineticWind); + RemoveRecipeQueue.add(elvWindmill); + RemoveRecipeQueue.add(lvWindmill); + RemoveRecipeQueue.add(mvWindmill); + RemoveRecipeQueue.add(hvWindmill); + RemoveRecipeQueue.add(evWindmill); + RemoveRecipeQueue.add(rotor1); + RemoveRecipeQueue.add(rotor3); + RemoveRecipeQueue.add(rotor4); + + //Add Recipes + AddRecipeQueue.add(Wooden_Rotor); + AddRecipeQueue.add(Alloy_Rotor); + AddRecipeQueue.add(Carbon_Rotor); + AddRecipeQueue.add(KWT); + AddRecipeQueue.add(WM_ELV); + AddRecipeQueue.add(WM_LV); + AddRecipeQueue.add(WM_MV); + AddRecipeQueue.add(WM_HV); + AddRecipeQueue.add(WM_EV); + } } diff --git a/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java b/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java index ee2ba9e230..7cac0bcef2 100644 --- a/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java +++ b/src/Java/miscutil/core/common/compat/COMPAT_HANDLER.java @@ -1,20 +1,59 @@ package miscutil.core.common.compat; import static miscutil.core.util.UtilsItems.removeCraftingRecipe; +import gregtech.api.util.GT_OreDictUnificator; import java.util.LinkedList; import java.util.Queue; -import miscutil.core.handler.registration.RECIPES_GREGTECH; +import miscutil.core.block.ModBlocks; +import miscutil.core.handler.registration.LateRegistrationHandler; +import miscutil.core.handler.registration.RegistrationHandler; +import miscutil.core.item.ModItems; +import miscutil.core.lib.CORE; import miscutil.core.lib.LoadedMods; +import miscutil.core.util.Utils; +import miscutil.core.util.UtilsItems; +import miscutil.core.util.recipe.RECIPES_GREGTECH; +import miscutil.core.util.recipe.ShapedRecipeObject; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class COMPAT_HANDLER { public static Queue RemoveRecipeQueue = new LinkedList(); - public static Queue AddRecipeQueue = new LinkedList(); + public static Queue AddRecipeQueue = new LinkedList(); + public static Boolean areInitItemsLoaded = false; + + + public static void registerMyModsOreDictEntries(){ + + Utils.LOG_INFO("Registering Materials with OreDict."); + //In-house + + //tools + GT_OreDictUnificator.registerOre("craftingToolSandHammer", new ItemStack(ModItems.itemSandstoneHammer)); + GT_OreDictUnificator.registerOre("ingotBloodSteel", new ItemStack(ModItems.itemIngotBloodSteel)); + GT_OreDictUnificator.registerOre("ingotStaballoy", new ItemStack(ModItems.itemIngotStaballoy)); + + //Plates + GT_OreDictUnificator.registerOre("plateBloodSteel", new ItemStack(ModItems.itemPlateBloodSteel)); + GT_OreDictUnificator.registerOre("plateStaballoy", new ItemStack(ModItems.itemPlateStaballoy)); + + //Blocks + GT_OreDictUnificator.registerOre("blockStaballoy", new ItemStack(Item.getItemFromBlock(ModBlocks.blockStaballoy))); + OreDictionary.registerOre("blockBloodSteel", new ItemStack(ModBlocks.blockBloodSteel)); + + + for(int i=1; i<=10; i++){ + GT_OreDictUnificator.registerOre("bufferCore_"+CORE.VOLTAGES[i-1], new ItemStack(UtilsItems.getItem("miscutils:item.itemBufferCore"+i))); + } + } + //InterMod - public static void run(){ + public static void intermodOreDictionarySupport(){ if (LoadedMods.Big_Reactors){ COMPAT_BigReactors.OreDict(); @@ -48,21 +87,21 @@ public class COMPAT_HANDLER { } } - public static void ServerStartedEvent(){ + public static void RemoveRecipesFromOtherMods(){ //Removal of Recipes for(Object item : RemoveRecipeQueue){ removeCraftingRecipe(item); - } + } } - public static void ServerStartedEvent_RECIPES(){ - //Remoal Recipes - for(Object item : AddRecipeQueue){ - removeCraftingRecipe(item); - } + public static void InitialiseHandlerThenAddRecipes(){ + RegistrationHandler.run(); + } + public static void InitialiseLateHandlerThenAddRecipes(){ + LateRegistrationHandler.run(); } - public static void loadGregAPIRecipes(){ + public static void startLoadingGregAPIBasedRecipes(){ RECIPES_GREGTECH.run(); } } diff --git a/src/Java/miscutil/core/common/compat/COMPAT_IC2.java b/src/Java/miscutil/core/common/compat/COMPAT_IC2.java index 50daca16ce..fe6d516fb2 100644 --- a/src/Java/miscutil/core/common/compat/COMPAT_IC2.java +++ b/src/Java/miscutil/core/common/compat/COMPAT_IC2.java @@ -1,24 +1,37 @@ package miscutil.core.common.compat; + +import static miscutil.core.common.compat.COMPAT_HANDLER.AddRecipeQueue; import static miscutil.core.common.compat.COMPAT_HANDLER.RemoveRecipeQueue; import miscutil.core.util.UtilsItems; +import miscutil.core.util.recipe.ShapedRecipeObject; import net.minecraft.item.ItemStack; public class COMPAT_IC2 { - private static ItemStack temp_1; - private static ItemStack temp_2; + private static ItemStack itemCropnalyzer = UtilsItems.getItemStack("IC2:itemCropnalyzer", 1); + private static ItemStack itemSolarHelmet = UtilsItems.getItemStack("IC2:itemSolarHelmet", 1); private static ItemStack temp_3; private static ItemStack temp_4; private static ItemStack temp_5; + public static ShapedRecipeObject Cropnalyzer = new ShapedRecipeObject( + "ore:cableGt02Copper", "ore:cableGt02Copper", null, + "minecraft:redstone", "ore:blockGlass", "minecraft:redstone", + "minecraft:redstone", "ore:circuitBasic", "minecraft:redstone", + itemCropnalyzer); + public static ShapedRecipeObject SolarHelmet = new ShapedRecipeObject( + "ore:plateIron", "ore:plateIron", "ore:plateIron", + "ore:plateIron", "gregtech:gt.metaitem.01:32750", "ore:plateIron", + "ore:craftingWireCopper", "ore:craftingWireCopper", "ore:craftingWireCopper", + itemSolarHelmet); public static void OreDict(){ //Get ItemStacks for results - temp_1 = UtilsItems.getItemStack("IC2:itemCropnalyzer", 1); - temp_2 = UtilsItems.getItemStack("IC2:itemSolarHelmet", 1); + /*itemCropnalyzer = UtilsItems.getItemStack("IC2:itemCropnalyzer", 1); + itemSolarHelmet = UtilsItems.getItemStack("IC2:itemSolarHelmet", 1); */ run(); } @@ -32,17 +45,11 @@ public class COMPAT_IC2 { RemoveRecipeQueue.add("IC2:itemCable:6"); RemoveRecipeQueue.add("IC2:itemCable:10"); RemoveRecipeQueue.add("IC2:itemCable:13"); + RemoveRecipeQueue.add(itemCropnalyzer); + RemoveRecipeQueue.add(itemSolarHelmet); - RemoveRecipeQueue.add(temp_1); - UtilsItems.recipeBuilder("ore:craftingWireCopper", "ore:craftingWireCopper", null, - "minecraft:redstone", "minecraft:glass", "minecraft:redstone", - "minecraft:redstone", "ore:circuitBasic", "minecraft:redstone", - temp_1); - RemoveRecipeQueue.add(temp_2); - UtilsItems.recipeBuilder("ore:plateIron", "ore:plateIron", "ore:plateIron", - "ore:plateIron", "gregtech:gt.metaitem.01:32750", "ore:plateIron", - "ore:craftingWireCopper", "ore:craftingWireCopper", "ore:craftingWireCopper", - temp_2); + AddRecipeQueue.add(Cropnalyzer); + AddRecipeQueue.add(SolarHelmet); } } diff --git a/src/Java/miscutil/core/gui/machine/GUI_NHG.java b/src/Java/miscutil/core/gui/machine/GUI_NHG.java index 632e9e29ac..b536157a49 100644 --- a/src/Java/miscutil/core/gui/machine/GUI_NHG.java +++ b/src/Java/miscutil/core/gui/machine/GUI_NHG.java @@ -45,5 +45,6 @@ public class GUI_NHG extends GuiContainer fontRendererObj.drawString(I18n.format(te.getInventoryName()), (xSize / 2) - (fontRendererObj.getStringWidth(I18n.format(te.getInventoryName())) / 2), 6, 4210752, false); //fontRendererObj.drawString(I18n.format(inventory.getInventoryName()), 8, ySize - 96 + 2, 4210752); fontRendererObj.drawString(I18n.format("CoreTemp:"+te.getCoreTemp()+"K"), 8, ySize - 96 + 2, 4210752); + fontRendererObj.drawString(I18n.format("Progress:"+te.getProgress()+"ticks"), 80, ySize - 96 + 2, 4210752); } } \ No newline at end of file diff --git a/src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java b/src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java new file mode 100644 index 0000000000..7c6396b338 --- /dev/null +++ b/src/Java/miscutil/core/handler/registration/LateRegistrationHandler.java @@ -0,0 +1,28 @@ +package miscutil.core.handler.registration; + +import miscutil.core.common.compat.COMPAT_HANDLER; +import miscutil.core.util.Utils; +import miscutil.core.util.recipe.ShapedRecipeObject; + +public class LateRegistrationHandler { + + public static int recipesSuccess = 0; + public static int recipesFailed = 0; + + public static void run(){ + init(); + } + + private final static void init(){ + for(ShapedRecipeObject item : COMPAT_HANDLER.AddRecipeQueue){ + item.buildRecipe(); + } + try { + Thread.sleep(10); + } catch (InterruptedException e) { + Utils.LOG_INFO(e.toString()); + } + Utils.LOG_INFO("Loaded: "+recipesSuccess+" Failed: "+recipesFailed); + } + +} diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java b/src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java deleted file mode 100644 index 75ea04e1e6..0000000000 --- a/src/Java/miscutil/core/handler/registration/RECIPES_GREGTECH.java +++ /dev/null @@ -1,85 +0,0 @@ -package miscutil.core.handler.registration; - -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; -import gregtech.api.util.GT_OreDictUnificator; -import miscutil.core.lib.CORE; -import miscutil.core.util.Utils; -import miscutil.core.util.UtilsItems; - -public class RECIPES_GREGTECH { - - public static void run(){ - Utils.LOG_INFO("Loading Recipes through GregAPI for Industrial Multiblocks."); - execute(); - } - - private static void execute(){ - cokeOvenRecipes(); - assemblerRecipes(); - - } - - private static void cokeOvenRecipes(){ - Utils.LOG_INFO("Loading Recipes for Industrial Coking Oven."); - - try { - - //GT Logs to Charcoal Recipe - //With Sulfuric Acid - CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 2L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2 - Materials.SulfuricAcid.getFluid(20L), //Fluid Input - Materials.Creosote.getFluid(175L), //Fluid Output - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 2L), //Item Output - 800, //Time in ticks - 30); //EU - }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} - try { - - //Coal -> Coke Recipe - //With Sulfuric Acid - CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 2L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2 - Materials.SulfuricAcid.getFluid(60L), //Fluid Input - Materials.Creosote.getFluid(250L), //Fluid Output - UtilsItems.getItemStack("Railcraft:fuel.coke", 2), //Item Output - 600, //Time in ticks - 120); //EU - }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} - - try { - //GT Logs to Charcoal Recipe - //Without Sulfuric Acid - CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 2L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1L), //Input 2 - Materials.SaltWater.getFluid(85L), //Fluid Input - Materials.Creosote.getFluid(145L), //Fluid Output - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 2L), //Item Output - 1200, //Time in ticks - 30); //EU - }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} - - try { - //Coal -> Coke Recipe - //Without Sulfuric Acid - CORE.RA.addCokeOvenRecipe( - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 2L), //Input 1 - GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1L), //Input 2 - Materials.SaltWater.getFluid(185L), //Fluid Input - Materials.Creosote.getFluid(200L), //Fluid Output - UtilsItems.getItemStack("Railcraft:fuel.coke", 2), //Item Output - 900, //Time in ticks - 120); //EU - }catch (NullPointerException e){Utils.LOG_INFO("FAILED TO LOAD RECIPES - NULL POINTER SOMEWHERE");} - } - - private static void assemblerRecipes(){ - //GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine2.get(1L, new Object[0]), 50, 16); - //GT_Values.RA.addAssemblerRecipe(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6L), ItemList.Casing_Turbine.get(1L, new Object[0]), ItemList.Casing_Turbine3.get(1L, new Object[0]), 50, 16); - - } -} \ No newline at end of file diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java b/src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java deleted file mode 100644 index 16ba377b07..0000000000 --- a/src/Java/miscutil/core/handler/registration/RECIPES_MTWRAPPER.java +++ /dev/null @@ -1,113 +0,0 @@ -package miscutil.core.handler.registration; - -import java.util.ArrayList; - -import miscutil.core.util.Utils; -import miscutil.core.util.UtilsItems; -import miscutil.core.util.wrapper.var; -import net.minecraft.item.ItemStack; - -public class RECIPES_MTWRAPPER { - - public static int MT_RECIPES_LOADED = 0; - public static int MT_RECIPES_FAILED = 0; - - static var chestWood = new var("minecraft:chest>"); - static var slabWood = new var("ore:slabWood>"); - static var gemNetherQuartz = new var("ore:gemNetherQuartz>"); - static var glass = new var("ore:blockGlass>"); - static var sensorDaylight = new var("minecraft:daylight_detector>"); - static var blazeRod = new var("minecraft:blaze_rod>"); - static var saw = new var("ore:craftingToolSaw>"); - static var logWood = new var("ore:logWood>"); - static var button = new var("minecraft:stone_button>"); - static var stoneBlock = new var("minecraft:stone>"); - - public static void run(){ - /*addShaped(button.getStack(2), - null, stoneBlock, null, - null, stoneBlock, null, - null, null, null);*/ - /*addShaped(stoneStick.getStack(1), - stoneBlock, null, null, - stoneBlock, null, null, - null, null, null);*/ - addShaped(chestWood.getStack(2), - logWood, logWood, logWood, - logWood, null, logWood, - logWood, logWood, logWood); - addShaped(chestWood.getStack(4), - logWood, logWood, logWood, - logWood, saw, logWood, - logWood, logWood, logWood); - //Recipe Fixes - //remove(sensorDaylight); - addShaped(sensorDaylight.getStack(1), - glass, glass, glass, - gemNetherQuartz, gemNetherQuartz, gemNetherQuartz, - slabWood, slabWood, slabWood); - /*addShaped(ironBars .getStack( 8), - null, "", null, - "", "", "", - "", "", "");*/ - } - - - public static void addShaped(Object item_Output, - Object item_1, Object item_2, Object item_3, - Object item_4, Object item_5, Object item_6, - Object item_7, Object item_8, Object item_9){ - - - /* - * - * var item_1, var item_2, var item_3, - var item_4, var item_5, var item_6, - var item_7, var item_8, var item_9 - * - * - */ - - ItemStack outputItem = UtilsItems.getCorrectStacktype(item_Output, 1); - - ArrayList validSlots = new ArrayList(); - String a,b,c,d,e,f,g,h,i; - if (item_1 == null){ a = " ";} else { a = "1";validSlots.add('1');validSlots.add(item_1);} - if (item_2 == null){ b = " ";} else { b = "2";validSlots.add('2');validSlots.add(item_2);} - if (item_3 == null){ c = " ";} else { c = "3";validSlots.add('3');validSlots.add(item_3);} - if (item_4 == null){ d = " ";} else { d = "4";validSlots.add('4');validSlots.add(item_4);} - if (item_5 == null){ e = " ";} else { e = "5";validSlots.add('5');validSlots.add(item_5);} - if (item_6 == null){ f = " ";} else { f = "6";validSlots.add('6');validSlots.add(item_6);} - if (item_7 == null){ g = " ";} else { g = "7";validSlots.add('7');validSlots.add(item_7);} - if (item_8 == null){ h = " ";} else { h = "8";validSlots.add('8');validSlots.add(item_8);} - if (item_9 == null){ i = " ";} else { i = "9";validSlots.add('9');validSlots.add(item_9);} - - String lineOne = a+b+c; - String lineTwo = d+e+f; - String lineThree = g+h+i; - validSlots.add(0, lineOne); - validSlots.add(1, lineTwo); - validSlots.add(2, lineThree); - - try { - UtilsItems.recipeBuilder((Object[]) validSlots.toArray(), outputItem.copy()); - MT_RECIPES_LOADED++; - } - catch(NullPointerException | ClassCastException k){ - k.getMessage(); - k.getClass(); - k.printStackTrace(); - k.getLocalizedMessage(); - Utils.LOG_WARNING("@@@: Invalid Recipe detected for: "+((var) item_Output).getsanitizedName()); - MT_RECIPES_FAILED++; - } - } - - public static void addShapeless(){ - - } - - - -} - diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_Machines.java b/src/Java/miscutil/core/handler/registration/RECIPES_Machines.java deleted file mode 100644 index b51e41b5ab..0000000000 --- a/src/Java/miscutil/core/handler/registration/RECIPES_Machines.java +++ /dev/null @@ -1,458 +0,0 @@ -package miscutil.core.handler.registration; - -import gregtech.api.enums.ItemList; -import miscutil.core.lib.LoadedMods; -import miscutil.core.util.Utils; -import miscutil.core.util.UtilsItems; -import miscutil.gregtech.api.enums.GregtechItemList; -import net.minecraft.item.ItemStack; - -public class RECIPES_Machines { - - //Outputs - //static ItemStack RECIPE_BufferCore_ULV = new ItemStack(GregtechEnergyBuffer.itemBufferCore); - static ItemStack RECIPE_SteamCondenser = GregtechItemList.Condensor_MAX.get(1); - static ItemStack RECIPE_IronBlastFurnace = GregtechItemList.Machine_Iron_BlastFurnace.get(1); - static ItemStack RECIPE_IronPlatedBricks = GregtechItemList.Casing_IronPlatedBricks.get(1); - static ItemStack RECIPE_Buffer_ULV = GregtechItemList.Energy_Buffer_1by1_ULV.get(1); - static ItemStack RECIPE_Buffer_LV = GregtechItemList.Energy_Buffer_1by1_LV.get(1); - static ItemStack RECIPE_Buffer_MV = GregtechItemList.Energy_Buffer_1by1_MV.get(1); - static ItemStack RECIPE_Buffer_HV = GregtechItemList.Energy_Buffer_1by1_HV.get(1); - static ItemStack RECIPE_Buffer_EV = GregtechItemList.Energy_Buffer_1by1_EV.get(1); - static ItemStack RECIPE_Buffer_IV = GregtechItemList.Energy_Buffer_1by1_IV.get(1); - static ItemStack RECIPE_Buffer_LuV = GregtechItemList.Energy_Buffer_1by1_LuV.get(1); - static ItemStack RECIPE_Buffer_ZPM = GregtechItemList.Energy_Buffer_1by1_ZPM.get(1); - static ItemStack RECIPE_Buffer_UV = GregtechItemList.Energy_Buffer_1by1_UV.get(1); - static ItemStack RECIPE_Buffer_MAX = GregtechItemList.Energy_Buffer_1by1_MAX.get(1); - //Industrial Centrifuge - static ItemStack RECIPE_IndustrialCentrifugeController = GregtechItemList.Industrial_Centrifuge.get(1); - static ItemStack RECIPE_IndustrialCentrifugeCasing = GregtechItemList.Casing_Centrifuge1.get(1); - //Industrial Coke Oven - static ItemStack RECIPE_IndustrialCokeOvenController = GregtechItemList.Industrial_CokeOven.get(1); - static ItemStack RECIPE_IndustrialCokeOvenFrame = GregtechItemList.Casing_CokeOven.get(1); - static ItemStack RECIPE_IndustrialCokeOvenCasingA = GregtechItemList.Casing_CokeOven_Coil1.get(1); - static ItemStack RECIPE_IndustrialCokeOvenCasingB = GregtechItemList.Casing_CokeOven_Coil2.get(1); - - - //Buffer Cores - static ItemStack RECIPE_BufferCore_ULV = UtilsItems.getItemStack("miscutils:item.itemBufferCore1", 1); - static ItemStack RECIPE_BufferCore_LV = UtilsItems.getItemStack("miscutils:item.itemBufferCore2", 1); - static ItemStack RECIPE_BufferCore_MV = UtilsItems.getItemStack("miscutils:item.itemBufferCore3", 1); - static ItemStack RECIPE_BufferCore_HV = UtilsItems.getItemStack("miscutils:item.itemBufferCore4", 1); - static ItemStack RECIPE_BufferCore_EV = UtilsItems.getItemStack("miscutils:item.itemBufferCore5", 1); - static ItemStack RECIPE_BufferCore_IV = UtilsItems.getItemStack("miscutils:item.itemBufferCore6", 1); - static ItemStack RECIPE_BufferCore_LuV = UtilsItems.getItemStack("miscutils:item.itemBufferCore7", 1); - static ItemStack RECIPE_BufferCore_ZPM = UtilsItems.getItemStack("miscutils:item.itemBufferCore8", 1); - static ItemStack RECIPE_BufferCore_UV = UtilsItems.getItemStack("miscutils:item.itemBufferCore9", 1); - static ItemStack RECIPE_BufferCore_MAX = UtilsItems.getItemStack("miscutils:item.itemBufferCore10", 1); - - - //Wire - static String wireTier1 = "wireGt08Lead"; - static String wireTier2 = "wireGt08Tin"; - static String wireTier3 = "wireGt08Copper"; - static String wireTier4 = "wireGt08Gold"; - static String wireTier5 = "wireGt08Aluminium"; - static String wireTier6 = "wireGt08Tungsten"; - static String wireTier7 = "wireGt08Osmium"; - static String wireTier8 = "wireGt08Naquadah"; - static String wireTier9 = "wireGt08Superconductor"; - static String wireTier10 = "wireGt16Superconductor"; - - //Wire - static String cableTier1 = "cableGt04Lead"; - static String cableTier2 = "cableGt04Tin"; - static String cableTier3 = "cableGt04Copper"; - static String cableTier4 = "cableGt04Gold"; - static String cableTier5 = "cableGt04Aluminium"; - static String cableTier6 = "cableGt04Tungsten"; - static String cableTier7 = "cableGt04Osmium"; - static String cableTier8 = "cableGt04Naquadah"; - static String cableTier9 = "cableGt04NiobiumTitanium"; - static String cableTier10 = "cableGt08NiobiumTitanium"; - - - //Plates - static String plateTier1 = "plateLead"; - static String plateTier2 = "plateTin"; - static String plateTier3 = "plateCopper"; - static String plateTier4 = "plateGold"; - static String plateTier5 = "plateAluminium"; - static String plateTier6 = "plateThorium"; - static String plateTier7 = "plateTungsten"; - static String plateTier8 = "plateTungstenSteel"; - static String plateTier9 = "plateOsmium"; - static String plateTier10 = "plateNaquadah"; - static String plateTier11 = "plateNeutronium"; - - //rods - static String rodTier1 = "stickLead"; - static String rodTier2 = "stickTin"; - static String rodTier3 = "stickCopper"; - static String rodTier4 = "stickGold"; - static String rodTier5 = "stickAluminium"; - static String rodTier6 = "stickThorium"; - static String rodTier7 = "stickTungsten"; - static String rodTier8 = "stickTungstenSteel"; - static String rodTier9 = "stickOsmium"; - static String rodTier10 = "stickNaquadah"; - static String rodTier11 = "stickNeutronium"; - - - //Machine Casings - static ItemStack machineCasing_ULV = ItemList.Casing_ULV.get(1); - static ItemStack machineCasing_LV = ItemList.Casing_LV.get(1); - static ItemStack machineCasing_MV = ItemList.Casing_MV.get(1); - static ItemStack machineCasing_HV = ItemList.Casing_HV.get(1); - static ItemStack machineCasing_EV = ItemList.Casing_EV.get(1); - static ItemStack machineCasing_IV = ItemList.Casing_IV.get(1); - static ItemStack machineCasing_LuV = ItemList.Casing_LuV.get(1); - static ItemStack machineCasing_ZPM = ItemList.Casing_ZPM.get(1); - static ItemStack machineCasing_UV = ItemList.Casing_UV.get(1); - static ItemStack machineCasing_MAX = ItemList.Casing_MAX.get(1); - - //Gearbox Casings - static ItemStack gearboxCasing_Tier_1 = ItemList.Casing_Gearbox_Bronze.get(1); - static ItemStack gearboxCasing_Tier_2 = ItemList.Casing_Gearbox_Steel.get(1); - static ItemStack gearboxCasing_Tier_3 = ItemList.Casing_Gearbox_Titanium.get(1); - static ItemStack gearboxCasing_Tier_4 = ItemList.Casing_Gearbox_TungstenSteel.get(1); - - //Cables - static String cableGt02Electrum = "cableGt02Electrum"; - - - //Plates - static String plateElectricalSteel= "plateElectricalSteel"; - static String plateEnergeticAlloy= "plateEnergeticAlloy"; - static String plateCobalt = "plateCobalt"; - static String plateBronze = "plateBronze"; - static String plateSteel = "plateSteel"; - - //Pipes - static String pipeLargeCopper="pipeLargeCopper"; - static String pipeHugeSteel="pipeHugeSteel"; - static String pipeHugeStainlessSteel="pipeHugeStainlessSteel"; - static String pipeHugeTitanium="pipeHugeTitanium"; - - //Lava Boiler - static ItemStack boiler_Coal = ItemList.Machine_Bronze_Boiler.get(1); - static ItemStack blockBricks = UtilsItems.getItemStack("minecraft:brick_block", 1); - - //Batteries - static String batteryBasic = "batteryBasic"; - static String batteryAdvanced = "batteryAdvanced"; - static String batteryElite = "batteryElite"; - static String batteryMaster = "batteryMaster"; - static String batteryUltimate = "batteryUltimate"; - - //Circuits - static String circuitPrimitive = "circuitPrimitive"; - static String circuitBasic = "circuitBasic"; - static String circuitGood = "circuitGood"; - static String circuitAdvanced = "circuitAdvanced"; - static String circuitData = "circuitData"; - static String circuitElite = "circuitElite"; - static String circuitMaster = "circuitMaster"; - static String circuitUltimate = "circuitUltimate"; - - //Machine Components - static ItemStack electricMotor_LV = ItemList.Electric_Motor_LV.get(1); - static ItemStack electricMotor_MV = ItemList.Electric_Motor_MV.get(1); - static ItemStack electricMotor_HV = ItemList.Electric_Motor_HV.get(1); - static ItemStack electricMotor_EV = ItemList.Electric_Motor_EV.get(1); - static ItemStack electricMotor_IV = ItemList.Electric_Motor_IV.get(1); - static ItemStack electricPump_LV = ItemList.Electric_Pump_LV.get(1); - static ItemStack electricPump_MV = ItemList.Electric_Pump_MV.get(1); - static ItemStack electricPump_HV = ItemList.Electric_Pump_HV.get(1); - static ItemStack electricPump_EV = ItemList.Electric_Pump_EV.get(1); - static ItemStack electricPump_IV = ItemList.Electric_Pump_IV.get(1); - static ItemStack electricPiston_LV = ItemList.Electric_Piston_LV.get(1); - static ItemStack electricPiston_MV = ItemList.Electric_Piston_MV.get(1); - static ItemStack electricPiston_HV = ItemList.Electric_Piston_HV.get(1); - static ItemStack electricPiston_EV = ItemList.Electric_Piston_EV.get(1); - static ItemStack electricPiston_IV = ItemList.Electric_Piston_IV.get(1); - static ItemStack robotArm_LV = ItemList.Robot_Arm_LV.get(1); - static ItemStack robotArm_MV = ItemList.Robot_Arm_MV.get(1); - static ItemStack robotArm_HV = ItemList.Robot_Arm_HV.get(1); - static ItemStack robotArm_EV = ItemList.Robot_Arm_EV.get(1); - static ItemStack robotArm_IV = ItemList.Robot_Arm_IV.get(1); - static ItemStack conveyorModule_LV = ItemList.Conveyor_Module_LV.get(1); - static ItemStack conveyorModule_MV = ItemList.Conveyor_Module_MV.get(1); - static ItemStack conveyorModule_HV = ItemList.Conveyor_Module_HV.get(1); - static ItemStack conveyorModule_EV = ItemList.Conveyor_Module_EV.get(1); - static ItemStack conveyorModule_IV = ItemList.Conveyor_Module_IV.get(1); - static ItemStack emitter_LV = ItemList.Emitter_LV.get(1); - static ItemStack emitter_MV = ItemList.Emitter_MV.get(1); - static ItemStack emitter_HV = ItemList.Emitter_HV.get(1); - static ItemStack emitter_EV = ItemList.Emitter_EV.get(1); - static ItemStack emitter_IV = ItemList.Emitter_IV.get(1); - static ItemStack fieldGenerator_LV = ItemList.Field_Generator_LV.get(1); - static ItemStack fieldGenerator_MV = ItemList.Field_Generator_MV.get(1); - static ItemStack fieldGenerator_HV = ItemList.Field_Generator_HV.get(1); - static ItemStack fieldGenerator_EV = ItemList.Field_Generator_EV.get(1); - static ItemStack fieldGenerator_IV = ItemList.Field_Generator_IV.get(1); - static ItemStack sensor_LV = ItemList.Sensor_LV.get(1); - static ItemStack sensor_MV = ItemList.Sensor_MV.get(1); - static ItemStack sensor_HV = ItemList.Sensor_HV.get(1); - static ItemStack sensor_EV = ItemList.Sensor_EV.get(1); - static ItemStack sensor_IV = ItemList.Sensor_IV.get(1); - - //Misc - static ItemStack INPUT_RCCokeOvenBlock = UtilsItems.getItemStackWithMeta(LoadedMods.Railcraft, "Railcraft:machine.alpha", "Coke_Oven_RC", 7, 1); - - - - //RobotArm, Conveyor, Emitter, Sensor, Field Generator - - - public static final void RECIPES_LOAD(){ - run(); - Utils.LOG_INFO("Loading Recipes for the Various machine blocks."); - } - - private static void run(){ - //Staballoy Dust - TEMP - UtilsItems.recipeBuilder("dustTitanium", "dustUranium", "dustUranium", - "dustUranium", "dustUranium", "dustUranium", - "dustUranium", "dustUranium", "dustUranium", - RECIPES_Shapeless.dustStaballoy); - - //Buffer Core - UtilsItems.recipeBuilder( - plateTier1, cableTier1, plateTier1, - circuitPrimitive, batteryBasic, circuitPrimitive, - plateTier1, cableTier1, plateTier1, - RECIPE_BufferCore_ULV); - UtilsItems.recipeBuilder( - plateTier2, cableTier2, plateTier2, - circuitBasic, batteryBasic, circuitBasic, - plateTier2, cableTier2, plateTier2, - RECIPE_BufferCore_LV); - UtilsItems.recipeBuilder( - plateTier3, cableTier3, plateTier3, - circuitGood, batteryAdvanced, circuitGood, - plateTier3, cableTier3, plateTier3, - RECIPE_BufferCore_MV); - UtilsItems.recipeBuilder( - plateTier4, cableTier4, plateTier4, - circuitAdvanced, batteryAdvanced, circuitAdvanced, - plateTier4, cableTier4, plateTier4, - RECIPE_BufferCore_HV); - UtilsItems.recipeBuilder( - plateTier5, cableTier5, plateTier5, - circuitData, batteryElite, circuitData, - plateTier5, cableTier5, plateTier5, - RECIPE_BufferCore_EV); - - UtilsItems.recipeBuilder( - plateTier6, cableTier6, plateTier6, - circuitData, batteryElite, circuitElite, - plateTier6, cableTier6, plateTier6, - RECIPE_BufferCore_IV); - UtilsItems.recipeBuilder( - plateTier7, cableTier7, plateTier7, - circuitElite, batteryMaster, circuitElite, - plateTier7, cableTier7, plateTier7, - RECIPE_BufferCore_LuV); - UtilsItems.recipeBuilder( - plateTier8, cableTier8, plateTier8, - circuitMaster, batteryMaster, circuitMaster, - plateTier8, cableTier8, plateTier8, - RECIPE_BufferCore_ZPM); - UtilsItems.recipeBuilder( - plateTier9, cableTier9, plateTier9, - circuitMaster, batteryUltimate, circuitUltimate, - plateTier9, cableTier9, plateTier9, - RECIPE_BufferCore_UV); - UtilsItems.recipeBuilder( - plateTier10, cableTier10, plateTier10, - circuitUltimate, batteryUltimate, circuitUltimate, - plateTier10, cableTier10, plateTier10, - RECIPE_BufferCore_MAX); - - - - - - - - - - - - - //Battery Buffer #1 - UtilsItems.recipeBuilder( - wireTier1, RECIPE_BufferCore_ULV, wireTier1, - wireTier1, machineCasing_ULV, wireTier1, - circuitPrimitive, null, circuitPrimitive, - RECIPE_Buffer_ULV); - - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier2, RECIPE_BufferCore_LV, wireTier2, - wireTier2, machineCasing_LV, wireTier2, - circuitPrimitive, circuitBasic, circuitPrimitive, - RECIPE_Buffer_LV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier3, RECIPE_BufferCore_MV, wireTier3, - wireTier3, machineCasing_MV, wireTier3, - circuitBasic, circuitGood, circuitBasic, - RECIPE_Buffer_MV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier4, RECIPE_BufferCore_HV, wireTier4, - wireTier4, machineCasing_HV, wireTier4, - circuitGood, circuitAdvanced, circuitGood, - RECIPE_Buffer_HV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier5, RECIPE_BufferCore_EV, wireTier5, - wireTier5, machineCasing_EV, wireTier5, - circuitAdvanced, circuitElite, circuitAdvanced, - RECIPE_Buffer_EV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier6, RECIPE_BufferCore_IV, wireTier6, - wireTier6, machineCasing_IV, wireTier6, - circuitElite, circuitMaster, circuitElite, - RECIPE_Buffer_IV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier7, RECIPE_BufferCore_LuV, wireTier7, - wireTier7, machineCasing_LuV, wireTier7, - circuitMaster, circuitElite, circuitMaster, - RECIPE_Buffer_LuV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier8, RECIPE_BufferCore_ZPM, wireTier8, - wireTier8, machineCasing_ZPM, wireTier8, - circuitMaster, circuitUltimate, circuitMaster, - RECIPE_Buffer_ZPM); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier9, RECIPE_BufferCore_UV, wireTier9, - wireTier9, machineCasing_UV, wireTier9, - circuitUltimate, circuitMaster, circuitUltimate, - RECIPE_Buffer_UV); - //Battery Buffer - UtilsItems.recipeBuilder( - wireTier10, RECIPE_BufferCore_MAX, wireTier10, - wireTier10, machineCasing_MAX, wireTier10, - circuitUltimate, plateTier11, circuitUltimate, - RECIPE_Buffer_MAX); - - - //Steam Condenser - UtilsItems.recipeBuilder( - pipeLargeCopper, pipeHugeSteel, pipeLargeCopper, - plateEnergeticAlloy, electricPump_HV, plateEnergeticAlloy, - plateEnergeticAlloy, pipeLargeCopper, plateEnergeticAlloy, - RECIPE_SteamCondenser); - - //Iron BF - UtilsItems.recipeBuilder( - "plateDoubleAnyIron", "craftingFurnace", "plateDoubleAnyIron", - boiler_Coal, machineCasing_ULV, boiler_Coal, - "plateDoubleAnyIron", "bucketLava", "plateDoubleAnyIron", - RECIPE_IronBlastFurnace); - - //Iron plated Bricks - UtilsItems.recipeBuilder( - "plateAnyIron", RECIPES_Tools.craftingToolHardHammer, "plateAnyIron", - "plateAnyIron", blockBricks, "plateAnyIron", - "plateAnyIron", RECIPES_Tools.craftingToolWrench, "plateAnyIron", - RECIPE_IronPlatedBricks); - - - - - //Industrial Centrifuge - UtilsItems.recipeBuilder( - circuitElite, pipeHugeStainlessSteel, circuitElite, - plateTier6, electricPump_EV, plateTier6, - plateTier8, machineCasing_EV, plateTier8, - RECIPE_IndustrialCentrifugeController); - - //Centrifuge Casing - UtilsItems.recipeBuilder( - plateTier6, "stickElectrum", plateTier6, - plateTier8, "stickElectrum", plateTier8, - plateTier6, "stickElectrum", plateTier6, - RECIPE_IndustrialCentrifugeCasing); - - //Industrial Coke Oven - UtilsItems.recipeBuilder( - plateCobalt, circuitAdvanced, plateCobalt, - machineCasing_HV, INPUT_RCCokeOvenBlock, machineCasing_HV, - plateCobalt, circuitAdvanced, plateCobalt, - RECIPE_IndustrialCokeOvenController); - - //Coke Oven Frame Casing - UtilsItems.recipeBuilder( - plateTier8, rodTier8, plateTier8, - rodTier8, "frameGtCobalt", rodTier8, - plateTier8, rodTier8, plateTier8, - RECIPE_IndustrialCokeOvenFrame); - - //Coke Oven Coil 1 - UtilsItems.recipeBuilder( - plateBronze, plateBronze, plateBronze, - "frameGtBronze", gearboxCasing_Tier_1, "frameGtBronze", - plateBronze, plateBronze, plateBronze, - RECIPE_IndustrialCokeOvenCasingA); - - //Coke Oven Coil 2 - UtilsItems.recipeBuilder( - plateSteel, plateSteel, plateSteel, - "frameGtSteel", gearboxCasing_Tier_2, "frameGtSteel", - plateSteel, plateSteel, plateSteel, - RECIPE_IndustrialCokeOvenCasingB); - - - - - - - - - - - - - - - - - - - - - - Utils.LOG_INFO("Done loading recipes for the Various machine blocks."); - - - - - - - - - - - - - - - - - - - - - - - - } -} diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java b/src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java deleted file mode 100644 index 34eefffea3..0000000000 --- a/src/Java/miscutil/core/handler/registration/RECIPES_Shapeless.java +++ /dev/null @@ -1,41 +0,0 @@ -package miscutil.core.handler.registration; - -import gregtech.api.enums.ItemList; -import miscutil.core.lib.LoadedMods; -import miscutil.core.util.Utils; -import miscutil.core.util.UtilsItems; -import net.minecraft.item.ItemStack; - -public class RECIPES_Shapeless { - - static ItemStack dustStaballoy = UtilsItems.getItemStackWithMeta(LoadedMods.Gregtech, "gregtech:gt.metaitem.01", "Staballoy Dust", 2319, 1); - - //Circuits - static String circuitPrimitive = "circuitPrimitive"; - static String circuitBasic = "circuitBasic"; - static String circuitGood = "circuitGood"; - static String circuitAdvanced = "circuitAdvanced"; - static String circuitData = "circuitData"; - static String circuitElite = "circuitElite"; - static String circuitMaster = "circuitMaster"; - static String circuitUltimate = "circuitUltimate"; - static ItemStack gearboxCasing_Tier_1 = ItemList.Casing_Gearbox_Bronze.get(1); - - public static final void RECIPES_LOAD(){ - //run(); - Utils.LOG_INFO("Loading Shapeless Recipes."); - } - - private static void run(){ - UtilsItems.shapelessBuilder(dustStaballoy, - "dustTitanium", "dustUranium", "dustUranium", - "dustUranium", "dustUranium", "dustUranium", - "dustUranium", "dustUranium", "dustUranium"); - - UtilsItems.shapelessBuilder(gearboxCasing_Tier_1, - circuitPrimitive, circuitPrimitive, circuitPrimitive, - circuitPrimitive, circuitPrimitive, circuitPrimitive, - circuitPrimitive, circuitPrimitive, circuitPrimitive); - } - -} diff --git a/src/Java/miscutil/core/handler/registration/RECIPES_Tools.java b/src/Java/miscutil/core/handler/registration/RECIPES_Tools.java deleted file mode 100644 index 3e9d36c0ab..0000000000 --- a/src/Java/miscutil/core/handler/registration/RECIPES_Tools.java +++ /dev/null @@ -1,176 +0,0 @@ -package miscutil.core.handler.registration; - -import miscutil.core.item.ModItems; -import miscutil.core.util.UtilsItems; -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraftforge.oredict.OreDictionary; - -public class RECIPES_Tools { - - //Outputs - static ItemStack RECIPE_StaballoyPickaxe = new ItemStack(ModItems.itemStaballoyPickaxe); - static ItemStack RECIPE_StaballoyAxe = new ItemStack(ModItems.itemStaballoyAxe); - static ItemStack RECIPE_SandstoneHammer = new ItemStack(ModItems.itemSandstoneHammer); - static ItemStack RECIPE_StaballoyIngot = new ItemStack(ModItems.itemIngotStaballoy); - static ItemStack RECIPE_SandStone = new ItemStack(Blocks.sandstone, 2); - static ItemStack RECIPE_Sand = new ItemStack(Blocks.sand, 4); - - static ItemStack RECIPE_DivisionSigil = new ItemStack(UtilsItems.getItem("ExtraUtilities:divisionSigil")); - - //MC Items - static Item Apple = Items.apple; - - //MC Blocks - static Block CobbleStone = Blocks.cobblestone; - static Block Dirt = Blocks.dirt; - static Block Sand = Blocks.sand; - static Block Gravel = Blocks.gravel; - static Block Sandstone = Blocks.sandstone; - - //null - static String empty = " "; - - //Batteries - static String batteryBasic = "batteryBasic"; - static String batteryAdvanced = "batteryAdvanced"; - static String batteryElite = "batteryElite"; - static String batteryMaster = "batteryMaster"; - static String batteryUltimate = "batteryUltimate"; - - //Circuits - static String circuitPrimitive = "circuitPrimitive"; - static String circuitBasic = "circuitBasic"; - static String circuitGood = "circuitGood"; - static String circuitAdvanced = "circuitAdvanced"; - static String circuitElite = "circuitElite"; - static String circuitMaster = "circuitMaster"; - static String circuitUltimate = "circuitUltimate"; - - //Cables - static String cableGt01Electrum = "cableGt01Electrum"; - static String cableGt02Electrum = "cableGt02Electrum"; - static String cableGt01RedstoneAlloy = "cableGt01RedstoneAlloy"; - static String cableGt02RedstoneAlloy = "cableGt02RedstoneAlloy"; - static String cableGt01Copper = "cableGt01Copper"; - static String cableGt02Copper = "cableGt02Copper"; - static String cableGt01AnnealedCopper = "cableGt01AnnealedCopper"; - static String cableGt02AnnealedCopper = "cableGt02AnnealedCopper"; - - //Rods - static String stickStaballoy= "stickStaballoy"; - static String stickTitanium= "stickTitanium"; - static String stickIron= "stickIron"; - static String stickGold= "stickGold"; - static String stickSilver= "stickSilver"; - static String stickSteel= "stickSteel"; - static String stickBronze= "stickBronze"; - static String stickTungsten= "stickTungsten"; - static String stickRedAlloy= "stickRedAlloy"; - static String stickInvar= "stickInvar"; - static String stickElectrum= "stickElectrum"; - static String stickElectricalSteel= "stickElectricalSteel"; - - //Plates - static String plateStaballoy= "plateStaballoy"; - static String plateTitanium= "plateTitanium"; - static String plateIron= "plateIron"; - static String plateGold= "plateGold"; - static String plateSilver= "plateSilver"; - static String plateSteel= "plateSteel"; - static String plateBronze= "plateBronze"; - static String plateTungsten= "plateTungsten"; - static String plateRedAlloy= "plateRedAlloy"; - static String plateInvar= "plateInvar"; - static String plateElectrum= "plateElectrum"; - static String plateElectricalSteel= "plateElectricalSteel"; - - //Ingots - static String ingotStaballoy= "ingotStaballoy"; - static String ingotTitanium= "ingotTitanium"; - static String ingotIron= "ingotIron"; - static String ingotGold= "ingotGold"; - static String ingotSilver= "ingotSilver"; - static String ingotSteel= "ingotSteel"; - static String ingotBronze= "ingotBronze"; - static String ingotTungsten= "ingotTungsten"; - static String ingotRedAlloy= "ingotRedAlloy"; - static String ingotInvar= "ingotInvar"; - static String ingotElectrum= "ingotElectrum"; - static String ingotUranium= "ingotUranium"; - static String ingotElectricalSteel= "ingotElectricalSteel"; - - //Crafting Tools - static String craftingToolHardHammer = "craftingToolHardHammer"; - static String craftingToolSoftHammer = "craftingToolSoftHammer"; - static String craftingToolFile = "craftingToolFile"; - static String craftingToolSaw = "craftingToolSaw"; - static String craftingToolPickaxe = "craftingToolPickaxe"; - static String craftingToolWrench = "craftingToolWrench"; - static String craftingToolCrowbar = "craftingToolCrowbar"; - static String craftingToolKnife = "craftingToolKnife"; - static String craftingToolScrewdriver = "craftingToolScrewdriver"; - - static ItemStack sandHammer = new ItemStack (ModItems.itemSandstoneHammer, 1, OreDictionary.WILDCARD_VALUE); - static String craftingToolSandHammer = "craftingToolSandHammer"; - - public static final void RECIPES_LOAD(){ - - //plateStaballoy = new ItemStack(ModItems.itemPlateStaballoy); - //ingotStaballoy = new ItemStack(ModItems.itemIngotStaballoy); - - //Pickaxes - run(); - - } - - private static void run(){ - //Staballoy Pickaxe - UtilsItems.recipeBuilder( - plateStaballoy, plateStaballoy, ingotStaballoy, - craftingToolFile, stickTungsten, craftingToolHardHammer, - craftingToolWrench, stickTungsten, craftingToolHardHammer, - RECIPE_StaballoyPickaxe); - - //Staballoy Axe - UtilsItems.recipeBuilder( - plateStaballoy, ingotStaballoy, craftingToolHardHammer, - plateStaballoy, stickTungsten, craftingToolHardHammer, - craftingToolFile, stickTungsten, craftingToolWrench, - RECIPE_StaballoyAxe); - - //Cobble to Sand - UtilsItems.recipeBuilder( - CobbleStone, CobbleStone, CobbleStone, - CobbleStone, sandHammer, CobbleStone, - CobbleStone, CobbleStone, CobbleStone, - RECIPE_Sand); - - //Sand to Sandstone - UtilsItems.recipeBuilder( - Sand, Sand, Sand, - Sand, sandHammer, Sand, - Sand, Sand, Sand, - RECIPE_SandStone); - - //Sandstone Hammer - UtilsItems.recipeBuilder( - plateElectrum, ingotElectrum, plateElectrum, - craftingToolScrewdriver, stickBronze, craftingToolHardHammer, - null, stickSteel, null, - RECIPE_SandstoneHammer); - - //Division Sigil - UtilsItems.recipeBuilder( - "plateNetherStar", "gemIridium", "plateNetherStar", - "plateIridium", craftingToolHardHammer, "plateIridium", - "plateNetherStar", "gemIridium", "plateNetherStar", - RECIPE_DivisionSigil); - - - } - -} diff --git a/src/Java/miscutil/core/handler/registration/RegistrationHandler.java b/src/Java/miscutil/core/handler/registration/RegistrationHandler.java index 9f100117fc..7bb3d33f84 100644 --- a/src/Java/miscutil/core/handler/registration/RegistrationHandler.java +++ b/src/Java/miscutil/core/handler/registration/RegistrationHandler.java @@ -1,6 +1,10 @@ package miscutil.core.handler.registration; +import miscutil.core.common.compat.COMPAT_HANDLER; import miscutil.core.util.Utils; +import miscutil.core.util.recipe.RECIPES_Machines; +import miscutil.core.util.recipe.RECIPES_Shapeless; +import miscutil.core.util.recipe.RECIPES_Tools; public class RegistrationHandler { @@ -15,14 +19,10 @@ public class RegistrationHandler { RECIPES_Tools.RECIPES_LOAD(); RECIPES_Machines.RECIPES_LOAD(); RECIPES_Shapeless.RECIPES_LOAD(); - //RECIPES_MTWRAPPER.run(); - try { - Thread.sleep(10); - } catch (InterruptedException e) { - Utils.LOG_INFO(e.toString()); - } + //RECIPES_MTWRAPPER.run(); Utils.LOG_INFO("Loaded: "+recipesSuccess+" Failed: "+recipesFailed); - Utils.LOG_INFO("MT Loaded: "+RECIPES_MTWRAPPER.MT_RECIPES_LOADED+" MT Failed: "+RECIPES_MTWRAPPER.MT_RECIPES_FAILED); + COMPAT_HANDLER.areInitItemsLoaded = true; + //Utils.LOG_INFO("MT Loaded: "+RECIPES_MTWRAPPER.MT_RECIPES_LOADED+" MT Failed: "+RECIPES_MTWRAPPER.MT_RECIPES_FAILED); } } diff --git a/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java b/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java index 9a3de2c08f..56fe598a3b 100644 --- a/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java +++ b/src/Java/miscutil/core/item/general/fuelrods/FuelRod_Base.java @@ -196,9 +196,11 @@ public class FuelRod_Base extends Item{ itemStack.stackTagCompound.setInteger("fuelRemaining", fuelRemaining); itemStack.stackTagCompound.setInteger("maximumFuel", maximumFuel); itemStack.stackTagCompound.setFloat("heat", heat); - itemStack.stackTagCompound.setFloat("maxHeat", maxHeat); + itemStack.stackTagCompound.setFloat("maxHeat", getMaxHeat()); itemStack.stackTagCompound.setString("fuelType", fuelType); } + + } diff --git a/src/Java/miscutil/core/lib/LoadedMods.java b/src/Java/miscutil/core/lib/LoadedMods.java index 896108052c..efce85b11a 100644 --- a/src/Java/miscutil/core/lib/LoadedMods.java +++ b/src/Java/miscutil/core/lib/LoadedMods.java @@ -1,6 +1,7 @@ package miscutil.core.lib; import miscutil.core.util.Utils; +import miscutil.gregtech.common.GregtechRecipeAdder; import cpw.mods.fml.common.Loader; public class LoadedMods { @@ -24,10 +25,19 @@ public class LoadedMods { private static int totalMods; + @SuppressWarnings("deprecation") public static void checkLoaded(){ Utils.LOG_INFO("Looking for optional mod prereqs."); if (Loader.isModLoaded("gregtech") == true ){ Gregtech = true; + if (Gregtech){ + try { + CORE.sRecipeAdder = CORE.RA = new GregtechRecipeAdder(); + } catch (NullPointerException e){ + + } + } + totalMods++; } if (Loader.isModLoaded("EnderIO") == true){ diff --git a/src/Java/miscutil/core/tileentities/TileEntityNHG.java b/src/Java/miscutil/core/tileentities/TileEntityNHG.java index b145bd2742..6775fe515b 100644 --- a/src/Java/miscutil/core/tileentities/TileEntityNHG.java +++ b/src/Java/miscutil/core/tileentities/TileEntityNHG.java @@ -15,7 +15,8 @@ public class TileEntityNHG extends TileEntity implements IInventory { private ItemStack[] items = new ItemStack[19]; //18 private int progress = 1; - private int maxProgress = 100; + private int maxProgress = 1800; + private int heatCycleProgress = 120; public float coreTemp; public float maxTemp = 10000; private boolean fuelrod_1 = false; @@ -41,44 +42,67 @@ public class TileEntityNHG extends TileEntity implements IInventory return coreTemp; } + public int getProgress(){ + return progress; + } + public boolean isValidFuelRod(ItemStack input){ - if (input != null){ - if (input.getItem() instanceof FuelRod_Base){ - int fuelRodFuelLevel = getRodFuelValue(input); - float fuelRodHeatLevel = getRodHeatValue(input); - if((fuelRodHeatLevel <= 0 || fuelRodHeatLevel == 0) && fuelRodFuelLevel > 0){ - - if(fuelRodFuelLevel <= 0 || fuelRodFuelLevel == 0){ - return false; + if(!this.worldObj.isRemote){ + if (input != null){ + if (input.getItem() instanceof FuelRod_Base){ + int fuelRodFuelLevel = getRodFuelValue(input); + float fuelRodHeatLevel = getRodHeatValue(input); + Utils.LOG_WARNING("Fuel Left: "+fuelRodFuelLevel+" Current Temp: "+fuelRodHeatLevel); + return true; + //return input.stackTagCompound.getInteger("code"); + } + } + + } + return false; + } + + public ItemStack doFuelRodHeatDamage(ItemStack input){ + if(!this.worldObj.isRemote){ + if (input != null){ + if (isValidFuelRod(input)){ + int fuelRodFuelLevel = getRodFuelValue(input); + float fuelRodHeatLevel = getRodHeatValue(input); + if((fuelRodHeatLevel <= 0 || fuelRodHeatLevel == 0) && fuelRodFuelLevel > 0){ + + if(fuelRodFuelLevel <= 0 || fuelRodFuelLevel == 0){ + return null; + } + else if(fuelRodFuelLevel >= 5){ + int tempInt=fuelRodFuelLevel; + float tempFloat=fuelRodHeatLevel; + ItemStack output = input.copy(); + output.stackTagCompound.setInteger("fuelRemaining", tempInt-5); + output.stackTagCompound.setFloat("heat", tempFloat+5); + + return output; + } + else { + return null; + } } - else if(fuelRodFuelLevel >= 5){ - input.stackTagCompound.setInteger("fuelRemaining", fuelRodFuelLevel-5); - input.stackTagCompound.setFloat("heat", fuelRodHeatLevel+5); - return true; + else if(fuelRodHeatLevel >= 5 && fuelRodFuelLevel == 0){ + input.stackTagCompound.setInteger("heat", -5); + return input; } else { - return false; + return null; } } - else if(fuelRodHeatLevel >= 5 && fuelRodFuelLevel == 0){ - input.stackTagCompound.setInteger("hea