more work on the new chemplant recipe handler

This commit is contained in:
Boblet 2022-02-15 16:51:54 +01:00
parent c990f1dd81
commit 78efaa49a1
4 changed files with 323 additions and 164 deletions

View File

@ -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<DictFrame> 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<ItemStack> 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; }
}*/
}

View File

@ -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<Integer, ChemRecipe> indexMapping = new HashMap();
public static List<ChemRecipe> 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;
}
}
}

View File

@ -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,

View File

@ -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();