diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 9d28fc385..9c8b97196 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -1,6 +1,7 @@ package com.hbm.inventory; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; //i love you @@ -447,6 +448,10 @@ public class OreDictManager { return GeneralConfig.enableReflectorCompat ? "plateDenseLead" : "plateTungCar"; //let's just mangle the name into "tungCar" so that it can't conflict with anything ever } + public void registerGroups() { + + } + public static class DictFrame { String[] mats; float hazMult = 1.0F; @@ -612,4 +617,52 @@ public class OreDictManager { } } } + + /*public static class DictGroup { + + private String name; + private HashSet frames = new HashSet(); + + public DictGroup(String name) { + this.name = name; + } + + public DictGroup(String name, DictFrame... frames) { + this(name); + + for(DictFrame frame : frames) { + this.frames.add(frame); + } + } + + public DictGroup prefix(String prefix) { + + String groupKey = prefix + name; + + for(DictFrame frame : this.frames) { + String key = prefix + frame.mats[0]; + + List ores = OreDictionary.getOres(key); + + for(ItemStack stack : ores) { + OreDictionary.registerOre(groupKey, stack); + } + } + + return this; + } + + public String any() { return ANY + name; } + public String nugget() { return NUGGET + name; } + public String tiny() { return TINY + name; } + public String ingot() { return INGOT + name; } + public String dustTiny() { return DUSTTINY + name; } + public String dust() { return DUST + name; } + public String gem() { return GEM + name; } + public String crystal() { return CRYSTAL + name; } + public String plate() { return PLATE + name; } + public String billet() { return BILLET + name; } + public String block() { return BLOCK + name; } + public String ore() { return ORE + name; } + }*/ } diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index c5a076661..c49ad5631 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -1,9 +1,11 @@ package com.hbm.inventory.recipes; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.FluidStack; import static com.hbm.inventory.OreDictManager.*; import com.hbm.inventory.RecipesCommon.AStack; @@ -11,221 +13,307 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.items.ItemEnums.EnumTarType; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class ChemplantRecipes { + + /** + * Nice order: The order in which the ChemRecipe are added to the recipes list + * Meta order: Fixed using the id param, saved in indexMapping + */ + public static HashMap indexMapping = new HashMap(); public static List recipes = new ArrayList(); public static void register() { registerFuelProcessing(); - registerFuelCracking(); - registerCoalCracking(); - registerSolidFuel(); + //6-30, formerly oil cracking, coal liquefaction and solidifciation registerOtherOil(); - recipes.add(new ChemRecipe("COOLANT", 0)); - recipes.add(new ChemRecipe("CRYOGEL", 0)); - recipes.add(new ChemRecipe("DESH", 0)); - recipes.add(new ChemRecipe("NITAN", 0)); - recipes.add(new ChemRecipe("PEROXIDE", 0)); - recipes.add(new ChemRecipe("CIRCUIT_4", 0)); - recipes.add(new ChemRecipe("CIRCUIT_5", 0)); - recipes.add(new ChemRecipe("POLYMER", 0)); - recipes.add(new ChemRecipe("DEUTERIUM", 0)); - recipes.add(new ChemRecipe("STEAM", 0)); - recipes.add(new ChemRecipe("YELLOWCAKE", 0)); - recipes.add(new ChemRecipe("UF6", 0)); - recipes.add(new ChemRecipe("PUF6", 0)); - recipes.add(new ChemRecipe("SAS3", 0)); - recipes.add(new ChemRecipe("DYN_SCHRAB", 0)); - recipes.add(new ChemRecipe("DYN_EUPH", 0)); - recipes.add(new ChemRecipe("DYN_DNT", 0)); - recipes.add(new ChemRecipe("CORDITE", 0)); - recipes.add(new ChemRecipe("KEVLAR", 0)); - recipes.add(new ChemRecipe("CONCRETE", 0)); - recipes.add(new ChemRecipe("CONCRETE_ASBESTOS", 0)); - recipes.add(new ChemRecipe("SOLID_FUEL", 0)); - recipes.add(new ChemRecipe("ELECTROLYSIS", 0)); - recipes.add(new ChemRecipe("XENON", 0)); - recipes.add(new ChemRecipe("XENON_OXY", 0)); - recipes.add(new ChemRecipe("SATURN", 0)); - recipes.add(new ChemRecipe("BALEFIRE", 0)); - recipes.add(new ChemRecipe("SCHRABIDIC", 0)); - recipes.add(new ChemRecipe("SCHRABIDATE", 0)); - recipes.add(new ChemRecipe("COLTAN_CLEANING", 0)); - recipes.add(new ChemRecipe("COLTAN_PAIN", 0)); - recipes.add(new ChemRecipe("COLTAN_CRYSTAL", 0)); - recipes.add(new ChemRecipe("VIT_LIQUID", 0)); - recipes.add(new ChemRecipe("VIT_GAS", 0)); - recipes.add(new ChemRecipe("TEL", 0)); - recipes.add(new ChemRecipe("GASOLINE", 0)); - recipes.add(new ChemRecipe("FRACKSOL", 0)); - recipes.add(new ChemRecipe("DUCRETE", 0)); + + recipes.add(new ChemRecipe(36, "COOLANT", 50) + .inputItems(new OreDictStack(KNO.dust())) + .inputFluids(new FluidStack(Fluids.WATER, 1800)) + .outputFluids(new FluidStack(Fluids.COOLANT, 2000))); + recipes.add(new ChemRecipe(37, "CRYOGEL", 50) + .inputItems(new ComparableStack(ModItems.powder_ice)) + .inputFluids(new FluidStack(Fluids.COOLANT, 1800)) + .outputFluids(new FluidStack(Fluids.CRYOGEL, 2000))); + recipes.add(new ChemRecipe(38, "DESH", 300) + .inputItems(new ComparableStack(ModItems.powder_desh_mix)) + .inputFluids( + GeneralConfig.enableBabyMode ? + new FluidStack[] {new FluidStack(Fluids.LIGHTOIL, 200)} : + new FluidStack[] {new FluidStack(Fluids.MERCURY, 200), new FluidStack(Fluids.LIGHTOIL, 200)}) + .outputItems(new ItemStack(ModItems.ingot_desh))); + recipes.add(new ChemRecipe(39, "NITAN", 50) + .inputItems(new ComparableStack(ModItems.powder_nitan_mix)) + .inputFluids( + new FluidStack(Fluids.KEROSENE, 600), + new FluidStack(Fluids.MERCURY, 200)) + .outputFluids(new FluidStack(Fluids.NITAN, 1000))); + recipes.add(new ChemRecipe(40, "PEROXIDE", 50) + .inputFluids(new FluidStack(Fluids.WATER, 1000)) + .outputFluids(new FluidStack(Fluids.ACID, 800))); + recipes.add(new ChemRecipe(41, "CIRCUIT_4", 200) + .inputItems( + new ComparableStack(ModItems.circuit_red_copper), + new ComparableStack(ModItems.wire_gold, 4), + new OreDictStack(LAPIS.dust()), + new OreDictStack(ANY_PLASTIC.ingot())) + .inputFluids(new FluidStack(Fluids.ACID, 400), new FluidStack(Fluids.PETROLEUM, 200)) + .outputItems(new ItemStack(ModItems.circuit_gold))); + recipes.add(new ChemRecipe(42, "CIRCUIT_5", 250) + .inputItems( + new ComparableStack(ModItems.circuit_gold), + new ComparableStack(ModItems.wire_schrabidium, 4), + new OreDictStack(DIAMOND.dust()), + new OreDictStack(DESH.ingot())) + .inputFluids(new FluidStack(Fluids.ACID, 800), new FluidStack(Fluids.MERCURY, 200)) + .outputItems(new ItemStack(ModItems.circuit_schrabidium))); + recipes.add(new ChemRecipe(43, "POLYMER", 100) + .inputItems( + new OreDictStack(COAL.dust(), 2), + new OreDictStack(F.dust())) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 600)) + .outputItems(new ItemStack(ModItems.ingot_polymer))); + //44, formerly deuterium + //45, formerly steam + recipes.add(new ChemRecipe(46, "YELLOWCAKE", 250) + .inputItems( + new OreDictStack(U.billet(), 2), //TODO: that's 12 nuggets right there, check if those numbers match up + new OreDictStack(S.dust(), 2)) + .inputFluids(new FluidStack(Fluids.ACID, 500)) + .outputItems(new ItemStack(ModItems.powder_yellowcake))); + recipes.add(new ChemRecipe(47, "UF6", 100) + .inputItems( + new ComparableStack(ModItems.powder_yellowcake), + new OreDictStack(F.dust(), 4)) + .inputFluids(new FluidStack(Fluids.WATER, 1000)) + .outputItems(new ItemStack(ModItems.sulfur, 2)) + .outputFluids(new FluidStack(Fluids.UF6, 1200))); + recipes.add(new ChemRecipe(48, "PUF6", 150) + .inputItems( + new OreDictStack(PU.dust()), + new OreDictStack(F.dust(), 3)) + .inputFluids(new FluidStack(Fluids.WATER, 1000)) + .outputFluids(new FluidStack(Fluids.PUF6, 900))); + recipes.add(new ChemRecipe(49, "SAS3", 200) + .inputItems( + new OreDictStack(SA326.dust()), + new OreDictStack(S.dust(), 2)) + .inputFluids(new FluidStack(Fluids.ACID, 2000)) + .outputFluids(new FluidStack(Fluids.SAS3, 1000))); + recipes.add(new ChemRecipe(50, "DYN_SCHRAB", 1200) + .inputItems( + new ComparableStack(ModItems.dynosphere_desh_charged, 3), + new OreDictStack(U.ingot()), + new ComparableStack(ModItems.catalyst_clay, 8)) + .outputItems( + new ItemStack(ModItems.ingot_schrabidium), + new ItemStack(ModItems.powder_desh), + new ItemStack(ModItems.powder_desh_mix)) + .outputFluids(new FluidStack(Fluids.WATZ, 50))); + recipes.add(new ChemRecipe(51, "DYN_EUPH", 3600) + .inputItems( + new ComparableStack(ModItems.dynosphere_schrabidium_charged, 1), + new OreDictStack(PU.ingot()), + new ComparableStack(ModItems.catalyst_clay, 16), + new OreDictStack(EUPH.ingot())) + .outputItems( + new ItemStack(ModItems.nugget_euphemium, 12), + new ItemStack(ModItems.powder_schrabidium, 4), + new ItemStack(ModItems.powder_power, 4)) + .outputFluids(new FluidStack(Fluids.WATZ, 100))); + recipes.add(new ChemRecipe(52, "DYN_DNT", 6000) + .inputItems( + new ComparableStack(ModItems.dynosphere_euphemium_charged, 2), + new ComparableStack(ModItems.powder_spark_mix), + new ComparableStack(ModItems.ingot_starmetal), + new ComparableStack(ModItems.catalyst_clay, 32)) + .outputItems( + new ItemStack(ModItems.ingot_dineutronium), + new ItemStack(ModItems.powder_euphemium, 8), + new ItemStack(ModItems.powder_nitan_mix, 8)) + .outputFluids(new FluidStack(Fluids.WATZ, 150))); + recipes.add(new ChemRecipe(53, "CORDITE", 40) + .inputItems( + new OreDictStack(KNO.dust(), 2), + new OreDictStack(KEY_PLANKS), + new ComparableStack(Items.sugar)) + .inputFluids(new FluidStack(Fluids.HEATINGOIL, 200)) + .outputItems(new ItemStack(ModItems.cordite, 4))); + recipes.add(new ChemRecipe(54, "KEVLAR", 40) + .inputItems( + new OreDictStack(KNO.dust(), 2), + new ComparableStack(Items.brick), + new OreDictStack(COAL.dust())) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 100)) + .outputItems(new ItemStack(ModItems.plate_kevlar, 4))); + recipes.add(new ChemRecipe(55, "CONCRETE", 100) + .inputItems( + new ComparableStack(Blocks.gravel, 8), + new ComparableStack(Blocks.sand, 8)) + .inputFluids(new FluidStack(Fluids.WATER, 2000)) + .outputItems(new ItemStack(ModBlocks.concrete_smooth, 16))); + recipes.add(new ChemRecipe(56, "CONCRETE_ASBESTOS", 100) + .inputItems( + new ComparableStack(Blocks.gravel, 2), + new ComparableStack(Blocks.sand, 2), + new OreDictStack(ASBESTOS.ingot(), 4)) + .inputFluids(new FluidStack(Fluids.WATER, 2000)) + .outputItems(new ItemStack(ModBlocks.concrete_asbestos, 16))); + recipes.add(new ChemRecipe(79, "DUCRETE", 150) + .inputItems( + new ComparableStack(Blocks.sand, 8), + new OreDictStack(U238.billet(), 2), + new ComparableStack(Items.clay_ball, 4)) + .inputFluids(new FluidStack(Fluids.WATER, 2000)) + .outputItems(new ItemStack(ModBlocks.ducrete_smooth, 8))); + recipes.add(new ChemRecipe(57, "SOLID_FUEL", 200) + .inputItems( + new ComparableStack(ModItems.solid_fuel, 2), + new OreDictStack(KNO.dust()), + new OreDictStack(REDSTONE.dust())) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 200)) + .outputItems(new ItemStack(ModItems.rocket_fuel, 4))); + recipes.add(new ChemRecipe(58, "ELECTROLYSIS", 150) + .inputFluids(new FluidStack(Fluids.WATER, 8000)) + .outputFluids( + new FluidStack(Fluids.HYDROGEN, 800), + new FluidStack(Fluids.OXYGEN, 800))); + recipes.add(new ChemRecipe(59, "XENON", 300) + .inputFluids(new FluidStack(Fluids.NONE, 0)) + .outputFluids(new FluidStack(Fluids.XENON, 50))); + recipes.add(new ChemRecipe(60, "XENON_OXY", 20) + .inputFluids(new FluidStack(Fluids.OXYGEN, 250)) + .outputFluids(new FluidStack(Fluids.XENON, 50))); + recipes.add(new ChemRecipe(61, "SATURN", 60) + .inputItems( + new ComparableStack(ModItems.powder_dura_steel), + new OreDictStack(P_RED.dust())) + .inputFluids( + new FluidStack(Fluids.ACID, 100), + new FluidStack(Fluids.MERCURY, 50)) + .outputItems(new ItemStack(ModItems.ingot_saturnite, 2))); + recipes.add(new ChemRecipe(62, "BALEFIRE", 100) + .inputItems(new ComparableStack(ModItems.egg_balefire_shard)) + .inputFluids(new FluidStack(Fluids.KEROSENE, 6000)) + .outputItems(new ItemStack(ModItems.powder_balefire)) + .outputFluids(new FluidStack(Fluids.BALEFIRE, 8000))); + recipes.add(new ChemRecipe(63, "SCHRABIDIC", 100) + .inputItems(new ComparableStack(ModItems.pellet_charged)) + .inputFluids( + new FluidStack(Fluids.SAS3, 8000), + new FluidStack(Fluids.ACID, 6000)) + .outputFluids(new FluidStack(Fluids.SCHRABIDIC, 16000))); + recipes.add(new ChemRecipe(64, "SCHRABIDATE", 150) + .inputItems(new OreDictStack(IRON.dust())) + .inputFluids(new FluidStack(Fluids.SCHRABIDIC, 250)) + .outputItems(new ItemStack(ModItems.powder_schrabidate))); + recipes.add(new ChemRecipe(65, "COLTAN_CLEANING", 60) + .inputItems( + new OreDictStack(COLTAN.dust(), 2), + new OreDictStack(COAL.dust())) + .inputFluids( + new FluidStack(Fluids.ACID, 250), + new FluidStack(Fluids.HYDROGEN, 500)) + .outputItems( + new ItemStack(ModItems.powder_coltan), + new ItemStack(ModItems.powder_niobium), + new ItemStack(ModItems.dust)) + .outputFluids(new FluidStack(Fluids.WATER, 500))); + recipes.add(new ChemRecipe(66, "COLTAN_PAIN", 120) + .inputItems( + new ComparableStack(ModItems.powder_coltan), + new OreDictStack(F.dust())) + .inputFluids( + new FluidStack(Fluids.GAS, 1000), + new FluidStack(Fluids.OXYGEN, 500)) + .outputFluids(new FluidStack(Fluids.PAIN, 1000))); + recipes.add(new ChemRecipe(67, "COLTAN_CRYSTAL", 80) + .inputFluids( + new FluidStack(Fluids.PAIN, 1000), + new FluidStack(Fluids.ACID, 500)) + .outputItems( + new ItemStack(ModItems.gem_tantalium), + new ItemStack(ModItems.dust, 3)) + .outputFluids(new FluidStack(Fluids.WATER, 250))); + recipes.add(new ChemRecipe(68, "VIT_LIQUID", 100)); + recipes.add(new ChemRecipe(69, "VIT_GAS", 100)); + recipes.add(new ChemRecipe(70, "TEL", 40)); + recipes.add(new ChemRecipe(71, "GASOLINE", 40)); + recipes.add(new ChemRecipe(72, "FRACKSOL", 20)); + recipes.add(new ChemRecipe(73, "HELIUM3", 200)); + recipes.add(new ChemRecipe(74, "OSMIRIDIUM_DEATH", 240)); + recipes.add(new ChemRecipe(75, "ETHANOL", 50)); + recipes.add(new ChemRecipe(76, "METH", 30)); + recipes.add(new ChemRecipe(77, "CO2", 60)); + recipes.add(new ChemRecipe(78, "HEAVY_ELECTROLYSIS", 150)); } public static void registerFuelProcessing() { - recipes.add(new ChemRecipe("FP_HEAVYOIL", 50) + recipes.add(new ChemRecipe(0, "FP_HEAVYOIL", 50) .inputFluids(new FluidStack(1000, Fluids.HEAVYOIL)) .outputFluids( new FluidStack(RefineryRecipes.heavy_frac_bitu * 10, Fluids.BITUMEN), new FluidStack(RefineryRecipes.heavy_frac_smear * 10, Fluids.SMEAR) )); - recipes.add(new ChemRecipe("FP_SMEAR", 50) + recipes.add(new ChemRecipe(1, "FP_SMEAR", 50) .inputFluids(new FluidStack(1000, Fluids.SMEAR)) .outputFluids( new FluidStack(RefineryRecipes.smear_frac_heat * 10, Fluids.HEATINGOIL), new FluidStack(RefineryRecipes.smear_frac_lube * 10, Fluids.LUBRICANT) )); - recipes.add(new ChemRecipe("FP_NAPHTHA", 50) + recipes.add(new ChemRecipe(2, "FP_NAPHTHA", 50) .inputFluids(new FluidStack(1000, Fluids.NAPHTHA)) .outputFluids( new FluidStack(RefineryRecipes.napht_frac_heat * 10, Fluids.HEATINGOIL), new FluidStack(RefineryRecipes.napht_frac_diesel * 10, Fluids.DIESEL) )); - recipes.add(new ChemRecipe("FP_LIGHTOIL", 50) + recipes.add(new ChemRecipe(3, "FP_LIGHTOIL", 50) .inputFluids(new FluidStack(1000, Fluids.LIGHTOIL)) .outputFluids( new FluidStack(RefineryRecipes.light_frac_diesel * 10, Fluids.DIESEL), new FluidStack(RefineryRecipes.light_frac_kero * 10, Fluids.KEROSENE) )); - recipes.add(new ChemRecipe("FR_REOIL", 30) + recipes.add(new ChemRecipe(4, "FR_REOIL", 30) .inputFluids(new FluidStack(1000, Fluids.SMEAR)) .outputFluids(new FluidStack(800, Fluids.RECLAIMED))); - recipes.add(new ChemRecipe("FR_PETROIL", 30) + recipes.add(new ChemRecipe(5, "FR_PETROIL", 30) .inputFluids( new FluidStack(800, Fluids.RECLAIMED), new FluidStack(200, Fluids.LUBRICANT)) .outputFluids(new FluidStack(1000, Fluids.PETROIL))); } - - public static void registerFuelCracking() { - recipes.add(new ChemRecipe("FC_BITUMEN", 100) - .inputFluids( - new FluidStack(1200, Fluids.BITUMEN), - new FluidStack(2400, Fluids.STEAM)) - .outputFluids( - new FluidStack(1000, Fluids.OIL), - new FluidStack(200, Fluids.PETROLEUM))); - recipes.add(new ChemRecipe("FC_I_NAPHTHA", 150) - .inputFluids( - new FluidStack(1400, Fluids.SMEAR), - new FluidStack(800, Fluids.WATER)) - .outputFluids(new FluidStack(800, Fluids.NAPHTHA))); - recipes.add(new ChemRecipe("FC_GAS_PETROLEUM", 100) - .inputFluids( - new FluidStack(1800, Fluids.GAS), - new FluidStack(1200, Fluids.WATER)) - .outputFluids(new FluidStack(800, Fluids.PETROLEUM))); - recipes.add(new ChemRecipe("FC_DIESEL_KEROSENE", 150) - .inputFluids( - new FluidStack(1200, Fluids.DIESEL), - new FluidStack(2000, Fluids.STEAM)) - .outputFluids(new FluidStack(400, Fluids.KEROSENE))); - recipes.add(new ChemRecipe("FC_KEROSENE_PETROLEUM", 150) - .inputFluids( - new FluidStack(1400, Fluids.KEROSENE), - new FluidStack(2000, Fluids.STEAM)) - .outputFluids(new FluidStack(800, Fluids.PETROLEUM))); - } - - public static void registerCoalCracking() { - recipes.add(new ChemRecipe("CC_OIL", 150) - .inputItems(new OreDictStack(COAL.dust(), 8), new OreDictStack(ANY_TAR.any(), 4)) - .inputFluids(new FluidStack(1400, Fluids.STEAM)) - .outputFluids(new FluidStack(2000, Fluids.OIL))); - recipes.add(new ChemRecipe("CC_I", 200) - .inputItems(new OreDictStack(COAL.dust(), 6), new OreDictStack(ANY_TAR.any(), 4)) - .inputFluids(new FluidStack(1800, Fluids.WATER)) - .outputFluids(new FluidStack(1600, Fluids.SMEAR))); - recipes.add(new ChemRecipe("CC_HEATING", 250) - .inputItems(new OreDictStack(COAL.dust(), 6), new OreDictStack(ANY_TAR.any(), 4)) - .inputFluids(new FluidStack(2000, Fluids.STEAM)) - .outputFluids(new FluidStack(1800, Fluids.HEATINGOIL))); - recipes.add(new ChemRecipe("CC_HEAVY", 200) - .inputItems(new OreDictStack(COAL.dust(), 8), new OreDictStack(ANY_TAR.any(), 4)) - .inputFluids(new FluidStack(1400, Fluids.WATER)) - .outputFluids(new FluidStack(1800, Fluids.HEAVYOIL))); - recipes.add(new ChemRecipe("CC_NAPHTHA", 300) - .inputItems(new OreDictStack(COAL.dust(), 8), new OreDictStack(ANY_TAR.any(), 4)) - .inputFluids(new FluidStack(2400, Fluids.STEAM)) - .outputFluids(new FluidStack(2000, Fluids.NAPHTHA))); - } - - public static void registerSolidFuel() { - recipes.add(new ChemRecipe("SF_OIL", 20) - .inputFluids(new FluidStack(350, Fluids.OIL)) - .outputItems(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE), DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE))); - recipes.add(new ChemRecipe("SF_HEAVYOIL", 20) - .inputFluids(new FluidStack(250, Fluids.HEAVYOIL)) - .outputItems(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE), DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE))); - recipes.add(new ChemRecipe("SF_SMEAR", 20) - .inputFluids(new FluidStack(200, Fluids.SMEAR)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_HEATINGOIL", 20) - .inputFluids(new FluidStack(100, Fluids.HEATINGOIL)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_RECLAIMED", 20) - .inputFluids(new FluidStack(200, Fluids.RECLAIMED)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_PETROIL", 20) - .inputFluids(new FluidStack(250, Fluids.PETROIL)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_LUBRICANT", 20) - .inputFluids(new FluidStack(250, Fluids.LUBRICANT)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_NAPHTHA", 20) - .inputFluids(new FluidStack(300, Fluids.NAPHTHA)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_DIESEL", 20) - .inputFluids(new FluidStack(400, Fluids.DIESEL)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_LIGHTOIL", 20) - .inputFluids(new FluidStack(450, Fluids.LIGHTOIL)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_KEROSENE", 20) - .inputFluids(new FluidStack(550, Fluids.KEROSENE)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_GAS", 20) - .inputFluids(new FluidStack(750, Fluids.GAS)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_PETROLEUM", 20) - .inputFluids(new FluidStack(600, Fluids.PETROLEUM)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_BIOGAS", 20) - .inputFluids(new FluidStack(3500, Fluids.BIOGAS)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1))); - recipes.add(new ChemRecipe("SF_BIOFUEL", 20) - .inputFluids(new FluidStack(1500, Fluids.BIOFUEL)) - .outputItems(new ItemStack(ModItems.solid_fuel, 1), new ItemStack(ModItems.solid_fuel, 1)));; - } public static void registerOtherOil() { - recipes.add(new ChemRecipe("BP_BIOGAS", 200) + recipes.add(new ChemRecipe(31, "BP_BIOGAS", 200) .inputItems(new ComparableStack(ModItems.biomass, 16)) .outputFluids(new FluidStack(4000, Fluids.BIOGAS))); - recipes.add(new ChemRecipe("BP_BIOFUEL", 100) + recipes.add(new ChemRecipe(32, "BP_BIOFUEL", 100) .inputFluids(new FluidStack(2000, Fluids.BIOGAS)) .outputFluids(new FluidStack(1000, Fluids.BIOFUEL))); - recipes.add(new ChemRecipe("LPG", 100) + recipes.add(new ChemRecipe(33, "LPG", 100) .inputFluids(new FluidStack(2000, Fluids.PETROLEUM)) .outputFluids(new FluidStack(1000, Fluids.LPG))); - recipes.add(new ChemRecipe("OIL_SAND", 200) + recipes.add(new ChemRecipe(34, "OIL_SAND", 200) .inputItems(new ComparableStack(ModBlocks.ore_oil_sand, 16), new OreDictStack(ANY_TAR.any(), 1)) .outputItems(new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4), new ItemStack(Blocks.sand, 4)) .outputFluids(new FluidStack(1000, Fluids.BITUMEN))); - recipes.add(new ChemRecipe("ASPHALT", 100) + recipes.add(new ChemRecipe(35, "ASPHALT", 100) .inputItems(new ComparableStack(Blocks.gravel, 2), new ComparableStack(Blocks.sand, 6)) .inputFluids(new FluidStack(1000, Fluids.BITUMEN)) - .outputItems(new ItemStack(ModBlocks.asphalt, 4), new ItemStack(ModBlocks.asphalt, 4), new ItemStack(ModBlocks.asphalt, 4), new ItemStack(ModBlocks.asphalt, 4))); + .outputItems(new ItemStack(ModBlocks.asphalt, 16))); } public static class ChemRecipe { + private int id; public String name; private AStack[] inputs; private FluidStack[] inputFluids; @@ -233,7 +321,8 @@ public class ChemplantRecipes { private FluidStack[] outputFluids; private int duration; - public ChemRecipe(String name, int duration) { + public ChemRecipe(int index, String name, int duration) { + this.id = index; this.name = name; this.duration = duration; @@ -241,6 +330,12 @@ public class ChemplantRecipes { this.outputs = new ItemStack[4]; this.inputFluids = new FluidStack[2]; this.outputFluids = new FluidStack[2]; + + if(!indexMapping.containsKey(id)) { + indexMapping.put(id, this); + } else { + throw new IllegalStateException("Chemical plant recipe " + name + " has been registered with duplicate id " + id + " used by " + indexMapping.get(id).name + "!"); + } } public ChemRecipe inputItems(AStack... in) { @@ -262,5 +357,13 @@ public class ChemplantRecipes { for(int i = 0; i < out.length; i++) this.outputFluids[i] = out[i]; return this; } + + public int getId() { + return this.id; + } + + public int getDuration() { + return this.duration; + } } } diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index acf16f00b..f6ee4340c 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -30,7 +30,7 @@ public class ItemChemistryTemplate extends Item { //SF - Solid Fuel Production //BP - Biofuel Production - FP_HEAVYOIL, + FP_HEAVYOIL, //0 FP_SMEAR, FP_NAPHTHA, FP_LIGHTOIL, @@ -40,7 +40,7 @@ public class ItemChemistryTemplate extends Item { FC_I_NAPHTHA(true), FC_GAS_PETROLEUM(true), FC_DIESEL_KEROSENE(true), - FC_KEROSENE_PETROLEUM(true), + FC_KEROSENE_PETROLEUM(true), //10 CC_OIL(true), CC_I(true), CC_HEATING(true), @@ -50,7 +50,7 @@ public class ItemChemistryTemplate extends Item { SF_HEAVYOIL(true), SF_SMEAR(true), SF_HEATINGOIL(true), - SF_RECLAIMED(true), + SF_RECLAIMED(true), //20 SF_PETROIL(true), SF_LUBRICANT(true), SF_NAPHTHA(true), @@ -60,7 +60,7 @@ public class ItemChemistryTemplate extends Item { SF_GAS(true), SF_PETROLEUM(true), SF_BIOGAS(true), - SF_BIOFUEL(true), + SF_BIOFUEL(true), //30 BP_BIOGAS, BP_BIOFUEL, LPG, @@ -70,7 +70,7 @@ public class ItemChemistryTemplate extends Item { CRYOGEL, DESH, NITAN, - PEROXIDE, + PEROXIDE, //40 CIRCUIT_4, CIRCUIT_5, POLYMER, @@ -80,7 +80,7 @@ public class ItemChemistryTemplate extends Item { UF6, PUF6, SAS3, - DYN_SCHRAB, + DYN_SCHRAB, //50 DYN_EUPH, DYN_DNT, CORDITE, @@ -90,7 +90,7 @@ public class ItemChemistryTemplate extends Item { SOLID_FUEL, ELECTROLYSIS, XENON, - XENON_OXY, + XENON_OXY, //60 SATURN, BALEFIRE, SCHRABIDIC, @@ -100,7 +100,7 @@ public class ItemChemistryTemplate extends Item { COLTAN_CRYSTAL, VIT_LIQUID, VIT_GAS, - TEL, + TEL, //70 GASOLINE, FRACKSOL, HELIUM3, diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 0d6831552..b46a2aca0 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -984,6 +984,9 @@ public class MainRegistry { SchistStratum schist = new SchistStratum(); MinecraftForge.EVENT_BUS.register(schist); //DecorateBiomeEvent.Pre + OreDictManager oreMan = new OreDictManager(); + MinecraftForge.EVENT_BUS.register(oreMan); //OreRegisterEvent + PacketDispatcher.registerPackets(); ChunkRadiationManager radiationSystem = new ChunkRadiationManager();