diff options
19 files changed, 225 insertions, 78 deletions
diff --git a/src/Java/gtPlusPlus/GTplusplus.java b/src/Java/gtPlusPlus/GTplusplus.java index 5ac47f085f..6bd45fd46f 100644 --- a/src/Java/gtPlusPlus/GTplusplus.java +++ b/src/Java/gtPlusPlus/GTplusplus.java @@ -143,7 +143,6 @@ public class GTplusplus implements ActionListener { proxy.postInit(event); BookHandler.runLater(); Core_Manager.postInit(); - RecipeGen_Recycling.executeGenerators(); Logger.INFO("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); Logger.INFO("| Recipes succesfully Loaded: " + RegistrationHandler.recipesSuccess + " | Failed: " diff --git a/src/Java/gtPlusPlus/core/common/CommonProxy.java b/src/Java/gtPlusPlus/core/common/CommonProxy.java index 8a1ef34b68..de0cfe4711 100644 --- a/src/Java/gtPlusPlus/core/common/CommonProxy.java +++ b/src/Java/gtPlusPlus/core/common/CommonProxy.java @@ -7,6 +7,8 @@ import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.entity.Entity; +import gregtech.api.enums.ItemList; + import gtPlusPlus.GTplusplus; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.ChunkManager; @@ -21,6 +23,7 @@ import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.ConfigSwitches; import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.Material; import gtPlusPlus.core.recipe.RECIPES_Old_Circuits; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.tileentities.ModTileEntities; @@ -34,6 +37,7 @@ import net.minecraftforge.common.ForgeChunkManager; public class CommonProxy { public static Meta_GT_Proxy GtProxy; + private boolean mFluidsGenerated = false; public CommonProxy(){ //Should Register Gregtech Materials I've Made @@ -92,7 +96,10 @@ public class CommonProxy { Logger.INFO("[Proxy] Calling Render registrator."); registerRenderThings(); - + if (!mFluidsGenerated && ItemList.valueOf("Cell_Empty").hasBeenSet()) { + Material.generateQueuedFluids(); + mFluidsGenerated = true; + } } public void init(final FMLInitializationEvent e) { @@ -100,7 +107,15 @@ public class CommonProxy { if (CORE.DEBUG){ DEBUG_INIT.registerHandlers(); } - + if (!mFluidsGenerated && ItemList.valueOf("Cell_Empty").hasBeenSet()) { + Material.generateQueuedFluids(); + mFluidsGenerated = true; + } + else { + Logger.INFO("[ERROR] Did not generate fluids at all."); + Logger.WARNING("[ERROR] Did not generate fluids at all."); + Logger.ERROR("[ERROR] Did not generate fluids at all."); + } CI.init(); /** diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index 4066592f88..7f35c3b9b9 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -4,6 +4,7 @@ import static gtPlusPlus.core.lib.LoadedMods.Gregtech; import java.util.LinkedList; import java.util.Queue; +import java.util.Set; import net.minecraft.item.ItemStack; @@ -16,9 +17,11 @@ import gtPlusPlus.core.handler.Recipes.LateRegistrationHandler; import gtPlusPlus.core.handler.Recipes.RegistrationHandler; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.material.MaterialGenerator; import gtPlusPlus.core.recipe.*; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.minecraft.RecipeUtils; +import gtPlusPlus.xmod.gregtech.loaders.RecipeGen_Recycling; import gtPlusPlus.xmod.gregtech.registration.gregtech.*; public class COMPAT_HANDLER { @@ -167,6 +170,14 @@ public class COMPAT_HANDLER { } public static void startLoadingGregAPIBasedRecipes(){ - RECIPES_GREGTECH.run(); + //Add hand-made recipes + RECIPES_GREGTECH.run(); + //Add autogenerated Recipes from Item Components + for (Set<Runnable> m : MaterialGenerator.mRecipeMapsToGenerate) { + for (Runnable r : m) { + r.run(); + } + } + RecipeGen_Recycling.executeGenerators(); } } diff --git a/src/Java/gtPlusPlus/core/material/Material.java b/src/Java/gtPlusPlus/core/material/Material.java index 13c7e99887..f02e21291a 100644 --- a/src/Java/gtPlusPlus/core/material/Material.java +++ b/src/Java/gtPlusPlus/core/material/Material.java @@ -3,6 +3,8 @@ package gtPlusPlus.core.material; import static gregtech.api.enums.GT_Values.M; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -27,6 +29,8 @@ import net.minecraftforge.fluids.FluidStack; public class Material { + public static final Set<Material> mMaterialMap = new HashSet<Material>(); + private String unlocalizedName; private String localizedName; @@ -117,6 +121,11 @@ public class Material { } public Material(final String materialName, final MaterialState defaultState, final TextureSet set, final long durability, final short[] rgba, final int meltingPoint, final int boilingPoint, final long protons, final long neutrons, final boolean blastFurnace, final String chemicalSymbol, final int radiationLevel, boolean generateCells, boolean generateFluid, final MaterialStack... inputs){ + + if (mMaterialMap.add(this)) { + //Placeholder + } + try { this.unlocalizedName = Utils.sanitizeString(materialName); this.localizedName = materialName; @@ -293,7 +302,7 @@ public class Material { this.vMoltenFluid = FluidUtils.getFluidStack(localizedName, 1).getFluid(); } else if (isValid == null || isValid == Materials._NULL){ - this.vMoltenFluid = this.generateFluid(); + queueFluidGeneration(); } else { if (isValid.mFluid != null){ @@ -303,7 +312,7 @@ public class Material { this.vMoltenFluid = isValid.mGas; } else { - this.vMoltenFluid = this.generateFluid(); + queueFluidGeneration(); } } @@ -744,6 +753,21 @@ public class Material { } + public final boolean queueFluidGeneration() { + return isFluidQueued = true; + } + + public final static void generateQueuedFluids() { + for (Material m : mMaterialMap) { + if (m.isFluidQueued) { + m.vMoltenFluid = m.generateFluid(); + } + } + } + + //If we need a fluid, let's just queue it for later. + public boolean isFluidQueued = false; + public final Fluid generateFluid(){ if (this.materialState == MaterialState.ORE){ return null; @@ -817,6 +841,24 @@ public class Material { } } + FluidStack aTest1 = FluidUtils.getFluidStack("molten."+Utils.sanitizeString(this.getLocalizedName()), 1); + FluidStack aTest2 = FluidUtils.getFluidStack("fluid."+Utils.sanitizeString(this.getLocalizedName()), 1); + FluidStack aTest3 = FluidUtils.getFluidStack(Utils.sanitizeString(this.getLocalizedName()), 1); + + if (aTest1 != null) { + Logger.INFO("Found FluidRegistry entry for "+"molten."+Utils.sanitizeString(this.getLocalizedName())); + return aTest1.getFluid(); + } + if (aTest2 != null) { + Logger.INFO("Found FluidRegistry entry for "+"fluid."+Utils.sanitizeString(this.getLocalizedName())); + return aTest2.getFluid(); + } + if (aTest3 != null) { + Logger.INFO("Found FluidRegistry entry for "+Utils.sanitizeString(this.getLocalizedName())); + return aTest3.getFluid(); + } + + Logger.INFO("Generating our own fluid."); //Generate a Cell if we need to if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1) == null){ @@ -837,7 +879,7 @@ public class Material { this.materialState.ID(), this.getMeltingPointK(), ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1), - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); } else if (this.materialState == MaterialState.LIQUID){ @@ -848,7 +890,7 @@ public class Material { this.materialState.ID(), this.getMeltingPointK(), ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1), - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); } else if (this.materialState == MaterialState.GAS){ @@ -859,7 +901,7 @@ public class Material { this.materialState.ID(), this.getMeltingPointK(), ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+this.getUnlocalizedName(), 1), - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); } else { //Plasma diff --git a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java index 4dc7987448..f1155c33f5 100644 --- a/src/Java/gtPlusPlus/core/material/MaterialGenerator.java +++ b/src/Java/gtPlusPlus/core/material/MaterialGenerator.java @@ -1,9 +1,12 @@ package gtPlusPlus.core.material; +import java.util.Set; + import net.minecraft.block.Block; import net.minecraft.item.Item; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.core.block.base.BasicBlock.BlockTypes; import gtPlusPlus.core.block.base.BlockBaseModular; import gtPlusPlus.core.block.base.BlockBaseOre; @@ -29,6 +32,20 @@ import gtPlusPlus.xmod.gregtech.loaders.*; public class MaterialGenerator { + public static final AutoMap<Set<Runnable>> mRecipeMapsToGenerate = new AutoMap<Set<Runnable>>(); + + static { + mRecipeMapsToGenerate.put(RecipeGen_DustGeneration.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_MaterialProcessing.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_Fluids.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_ShapedCrafting.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_Assembler.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_Extruder.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_Plates.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_AlloySmelter.mRecipeGenMap); + mRecipeMapsToGenerate.put(RecipeGen_BlastSmelter.mRecipeGenMap); + } + public static void generate(final Material matInfo){ generate(matInfo, true); } @@ -133,17 +150,18 @@ public class MaterialGenerator { } //Add A jillion Recipes - old code - RecipeGen_AlloySmelter.generateRecipes(matInfo); - RecipeGen_Assembler.generateRecipes(matInfo); + new RecipeGen_AlloySmelter(matInfo); + new RecipeGen_Assembler(matInfo); if (generateBlastSmelterRecipes){ - RecipeGen_BlastSmelter.generateARecipe(matInfo); + new RecipeGen_BlastSmelter(matInfo); } - RecipeGen_DustGeneration.generateRecipes(matInfo); - RecipeGen_Extruder.generateRecipes(matInfo); - RecipeGen_Fluids.generateRecipes(matInfo); - RecipeGen_Plates.generateRecipes(matInfo); - RecipeGen_ShapedCrafting.generateRecipes(matInfo); - RecipeGen_MaterialProcessing.generateRecipes(matInfo); + new RecipeGen_Extruder(matInfo); + new RecipeGen_Fluids(matInfo); + new RecipeGen_Plates(matInfo); + new RecipeGen_ShapedCrafting(matInfo); + new RecipeGen_MaterialProcessing(matInfo); + + new RecipeGen_DustGeneration(matInfo); new RecipeGen_Recycling(matInfo); return true; @@ -179,9 +197,16 @@ public class MaterialGenerator { } //Add A jillion Recipes - old code + try { RecipeGen_DustGeneration.addMixerRecipe_Standalone(matInfo); - RecipeGen_Fluids.generateRecipes(matInfo); - RecipeGen_MaterialProcessing.generateRecipes(matInfo); + new RecipeGen_Fluids(matInfo); + new RecipeGen_MaterialProcessing(matInfo); + } + catch (Throwable t) { + Logger.INFO("Failed to generate some recipes for "+materialName); + Logger.ERROR("Failed to generate some recipes for "+materialName); + t.printStackTrace(); + } //RecipeGen_Recycling.generateRecipes(matInfo); } @@ -216,15 +241,15 @@ public class MaterialGenerator { if (generatePlates) { temp = new BaseItemPlate(matInfo); temp = new BaseItemPlateDouble(matInfo); - RecipeGen_Plates.generateRecipes(matInfo); - RecipeGen_Extruder.generateRecipes(matInfo); - RecipeGen_Assembler.generateRecipes(matInfo); + new RecipeGen_Plates(matInfo); + new RecipeGen_Extruder(matInfo); + new RecipeGen_Assembler(matInfo); } - RecipeGen_ShapedCrafting.generateRecipes(matInfo); - RecipeGen_Fluids.generateRecipes(matInfo); - RecipeGen_MaterialProcessing.generateRecipes(matInfo); - RecipeGen_DustGeneration.generateRecipes(matInfo, true); + new RecipeGen_ShapedCrafting(matInfo); + new RecipeGen_Fluids(matInfo); + new RecipeGen_MaterialProcessing(matInfo); + new RecipeGen_DustGeneration(matInfo, true); new RecipeGen_Recycling(matInfo); } catch (final Throwable t){ diff --git a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java index b5a53cce36..f7f3906d18 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/FluidUtils.java @@ -282,7 +282,7 @@ public class FluidUtils { 3, 10000, temp, - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); } return null; @@ -397,7 +397,7 @@ public class FluidUtils { if (aStack.getItem().hasContainerItem(aStack)) { return aStack.getItem().getContainerItem(aStack); } - if (equal(aStack, ItemList.Cell_Empty.get(1), true)) { + if (equal(aStack, ItemUtils.getEmptyCell(), true)) { return null; } if (aCheckIFluidContainerItems && (aStack.getItem() instanceof IFluidContainerItem) && (((IFluidContainerItem)aStack.getItem()).getCapacity(aStack) > 0)) { @@ -436,7 +436,7 @@ public class FluidUtils { 4, MeltingPoint, ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1), - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); //Disable this, not sure why it exists //TODO @@ -481,7 +481,7 @@ public class FluidUtils { 4, MeltingPoint, ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1), - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); if (dustStack != null){ @@ -522,7 +522,7 @@ public class FluidUtils { 4, MeltingPoint, ItemUtils.getItemStackOfAmountFromOreDictNoBroken("cell"+unlocalizedName, 1), - ItemList.Cell_Empty.get(1L, new Object[0]), + ItemUtils.getEmptyCell(), 1000); } else { diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java index f9eb9de310..43fc6d3cc4 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -11,6 +11,7 @@ import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemStack; import net.minecraft.util.StatCollector; +import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; @@ -94,7 +95,10 @@ public class ItemUtils { return getEmptyCell(1); } - public static ItemStack getEmptyCell(int i){ + public static ItemStack getEmptyCell(int i){ + if (ItemList.Cell_Empty.hasBeenSet()) { + return ItemList.Cell_Empty.get(1L, new Object[0]); + } final ItemStack temp = GT_ModHandler.getModItem("IC2", "itemCellEmpty", i, 0); return temp != null ? temp : null; } @@ -378,7 +382,7 @@ public class ItemUtils { }; } - RecipeGen_DustGeneration.generateRecipes(material); + new RecipeGen_DustGeneration(material); return output; } diff --git a/src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java b/src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java index 11a991a579..9647465711 100644 --- a/src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java +++ b/src/Java/gtPlusPlus/xmod/computronics/HANDLER_Computronics.java @@ -24,7 +24,7 @@ public class HANDLER_Computronics { GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 1L), Materials.Air.getGas(1000L), Materials.Nitrogen.getGas(780L), 1600, 32, false); GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 2L), Materials.Air.getGas(1000L), Materials.Oxygen.getGas(210L), 1600, 128, false); GT_Values.RA.addDistilleryRecipe(ItemList.Circuit_Integrated.getWithDamage(0L, 3L), Materials.Air.getGas(1000L), Materials.Argon.getGas(5L), 6000, 512, false); - GT_Values.RA.addElectrolyzerRecipe(ItemList.Cell_Air.get(1), null, null, Materials.Air.getGas(2000L), ItemList.Cell_Empty.get(1), null, null, null, null, null, null, 800, 30); + GT_Values.RA.addElectrolyzerRecipe(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Air, 1L), null, null, Materials.Air.getGas(2000L), GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1L), null, null, null, null, null, null, 800, 30); } } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java index 7cf473a687..41651ad479 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/fluid/GregtechFluidHandler.java @@ -23,41 +23,41 @@ public class GregtechFluidHandler { private static void start(){ - /* Meta_GT_Proxy.addFluid("lubricant", "Lubricant", Materials.Lubricant, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Lubricant, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("creosote", "Creosote Oil", Materials.Creosote, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Creosote, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("seedoil", "Seed Oil", Materials.SeedOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SeedOil, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("fishoil", "Fish Oil", Materials.FishOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.FishOil, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("oil", "Oil", Materials.Oil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("fuel", "Diesel", Materials.Fuel, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("for.honey", "Honey", Materials.Honey, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Honey, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("biomass", "Biomass", Materials.Biomass, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Biomass, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("bioethanol", "Bio Ethanol", Materials.Ethanol, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Ethanol, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("sulfuricacid", "Sulfuric Acid", Materials.SulfuricAcid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("milk", "Milk", Materials.Milk, 1, 290, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Milk, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("mcguffium", "Mc Guffium 239", Materials.McGuffium239, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.McGuffium239, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - Meta_GT_Proxy.addFluid("glue", "Glue", Materials.Glue, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Glue, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + /* Meta_GT_Proxy.addFluid("lubricant", "Lubricant", Materials.Lubricant, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Lubricant, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("creosote", "Creosote Oil", Materials.Creosote, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Creosote, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("seedoil", "Seed Oil", Materials.SeedOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SeedOil, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("fishoil", "Fish Oil", Materials.FishOil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.FishOil, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("oil", "Oil", Materials.Oil, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oil, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("fuel", "Diesel", Materials.Fuel, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("for.honey", "Honey", Materials.Honey, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Honey, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("biomass", "Biomass", Materials.Biomass, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Biomass, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("bioethanol", "Bio Ethanol", Materials.Ethanol, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Ethanol, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("sulfuricacid", "Sulfuric Acid", Materials.SulfuricAcid, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.SulfuricAcid, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("milk", "Milk", Materials.Milk, 1, 290, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Milk, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("mcguffium", "Mc Guffium 239", Materials.McGuffium239, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.McGuffium239, 1L), ItemUtils.getEmptyCell(), 1000); + Meta_GT_Proxy.addFluid("glue", "Glue", Materials.Glue, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Glue, 1L), ItemUtils.getEmptyCell(), 1000); */ if (!LoadedMods.ThermalFoundation){ Logger.INFO("Adding in our own GT versions of Thermal Foundation Fluids"); - FluidUtils.addFluid("cryotheum", "Gelid Cryotheum", GT_Materials.Cryotheum, 4, -1200, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Cryotheum, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - FluidUtils.addFluid("pyrotheum", "Blazing Pyrotheum", GT_Materials.Pyrotheum, 4, 4000, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Pyrotheum, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); - FluidUtils.addFluid("ender", "Resonant Ender", GT_Materials.Ender, 4, 4000, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Ender, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("cryotheum", "Gelid Cryotheum", GT_Materials.Cryotheum, 4, -1200, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Cryotheum, 1L), ItemUtils.getEmptyCell(), 1000); + FluidUtils.addFluid("pyrotheum", "Blazing Pyrotheum", GT_Materials.Pyrotheum, 4, 4000, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Pyrotheum, 1L), ItemUtils.getEmptyCell(), 1000); + FluidUtils.addFluid("ender", "Resonant Ender", GT_Materials.Ender, 4, 4000, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.Ender, 1L), ItemUtils.getEmptyCell(), 1000); } if (LoadedMods.IndustrialCraft2){ Logger.INFO("Adding in GT Fluids for various nuclear related content."); - FluidUtils.addFluid("hydrofluoricAcid", "Industrial Strength Hydrofluoric Acid", GT_Materials.HydrofluoricAcid, 1, 120, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrofluoricAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("hydrofluoricAcid", "Industrial Strength Hydrofluoric Acid", GT_Materials.HydrofluoricAcid, 1, 120, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrofluoricAcid, 1L), ItemUtils.getEmptyCell(), 1000); generateIC2FluidCell("HydrofluoricAcid"); FluidUtils.generateFluidNoPrefix("SulfurDioxide", "High Quality Sulfur Dioxide", 263, GT_Materials.SulfurDioxide.mRGBa); - FluidUtils.addFluid("sulfurousAcid", "Sulfurous Acid", GT_Materials.SulfurousAcid, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurousAcid, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfurousAcid", "Sulfurous Acid", GT_Materials.SulfurousAcid, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfurousAcid, 1L), ItemUtils.getEmptyCell(), 1000); generateIC2FluidCell("SulfurousAcid"); - FluidUtils.addFluid("sulfuricApatite", "Sulfuric Apatite Mix", GT_Materials.SulfuricApatite, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricApatite, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfuricApatite", "Sulfuric Apatite Mix", GT_Materials.SulfuricApatite, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricApatite, 1L), ItemUtils.getEmptyCell(), 1000); generateIC2FluidCell("SulfuricApatite"); @@ -70,16 +70,16 @@ public class GregtechFluidHandler { else { Logger.INFO("No Suitable versions of Hydrogen Chloride available, adding our own."); } - FluidUtils.addFluid("hydrogenChloride", "Industrial Strength Hydrogen Chloride", GT_Materials.HydrogenChloride, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrogenChloride, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("hydrogenChloride", "Industrial Strength Hydrogen Chloride", GT_Materials.HydrogenChloride, 4, 75, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.HydrogenChloride, 1L), ItemUtils.getEmptyCell(), 1000); generateIC2FluidCell("HydrogenChloride"); } } - FluidUtils.addFluid("sulfuricLithium", "Sulfuric Lithium Mix", GT_Materials.SulfuricLithium, 4, 280, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricLithium, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("sulfuricLithium", "Sulfuric Lithium Mix", GT_Materials.SulfuricLithium, 4, 280, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.SulfuricLithium, 1L), ItemUtils.getEmptyCell(), 1000); generateIC2FluidCell("SulfuricLithium"); - FluidUtils.addFluid("lithiumHydroxide", "Lithium Hydroxide", GT_Materials.LithiumHydroxide, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.LithiumHydroxide, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + FluidUtils.addFluid("lithiumHydroxide", "Lithium Hydroxide", GT_Materials.LithiumHydroxide, 4, 500, GT_OreDictUnificator.get(OrePrefixes.cell, GT_Materials.LithiumHydroxide, 1L), ItemUtils.getEmptyCell(), 1000); generateIC2FluidCell("LithiumHydroxide"); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java index f405c8b5c6..37e61c433a 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_AlloySmelter.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -7,10 +10,12 @@ import gtPlusPlus.core.material.Material; public class RecipeGen_AlloySmelter implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); final Material toGenerate; public RecipeGen_AlloySmelter(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -18,7 +23,7 @@ public class RecipeGen_AlloySmelter implements Runnable{ generateRecipes(this.toGenerate); } - public static void generateRecipes(final Material material){ + private void generateRecipes(final Material material){ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; //Nuggets diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java index 9f27cfd5ab..2880c9f5bd 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Assembler.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; @@ -10,10 +13,12 @@ import gtPlusPlus.core.util.minecraft.ItemUtils; public class RecipeGen_Assembler implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); final Material toGenerate; public RecipeGen_Assembler(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -21,7 +26,7 @@ public class RecipeGen_Assembler implements Runnable{ generateRecipes(this.toGenerate); } - public static void generateRecipes(final Material material){ + private void generateRecipes(final Material material){ //Frame Box GT_Values.RA.addAssemblerRecipe( diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java index 33b39eba85..de634c1415 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java @@ -1,6 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; import java.util.ArrayList; +import java.util.HashSet; +import java.util.Set; import net.minecraft.item.ItemStack; @@ -22,10 +24,12 @@ import net.minecraftforge.fluids.FluidStack; public class RecipeGen_BlastSmelter implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); final Material toGenerate; public RecipeGen_BlastSmelter(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -33,7 +37,7 @@ public class RecipeGen_BlastSmelter implements Runnable{ generateARecipe(this.toGenerate); } - public static void generateARecipe(final Material M){ + private void generateARecipe(final Material M){ //Add a Blast Smelting Recipe, Let's go! ItemStack tStack; diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java index 056d5a2afd..369178abd0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_DustGeneration.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.item.ItemStack; import gregtech.api.enums.GT_Values; @@ -16,22 +19,27 @@ import net.minecraftforge.fluids.FluidStack; public class RecipeGen_DustGeneration implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); + final Material toGenerate; + final boolean disableOptional; public RecipeGen_DustGeneration(final Material M){ - this.toGenerate = M; + this(M, false); + } + + public RecipeGen_DustGeneration(final Material M, final boolean O){ + this.toGenerate = M; + this.disableOptional = O; + mRecipeGenMap.add(this); } @Override public void run() { - generateRecipes(this.toGenerate); - } - - public static void generateRecipes(final Material material){ - generateRecipes(material, false); + generateRecipes(this.toGenerate, this.disableOptional); } - public static void generateRecipes(final Material material, final boolean disableOptional){ + private void generateRecipes(final Material material, final boolean disableOptional){ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java index 2b4a837c93..3b518c06d9 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Extruder.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.item.ItemStack; import gregtech.api.GregTech_API; @@ -11,10 +14,12 @@ import gtPlusPlus.core.material.Material; public class RecipeGen_Extruder implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); final Material toGenerate; public RecipeGen_Extruder(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -22,7 +27,7 @@ public class RecipeGen_Extruder implements Runnable{ generateRecipes(this.toGenerate); } - public static void generateRecipes(final Material material){ + private void generateRecipes(final Material material){ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; final ItemStack itemIngot = material.getIngot(1); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java index 0d4d293bd8..a3bb3fb080 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Fluids.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; @@ -8,22 +11,27 @@ import gtPlusPlus.core.material.Material; public class RecipeGen_Fluids implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); + final Material toGenerate; + final boolean disableOptional; public RecipeGen_Fluids(final Material M){ + this(M, false); + } + + public RecipeGen_Fluids(final Material M, final boolean dO){ this.toGenerate = M; + this.disableOptional = dO; + mRecipeGenMap.add(this); } @Override public void run() { - generateRecipes(this.toGenerate); - } - - public static void generateRecipes(final Material material){ - generateRecipes(material, false); + generateRecipes(this.toGenerate, this.disableOptional); } - public static void generateRecipes(final Material material, final boolean disableOptional){ + private void generateRecipes(final Material material, final boolean dO){ //Melting Shapes to fluid if (!material.getFluid(1).getUnlocalizedName().toLowerCase().contains("plasma")){ diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java index 4a5d136372..ecf98351c3 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MaterialProcessing.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.item.ItemStack; import gregtech.api.GregTech_API; @@ -18,10 +21,13 @@ import net.minecraftforge.fluids.FluidStack; public class RecipeGen_MaterialProcessing implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); + final Material toGenerate; public RecipeGen_MaterialProcessing(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -29,7 +35,7 @@ public class RecipeGen_MaterialProcessing implements Runnable{ generateRecipes(this.toGenerate); } - public static void generateRecipes(final Material material){ + private void generateRecipes(final Material material){ if (material.getMaterialComposites().length > 1){ Logger.MATERIALS("[Recipe Generator Debug] ["+material.getLocalizedName()+"]"); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java index 85b87b1d13..69afb4dec0 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.item.ItemStack; import gregtech.api.GregTech_API; @@ -12,10 +15,12 @@ import gtPlusPlus.core.material.Material; public class RecipeGen_Plates implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); final Material toGenerate; public RecipeGen_Plates(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -23,7 +28,7 @@ public class RecipeGen_Plates implements Runnable{ generateRecipes(this.toGenerate); } - public static void generateRecipes(final Material material){ + private void generateRecipes(final Material material){ final int tVoltageMultiplier = material.getMeltingPointK() >= 2800 ? 60 : 15; final ItemStack ingotStackOne = material.getIngot(1); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java index ec015b2690..4f2a4ff43d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_ShapedCrafting.java @@ -1,5 +1,8 @@ package gtPlusPlus.xmod.gregtech.loaders; +import java.util.HashSet; +import java.util.Set; + import net.minecraft.item.ItemStack; import gregtech.api.util.GT_ModHandler; @@ -12,10 +15,12 @@ import gtPlusPlus.core.util.minecraft.RecipeUtils; public class RecipeGen_ShapedCrafting implements Runnable{ + public static final Set<Runnable> mRecipeGenMap = new HashSet<Runnable>(); final Material toGenerate; public RecipeGen_ShapedCrafting(final Material M){ this.toGenerate = M; + mRecipeGenMap.add(this); } @Override @@ -23,7 +28,7 @@ public class RecipeGen_ShapedCrafting implements Runnable{ generateRecipes(this.toGenerate); } - public static void generateRecipes(final Material material){ + private void generateRecipes(final Material material){ Logger.WARNING("Generating Shaped Crafting recipes for "+material.getLocalizedName()); //TODO if (!CORE.GTNH) { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java index a937d9a371..f924e5233d 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechNitroDieselFix.java @@ -62,7 +62,7 @@ public class GregtechNitroDieselFix { Materials mNitroFix = (Materials) construct.invoke(df); Logger.INFO("[Nitro] Invoked 8 method calls successfully."); - GT_Mod.gregtechproxy.addFluid("NitroFuel_Old", "Nitro Diesel [Old]", mNitroFix, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, mNitroFix, 1L), ItemList.Cell_Empty.get(1L, new Object[0]), 1000); + GT_Mod.gregtechproxy.addFluid("NitroFuel_Old", "Nitro Diesel [Old]", mNitroFix, 1, 295, GT_OreDictUnificator.get(OrePrefixes.cell, mNitroFix, 1L), ItemUtils.getEmptyCell(), 1000); Logger.INFO("[Nitro] Added a fluid."); |