TechReborn/src/main/java/techreborn/init/ModRecipes.java

954 lines
43 KiB
Java
Raw Normal View History

package techreborn.init;
2015-04-14 01:12:24 +02:00
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
2015-04-12 17:43:51 +02:00
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.FurnaceRecipes;
import net.minecraftforge.common.ForgeModContainer;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.UniversalBucket;
import net.minecraftforge.fml.common.Loader;
2015-05-15 05:19:52 +02:00
import net.minecraftforge.oredict.OreDictionary;
2016-04-23 22:11:30 +02:00
import reborncore.api.recipe.RecipeHandler;
2015-11-08 13:15:45 +01:00
import reborncore.common.util.CraftingHelper;
import reborncore.common.util.ItemUtils;
2015-11-08 13:15:45 +01:00
import reborncore.common.util.OreUtil;
import reborncore.common.util.StringUtils;
2015-11-08 13:15:45 +01:00
import techreborn.Core;
2015-11-16 22:10:39 +01:00
import techreborn.api.reactor.FusionReactorRecipe;
import techreborn.api.reactor.FusionReactorRecipeHelper;
import techreborn.api.recipe.machines.*;
import techreborn.blocks.BlockMachineFrame;
import techreborn.blocks.BlockOre;
import techreborn.compat.CompatManager;
2015-04-12 23:45:13 +02:00
import techreborn.config.ConfigTechReborn;
import techreborn.init.recipes.*;
import techreborn.items.*;
import java.util.Iterator;
import java.util.Map;
2016-10-08 21:46:16 +02:00
import static techreborn.utils.OreDictUtils.getDictData;
import static techreborn.utils.OreDictUtils.getDictOreOrEmpty;
2016-10-08 21:46:16 +02:00
import static techreborn.utils.OreDictUtils.isDictPrefixed;
import static techreborn.utils.OreDictUtils.joinDictName;
public class ModRecipes {
2016-03-25 10:47:34 +01:00
public static ConfigTechReborn config;
2016-10-08 21:46:16 +02:00
public static void init() {
2016-12-12 16:53:04 +01:00
//Gonna rescan to make sure we have an uptodate list
OreUtil.scanForOres();
//Done again incase we loaded before QuantumStorage
CompatManager.isQuantumStorageLoaded = Loader.isModLoaded("quantumstorage");
CraftingTableRecipes.init();
SmeltingRecipes.init();
ExtractorRecipes.init();
RollingMachineRecipes.init();
FluidGeneratorRecipes.init();
IndustrialGrinderRecipes.init();
IndustrialCentrifugeRecipes.init();
IndustrialElectrolyzerRecipes.init();
ImplosionCompressorRecipes.init();
ScrapboxRecipes.init();
2016-03-25 10:47:34 +01:00
addGeneralShapedRecipes();
addMachineRecipes();
addAlloySmelterRecipes();
addChemicalReactorRecipes();
addBlastFurnaceRecipes();
2016-10-08 21:46:16 +02:00
addVacuumFreezerRecipes();
2016-03-25 10:47:34 +01:00
addReactorRecipes();
addIc2Recipes();
addGrinderRecipes();
addCompressorRecipes();
}
2016-03-07 18:26:04 +01:00
public static void postInit(){
if(ConfigTechReborn.disableRailcraftSteelNuggetRecipe){
Iterator iterator = FurnaceRecipes.instance().getSmeltingList().entrySet().iterator();
Map.Entry entry;
while (iterator.hasNext()) {
entry = (Map.Entry) iterator.next();
if (entry.getValue() instanceof ItemStack && entry.getKey() instanceof ItemStack) {
ItemStack input = (ItemStack) entry.getKey();
ItemStack output = (ItemStack) entry.getValue();
if(ItemUtils.isInputEqual("nuggetSteel", output, true , true, false) && ItemUtils.isInputEqual("nuggetIron", input, true , true, false)){
Core.logHelper.info("Removing a steelnugget smelting recipe");
iterator.remove();
}
}
}
}
}
2016-10-08 21:46:16 +02:00
private static void addCompressorRecipes() {
2016-12-10 09:15:39 +01:00
RecipeHandler.addRecipe(new CompressorRecipe(ItemIngots.getIngotByName("advanced_alloy"),
ItemPlates.getPlateByName("advanced_alloy"), 400, 20));
RecipeHandler.addRecipe(
2016-12-21 18:44:44 +01:00
new CompressorRecipe(IC2Duplicates.CARBON_MESH.getStackBasedOnConfig(), ItemPlates.getPlateByName("carbon"), 400,
2016-10-08 21:46:16 +02:00
2));
2016-12-22 01:41:33 +01:00
for (String ore : OreUtil.oreNames) {
if (OreUtil.doesOreExistAndValid("plate" + OreUtil.capitalizeFirstLetter(ore)) && OreUtil.doesOreExistAndValid("ingot" + OreUtil.capitalizeFirstLetter(ore))) {
2016-12-12 16:53:04 +01:00
RecipeHandler.addRecipe(
new CompressorRecipe(OreUtil.getStackFromName("ingot" + OreUtil.capitalizeFirstLetter(ore), 9), OreUtil.getStackFromName("plate" + OreUtil.capitalizeFirstLetter(ore), 1), 300,
4));
}
if (OreUtil.doesOreExistAndValid("plate" + OreUtil.capitalizeFirstLetter(ore)) && OreUtil.doesOreExistAndValid("gem" + OreUtil.capitalizeFirstLetter(ore))) {
RecipeHandler.addRecipe(
new CompressorRecipe(OreUtil.getStackFromName("gem" + OreUtil.capitalizeFirstLetter(ore), 9), OreUtil.getStackFromName("plate" + OreUtil.capitalizeFirstLetter(ore), 1), 300,
4));
}
2016-12-12 16:53:04 +01:00
2016-12-22 01:41:33 +01:00
if (OreUtil.hasPlate(ore) && OreUtil.hasBlock(ore)) {
2016-12-12 16:53:04 +01:00
RecipeHandler.addRecipe(
new CompressorRecipe(OreUtil.getStackFromName("block" + OreUtil.capitalizeFirstLetter(ore), 1), OreUtil.getStackFromName("plate" + OreUtil.capitalizeFirstLetter(ore), 1), 300,
4));
}
}
RecipeHandler.addRecipe(
new CompressorRecipe(OreUtil.getStackFromName("plankWood", 1), OreUtil.getStackFromName("plateWood", 1), 300,
4));
RecipeHandler.addRecipe(
new CompressorRecipe(OreUtil.getStackFromName("dustLazurite", 8), OreUtil.getStackFromName("plateLazurite", 1), 300,
4));
2016-03-06 14:33:35 +01:00
}
static void addGrinderRecipes() {
2016-03-25 10:47:34 +01:00
// Vanilla
2016-06-05 12:23:20 +02:00
int eutick = 2;
int ticktime = 300;
2016-10-08 21:46:16 +02:00
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(Items.BONE),
new ItemStack(Items.DYE, 6, 15),
170, 19));
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(Blocks.COBBLESTONE),
new ItemStack(Blocks.SAND),
230, 23));
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(Blocks.GRAVEL),
new ItemStack(Items.FLINT),
200, 20));
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(Blocks.NETHERRACK),
ItemDusts.getDustByName("netherrack"),
300, 27));
2017-01-07 09:29:19 +01:00
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(Items.COAL),
ItemDusts.getDustByName("coal"),
300, 27));
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(net.minecraft.init.Items.CLAY_BALL),
ItemDusts.getDustByName("clay"),
200, 18));
2016-10-08 21:46:16 +02:00
for (String oreDictionaryName : OreDictionary.getOreNames()) {
if (isDictPrefixed(oreDictionaryName, "ore", "gem", "ingot")) {
ItemStack oreStack = getDictOreOrEmpty(oreDictionaryName, 1);
2016-10-08 21:46:16 +02:00
String[] data = getDictData(oreDictionaryName);
//High-level ores shouldn't grind here
if (data[0].equals("ore") && (
data[1].equals("tungsten") ||
data[1].equals("titanium") ||
data[1].equals("aluminium") ||
data[1].equals("iridium") ||
data[1].equals("saltpeter")) ||
oreStack == ItemStack.EMPTY)
2016-10-08 21:46:16 +02:00
continue;
2016-10-08 21:46:16 +02:00
boolean ore = data[0].equals("ore");
Core.logHelper.debug("Ore: " + data[1]);
ItemStack dust = getDictOreOrEmpty(joinDictName("dust", data[1]), ore ? 2 : 1);
if (dust == ItemStack.EMPTY || dust.getItem() == null) {
2016-10-08 21:46:16 +02:00
continue;
}
dust = dust.copy();
2016-11-25 14:25:51 +01:00
if (ore) {
2016-11-19 13:50:08 +01:00
dust.setCount(2);
}
2016-10-08 21:46:16 +02:00
RecipeHandler.addRecipe(new GrinderRecipe(oreStack, dust, ore ? 270 : 200, ore ? 31 : 22));
}
}
2017-01-16 11:03:58 +01:00
RecipeHandler.addRecipe(new GrinderRecipe(
new ItemStack(Items.COAL),
ItemDusts.getDustByName("coal"),
120, 10));
2016-03-25 10:47:34 +01:00
}
2016-03-24 01:39:26 +01:00
static void addReactorRecipes() {
FusionReactorRecipeHelper.registerRecipe(
2016-10-08 21:46:16 +02:00
new FusionReactorRecipe(ItemCells.getCellByName("helium3"), ItemCells.getCellByName("deuterium"),
ItemCells.getCellByName("heliumplasma"), 40000000, 32768, 1024));
FusionReactorRecipeHelper.registerRecipe(
2016-10-08 21:46:16 +02:00
new FusionReactorRecipe(ItemCells.getCellByName("tritium"), ItemCells.getCellByName("deuterium"),
ItemCells.getCellByName("helium3"), 60000000, 32768, 2048));
FusionReactorRecipeHelper.registerRecipe(
2016-10-08 21:46:16 +02:00
new FusionReactorRecipe(ItemCells.getCellByName("wolframium"), ItemCells.getCellByName("Berylium"),
ItemDusts.getDustByName("platinum"), 80000000, -2048, 1024));
2016-05-25 17:57:50 +02:00
FusionReactorRecipeHelper.registerRecipe(
2016-10-08 21:46:16 +02:00
new FusionReactorRecipe(ItemCells.getCellByName("wolframium"), ItemCells.getCellByName("lithium"),
BlockOre.getOreByName("iridium"), 90000000, -2048, 1024));
2016-03-25 10:47:34 +01:00
}
static void addGeneralShapedRecipes() {
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.CLOAKING_DEVICE), "CIC", "IOI", "CIC", 'C', "ingotChrome",
'I', "plateIridium", 'O', new ItemStack(ModItems.LAPOTRONIC_ORB));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.TREE_TAP), " S ", "PPP", "P ", 'S', "stickWood", 'P',
2016-10-08 21:46:16 +02:00
"plankWood");
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.ROCK_CUTTER), "DT ", "DT ", "DCB", 'D', "dustDiamond", 'T',
"ingotTitanium", 'C', "circuitBasic", 'B', new ItemStack(ModItems.RE_BATTERY));
2016-03-25 10:47:34 +01:00
2016-10-08 21:46:16 +02:00
for (String part : ItemParts.types) {
if (part.endsWith("Gear")) {
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName(part), " O ", "OIO", " O ", 'I',
2016-10-08 21:46:16 +02:00
new ItemStack(Items.IRON_INGOT), 'O',
"ingot" + StringUtils.toFirstCapital(part.replace("Gear", "")));
2016-03-25 10:47:34 +01:00
}
}
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("heliumCoolantSimple"), " T ", "TCT", " T ", 'T',
2016-12-13 00:57:04 +01:00
"ingotTin", 'C', ItemCells.getCellByName("helium", 1));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("HeliumCoolantTriple"), "TTT", "CCC", "TTT", 'T',
2016-10-08 21:46:16 +02:00
"ingotTin", 'C', ItemParts.getPartByName("heliumCoolantSimple"));
2016-03-25 10:47:34 +01:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("HeliumCoolantSix"), "THT", "TCT", "THT", 'T', "ingotTin",
'C', "ingotCopper", 'H', ItemParts.getPartByName("HeliumCoolantTriple"));
2016-03-25 10:47:34 +01:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantTriple"), "TTT", "CCC", "TTT", 'T', "ingotTin",
'C', ItemParts.getPartByName("NaKCoolantSimple"));
2016-03-25 10:47:34 +01:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantSix"), "THT", "TCT", "THT", 'T', "ingotTin", 'C',
"ingotCopper", 'H', ItemParts.getPartByName("NaKCoolantTriple"));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ADJUSTABLE_SU), "LLL", "LCL", "LLL", 'L',
new ItemStack(ModItems.LAPOTRONIC_ORB), 'C', new ItemStack(ModItems.ENERGY_CRYSTAL));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.INTERDIMENSIONAL_SU), "PAP", "ACA", "PAP", 'P',
2016-10-08 21:46:16 +02:00
ItemPlates.getPlateByName("iridium"), 'C', new ItemStack(Blocks.ENDER_CHEST), 'A',
new ItemStack(ModBlocks.ADJUSTABLE_SU));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FUSION_CONTROL_COMPUTER), "CCC", "PTP", "CCC", 'P',
new ItemStack(ModItems.ENERGY_CRYSTAL), 'T', new ItemStack(ModBlocks.FUSION_COIL), 'C',
2016-10-08 21:46:16 +02:00
"circuitMaster");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LIGHTNING_ROD), "CAC", "ACA", "CAC", 'A',
new ItemStack(ModBlocks.MACHINE_CASINGS, 1, 2), 'S', ItemParts.getPartByName("superConductor"), 'C',
2016-10-08 21:46:16 +02:00
"circuitMaster");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.FUSION_COIL), "CSC", "NAN", "CRC", 'A',
new ItemStack(ModBlocks.MACHINE_CASINGS, 1, 2), 'N', ItemParts.getPartByName("nichromeHeatingCoil"), 'C',
2016-10-08 21:46:16 +02:00
"circuitMaster", 'S', ItemParts.getPartByName("superConductor"), 'R',
ItemParts.getPartByName("iridiumNeutronReflector"));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("iridiumNeutronReflector"), "PPP", "PIP", "PPP", 'P',
2016-10-08 21:46:16 +02:00
ItemParts.getPartByName("thickNeutronReflector"), 'I', "ingotIridium");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("thickNeutronReflector"), " P ", "PCP", " P ", 'P',
2016-10-08 21:46:16 +02:00
ItemParts.getPartByName("neutronReflector"), 'C', ItemCells.getCellByName("Berylium"));
2016-03-25 10:47:34 +01:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("neutronReflector"), "TCT", "CPC", "TCT", 'T', "dustTin",
'C', "dustCoal", 'P', "plateCopper");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.SCRAP_BOX), "SSS", "SSS", "SSS", 'S',
2016-10-08 21:46:16 +02:00
ItemParts.getPartByName("scrap"));
2016-03-25 10:47:34 +01:00
if (!IC2Duplicates.deduplicate()) {
CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock"), "TTT", "WCW", 'T',
ItemParts.getPartByName("CoolantSimple"), 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(),
'C', "circuitBasic");
2016-03-29 11:17:48 +02:00
CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T',
ItemParts.getPartByName("heliumCoolantSimple"), 'W',
IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C',
"circuitBasic");
CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("Overclock", 2), " T ", "WCW", 'T',
ItemParts.getPartByName("NaKCoolantSimple"), 'W',
IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C',
"circuitBasic");
}
2016-03-29 11:17:48 +02:00
CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("transformer"), "GGG", "WTW", "GCG", 'G',
"blockGlass", 'W', IC2Duplicates.CABLE_IGOLD.getStackBasedOnConfig(), 'C',
"circuitBasic", 'T', IC2Duplicates.MVT.getStackBasedOnConfig());
2016-03-29 11:17:48 +02:00
CraftingHelper.addShapedOreRecipe(ItemUpgrades.getUpgradeByName("energy_storage"), "PPP", "WBW", "PCP", 'P',
"plankWood", 'W', IC2Duplicates.CABLE_ICOPPER.getStackBasedOnConfig(), 'C',
"circuitBasic", 'B', ModItems.RE_BATTERY);
2016-03-29 11:17:48 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("CoolantSimple"), " T ", "TWT", " T ", 'T', "ingotTin", 'W',
"containerWater");
2016-03-29 11:17:48 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("CoolantTriple"), "TTT", "CCC", "TTT", 'T', "ingotTin", 'C',
ItemParts.getPartByName("CoolantSimple"));
2016-03-29 11:17:48 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("CoolantSix"), "TCT", "TPT", "TCT", 'T', "ingotTin", 'C',
ItemParts.getPartByName("CoolantTriple"), 'P', ItemPlates.getPlateByName("copper"));
2016-03-29 11:17:48 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantSimple"), "TST", "PCP", "TST", 'T', "ingotTin",
'C', ItemParts.getPartByName("CoolantSimple"), 'S', ItemCells.getCellByName("sodium"), 'P',
ItemCells.getCellByName("potassium"));
2016-03-29 11:17:48 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("NaKCoolantSimple"), "TPT", "SCS", "TPT", 'T', "ingotTin",
'C', ItemParts.getPartByName("CoolantSimple"), 'S', ItemCells.getCellByName("sodium"), 'P',
ItemCells.getCellByName("potassium"));
2016-03-29 11:17:48 +02:00
2016-09-19 21:58:34 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("dataControlCircuit"), "ADA", "DID", "ADA", 'I', "ingotIridium",
'A', ItemParts.getPartByName("advancedCircuit"), 'D', ItemParts.getPartByName("dataStorageCircuit"));
2016-09-19 21:58:34 +02:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("dataOrb"), "DDD", "DSD", "DDD",
'D', ItemParts.getPartByName("dataStorageCircuit"), 'S', ItemParts.getPartByName("dataStorageCircuit"));
2016-09-19 21:58:34 +02:00
2016-12-12 16:29:25 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.ELECTRIC_TREE_TAP), "TB", " ",
'T', new ItemStack(ModItems.TREE_TAP), 'B', new ItemStack(ModItems.RE_BATTERY));
2016-12-12 16:29:25 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.NANOSABER), "DC ", "DC ", "GLG",
'L', new ItemStack(ModItems.LAPOTRONIC_CRYSTAL), 'C', ItemPlates.getPlateByName("carbon"), 'D', "plateDiamond",
2016-12-12 16:29:25 +01:00
'G', ItemDustsSmall.getSmallDustByName("glowstone"));
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("diamondGrindingHead", 2), "TST", "SBS", "TST", 'T',
"plateDiamond", 'S', "plateSteel", 'B', "blockDiamond");
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("coolantSimple", 2), " T ", "TWT", " T ", 'T',
"ingotTin", 'W', new ItemStack(Items.WATER_BUCKET));
Core.logHelper.info("Shapped Recipes Added");
2016-03-25 10:47:34 +01:00
}
2016-10-08 21:46:16 +02:00
static void addMachineRecipes() {
if (!CompatManager.isQuantumStorageLoaded) {
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.QUANTUM_TANK), "EPE", "PCP", "EPE", 'P', "ingotPlatinum",
'E', "circuitAdvanced", 'C', ModBlocks.QUANTUM_CHEST);
}
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.DIGITAL_CHEST), "PPP", "PDP", "PCP", 'P', "plateAluminum",
2016-10-08 21:46:16 +02:00
'D', ItemParts.getPartByName("dataOrb"), 'C', ItemParts.getPartByName("computerMonitor"));
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.DIGITAL_CHEST), "PPP", "PDP", "PCP", 'P', "plateSteel", 'D',
2016-10-08 21:46:16 +02:00
ItemParts.getPartByName("dataOrb"), 'C', ItemParts.getPartByName("computerMonitor"));
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.ALLOY_SMELTER), "XCX", "FMF", "XXX", 'C',
2016-12-18 22:36:29 +01:00
"circuitBasic", 'F', IC2Duplicates.ELECTRICAL_FURNACE.getStackBasedOnConfig(), 'M',
2016-10-08 21:46:16 +02:00
BlockMachineFrame.getFrameByName("machine", 1));
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.LSU_STORAGE_BLOCK), "LLL", "LCL", "LLL", 'L', "blockLapis", 'C',
2016-10-08 21:46:16 +02:00
"circuitBasic");
2016-03-25 10:47:34 +01:00
2016-12-10 09:15:39 +01:00
RecipeHandler.addRecipe(new VacuumFreezerRecipe(ItemIngots.getIngotByName("hot_tungstensteel"),
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("tungstensteel"), 440, 128));
RecipeHandler.addRecipe(new VacuumFreezerRecipe(ItemCells.getCellByName("heliumplasma"),
2016-10-08 21:46:16 +02:00
ItemCells.getCellByName("helium"), 440, 128));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new VacuumFreezerRecipe(ItemCells.getCellByName("water"),
ItemCells.getCellByName("cell"), 60, 128));
2016-03-25 10:47:34 +01:00
}
2016-10-08 21:46:16 +02:00
static void addVacuumFreezerRecipes() {
RecipeHandler.addRecipe(new VacuumFreezerRecipe(
new ItemStack(Blocks.ICE, 2),
new ItemStack(Blocks.PACKED_ICE),
60, 100
));
RecipeHandler.addRecipe(new VacuumFreezerRecipe(
2016-12-10 09:15:39 +01:00
ItemIngots.getIngotByName("hot_tungstensteel"),
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("tungstensteel"),
440, 120));
RecipeHandler.addRecipe(new VacuumFreezerRecipe(
ItemCells.getCellByName("heliumplasma"),
ItemCells.getCellByName("helium"),
440, 128));
RecipeHandler.addRecipe(
new VacuumFreezerRecipe(
ItemCells.getCellByName("water"),
ItemCells.getCellByName("cell"),
60, 87));
}
2016-10-08 21:46:16 +02:00
static void addAlloySmelterRecipes() {
2016-03-25 10:47:34 +01:00
// Bronze
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemIngots.getIngotByName("copper", 3), ItemIngots.getIngotByName("tin", 1),
ItemIngots.getIngotByName("bronze", 4), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemIngots.getIngotByName("copper", 3), ItemDusts.getDustByName("tin", 1),
ItemIngots.getIngotByName("bronze", 4), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("copper", 3), ItemIngots.getIngotByName("tin", 1),
ItemIngots.getIngotByName("bronze", 4), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("copper", 3), ItemDusts.getDustByName("tin", 1),
ItemIngots.getIngotByName("bronze", 4), 200, 16));
2016-03-25 10:47:34 +01:00
// Electrum
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.GOLD_INGOT, 1), ItemIngots.getIngotByName("silver", 1),
ItemIngots.getIngotByName("electrum", 2), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.GOLD_INGOT, 1), ItemDusts.getDustByName("silver", 1),
ItemIngots.getIngotByName("electrum", 2), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("gold", 1), ItemIngots.getIngotByName("silver", 1),
ItemIngots.getIngotByName("electrum", 2), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("gold", 1), ItemDusts.getDustByName("silver", 1),
ItemIngots.getIngotByName("electrum", 2), 200, 16));
2016-03-25 10:47:34 +01:00
// Invar
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.IRON_INGOT, 2), ItemIngots.getIngotByName("nickel", 1),
ItemIngots.getIngotByName("invar", 3), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.IRON_INGOT, 2), ItemDusts.getDustByName("nickel", 1),
ItemIngots.getIngotByName("invar", 3), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("iron", 2), ItemIngots.getIngotByName("nickel", 1),
ItemIngots.getIngotByName("invar", 3), 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("iron", 2), ItemDusts.getDustByName("nickel", 1),
ItemIngots.getIngotByName("invar", 3), 200, 16));
2016-03-25 10:47:34 +01:00
// Brass
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotBrass")) {
2016-03-25 10:47:34 +01:00
ItemStack brassStack = OreDictionary.getOres("ingotBrass").get(0);
2016-11-19 13:50:08 +01:00
brassStack.setCount(4);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemIngots.getIngotByName("copper", 3), ItemIngots.getIngotByName("zinc", 1),
brassStack, 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemIngots.getIngotByName("copper", 3), ItemDusts.getDustByName("zinc", 1),
brassStack, 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("copper", 3), ItemIngots.getIngotByName("zinc", 1),
brassStack, 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("copper", 3), ItemDusts.getDustByName("zinc", 1),
brassStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Red Alloy
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotRedAlloy")) {
2016-03-25 10:47:34 +01:00
ItemStack redAlloyStack = OreDictionary.getOres("ingotRedAlloy").get(0);
2016-11-19 13:50:08 +01:00
redAlloyStack.setCount(1);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.REDSTONE, 4), ItemIngots.getIngotByName("copper", 1),
redAlloyStack, 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.REDSTONE, 4), new ItemStack(Items.IRON_INGOT, 1),
redAlloyStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Blue Alloy
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotBlueAlloy")) {
2016-03-25 10:47:34 +01:00
ItemStack blueAlloyStack = OreDictionary.getOres("ingotBlueAlloy").get(0);
2016-11-19 13:50:08 +01:00
blueAlloyStack.setCount(1);
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new AlloySmelterRecipe(ItemDusts.getDustByName("teslatite", 4),
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("silver", 1), blueAlloyStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Blue Alloy
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotPurpleAlloy") && OreUtil.doesOreExistAndValid("dustInfusedTeslatite")) {
2016-03-25 10:47:34 +01:00
ItemStack purpleAlloyStack = OreDictionary.getOres("ingotPurpleAlloy").get(0);
2016-11-19 13:50:08 +01:00
purpleAlloyStack.setCount(1);
2016-03-25 10:47:34 +01:00
ItemStack infusedTeslatiteStack = OreDictionary.getOres("ingotPurpleAlloy").get(0);
2016-11-19 13:50:08 +01:00
infusedTeslatiteStack.setCount(8);
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new AlloySmelterRecipe(ItemIngots.getIngotByName("redAlloy", 1),
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("blueAlloy", 1), purpleAlloyStack, 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.GOLD_INGOT, 1), infusedTeslatiteStack, purpleAlloyStack,
200, 16));
2016-03-25 10:47:34 +01:00
}
// Aluminum Brass
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotAluminumBrass")) {
2016-03-25 10:47:34 +01:00
ItemStack aluminumBrassStack = OreDictionary.getOres("ingotAluminumBrass").get(0);
2016-11-19 13:50:08 +01:00
aluminumBrassStack.setCount(4);
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new AlloySmelterRecipe(ItemIngots.getIngotByName("copper", 3),
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("aluminum", 1), aluminumBrassStack, 200, 16));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new AlloySmelterRecipe(ItemIngots.getIngotByName("copper", 3),
2016-10-08 21:46:16 +02:00
ItemDusts.getDustByName("aluminum", 1), aluminumBrassStack, 200, 16));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new AlloySmelterRecipe(ItemDusts.getDustByName("copper", 3),
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("aluminum", 1), aluminumBrassStack, 200, 16));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(ItemDusts.getDustByName("copper", 3), ItemDusts.getDustByName("aluminum", 1),
aluminumBrassStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Manyullyn
if (OreUtil.doesOreExistAndValid("ingotManyullyn") && OreUtil.doesOreExistAndValid("ingotCobalt") && OreUtil
2016-10-08 21:46:16 +02:00
.doesOreExistAndValid("ingotArdite")) {
2016-03-25 10:47:34 +01:00
ItemStack manyullynStack = OreDictionary.getOres("ingotManyullyn").get(0);
2016-11-19 13:50:08 +01:00
manyullynStack.setCount(1);
2016-03-25 10:47:34 +01:00
ItemStack cobaltStack = OreDictionary.getOres("ingotCobalt").get(0);
2016-11-19 13:50:08 +01:00
cobaltStack.setCount(1);
2016-03-25 10:47:34 +01:00
ItemStack arditeStack = OreDictionary.getOres("ingotArdite").get(0);
2016-11-19 13:50:08 +01:00
arditeStack.setCount(1);
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new AlloySmelterRecipe(cobaltStack, arditeStack, manyullynStack, 200, 16));
}
// Conductive Iron
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotConductiveIron")) {
2016-03-25 10:47:34 +01:00
ItemStack conductiveIronStack = OreDictionary.getOres("ingotConductiveIron").get(0);
2016-11-19 13:50:08 +01:00
conductiveIronStack.setCount(1);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.REDSTONE, 1), new ItemStack(Items.IRON_INGOT, 1),
conductiveIronStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Redstone Alloy
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotRedstoneAlloy") && OreUtil.doesOreExistAndValid("itemSilicon")) {
2016-03-25 10:47:34 +01:00
ItemStack redstoneAlloyStack = OreDictionary.getOres("ingotRedstoneAlloy").get(0);
2016-11-19 13:50:08 +01:00
redstoneAlloyStack.setCount(1);
2016-03-25 10:47:34 +01:00
ItemStack siliconStack = OreDictionary.getOres("itemSilicon").get(0);
2016-11-19 13:50:08 +01:00
siliconStack.setCount(1);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.REDSTONE, 1), siliconStack, redstoneAlloyStack, 200,
16));
2016-03-25 10:47:34 +01:00
}
// Pulsating Iron
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotPhasedIron")) {
2016-03-25 10:47:34 +01:00
ItemStack pulsatingIronStack = OreDictionary.getOres("ingotPhasedIron").get(0);
2016-11-19 13:50:08 +01:00
pulsatingIronStack.setCount(1);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Items.IRON_INGOT, 1), new ItemStack(Items.ENDER_PEARL, 1),
pulsatingIronStack, 200, 16));
RecipeHandler.addRecipe(
2016-12-11 20:34:56 +01:00
new AlloySmelterRecipe(new ItemStack(Items.IRON_INGOT, 1), ItemDusts.getDustByName("ender_pearl", 1),
2016-10-08 21:46:16 +02:00
pulsatingIronStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Vibrant Alloy
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotEnergeticAlloy") && OreUtil.doesOreExistAndValid("ingotPhasedGold")) {
2016-03-25 10:47:34 +01:00
ItemStack energeticAlloyStack = OreDictionary.getOres("ingotEnergeticAlloy").get(0);
2016-11-19 13:50:08 +01:00
energeticAlloyStack.setCount(1);
2016-03-25 10:47:34 +01:00
ItemStack vibrantAlloyStack = OreDictionary.getOres("ingotPhasedGold").get(0);
2016-11-19 13:50:08 +01:00
vibrantAlloyStack.setCount(1);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(energeticAlloyStack, new ItemStack(Items.ENDER_PEARL, 1), vibrantAlloyStack,
200, 16));
RecipeHandler.addRecipe(
2016-12-11 20:34:56 +01:00
new AlloySmelterRecipe(energeticAlloyStack, ItemDusts.getDustByName("ender_pearl", 1),
2016-10-08 21:46:16 +02:00
vibrantAlloyStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
// Soularium
2016-10-08 21:46:16 +02:00
if (OreUtil.doesOreExistAndValid("ingotSoularium")) {
2016-03-25 10:47:34 +01:00
ItemStack soulariumStack = OreDictionary.getOres("ingotSoularium").get(0);
2016-11-19 13:50:08 +01:00
soulariumStack.setCount(1);
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new AlloySmelterRecipe(new ItemStack(Blocks.SOUL_SAND, 1), new ItemStack(Items.GOLD_INGOT, 1),
soulariumStack, 200, 16));
2016-03-25 10:47:34 +01:00
}
}
2016-10-08 21:46:16 +02:00
static void addBlastFurnaceRecipes() {
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemDusts.getDustByName("titanium"), null, ItemIngots.getIngotByName("titanium"),
null, 3600, 120, 1500));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("titanium", 4), null,
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("titanium"), null, 3600, 120, 1500));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemDusts.getDustByName("aluminum"), null, ItemIngots.getIngotByName("aluminum"),
null, 2200, 120, 1700));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("aluminum", 4), null,
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("aluminum"), null, 2200, 120, 1700));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemDusts.getDustByName("tungsten"), null, ItemIngots.getIngotByName("tungsten"),
null, 18000, 120, 2500));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("tungsten", 4), null,
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("tungsten"), null, 18000, 120, 2500));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemDusts.getDustByName("chrome"), null, ItemIngots.getIngotByName("chrome"),
null, 4420, 120, 1700));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("chrome", 4), null,
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("chrome"), null, 4420, 120, 1700));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemDusts.getDustByName("steel"), null, ItemIngots.getIngotByName("steel"), null,
2800, 120, 1000));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new BlastFurnaceRecipe(ItemDustsSmall.getSmallDustByName("steel", 4), null,
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("steel"), null, 2800, 120, 1000));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemDusts.getDustByName("galena", 2), null, ItemIngots.getIngotByName("silver"),
ItemIngots.getIngotByName("lead"), 80, 120, 1500));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(new ItemStack(Items.IRON_INGOT), ItemDusts.getDustByName("coal", 2),
2016-12-11 20:34:56 +01:00
ItemIngots.getIngotByName("steel"), ItemDusts.getDustByName("dark_ashes", 2), 500, 120, 1000));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(ItemIngots.getIngotByName("tungsten"), ItemIngots.getIngotByName("steel"),
2016-12-11 20:34:56 +01:00
ItemIngots.getIngotByName("hot_tungstensteel"), ItemDusts.getDustByName("dark_ashes", 4), 500,
2016-10-08 21:46:16 +02:00
500, 3000));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(new ItemStack(Blocks.IRON_ORE), ItemDusts.getDustByName("calcite"),
2016-12-11 20:34:56 +01:00
new ItemStack(Items.IRON_INGOT, 3), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new BlastFurnaceRecipe(BlockOre.getOreByName("Pyrite"), ItemDusts.getDustByName("calcite"),
2016-12-11 20:34:56 +01:00
new ItemStack(Items.IRON_INGOT, 2), ItemDusts.getDustByName("dark_ashes"), 140, 120, 1000));
2016-03-25 10:47:34 +01:00
}
2016-10-08 21:46:16 +02:00
static void addChemicalReactorRecipes() {
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(ItemCells.getCellByName("calcium", 1), ItemCells.getCellByName("carbon", 1),
ItemCells.getCellByName("calciumCarbonate", 2), 240, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(new ItemStack(Items.GOLD_NUGGET, 8), new ItemStack(Items.MELON, 1),
new ItemStack(Items.SPECKLED_MELON, 1), 40, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(ItemCells.getCellByName("nitrogen", 1), ItemCells.getCellByName("carbon", 1),
ItemCells.getCellByName("nitrocarbon", 2), 1500, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(ItemCells.getCellByName("carbon", 1), ItemCells.getCellByName("hydrogen", 4),
ItemCells.getCellByName("methane", 5), 3500, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(ItemCells.getCellByName("sulfur", 1), ItemCells.getCellByName("sodium", 1),
ItemCells.getCellByName("sodiumSulfide", 2), 100, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(new ItemStack(Items.BLAZE_POWDER, 1), new ItemStack(Items.ENDER_PEARL, 1),
new ItemStack(Items.ENDER_EYE, 1), 40, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(new ItemStack(Items.GOLD_NUGGET, 8), new ItemStack(Items.CARROT, 1),
new ItemStack(Items.GOLDEN_CARROT, 1), 40, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(ItemCells.getCellByName("glyceryl", 1), ItemCells.getCellByName("diesel", 4),
ItemCells.getCellByName("nitroDiesel", 5), 1000, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(new ItemStack(Items.GOLD_INGOT, 8), new ItemStack(Items.APPLE, 1),
new ItemStack(Items.GOLDEN_APPLE, 1), 40, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(new ItemStack(Blocks.GOLD_BLOCK, 8), new ItemStack(Items.APPLE, 1),
new ItemStack(Items.GOLDEN_APPLE, 1, 1), 40, 30));
RecipeHandler.addRecipe(
2016-10-08 21:46:16 +02:00
new ChemicalReactorRecipe(new ItemStack(Items.BLAZE_POWDER, 1), new ItemStack(Items.SLIME_BALL, 1),
new ItemStack(Items.MAGMA_CREAM, 1), 40, 30));
2016-03-25 10:47:34 +01:00
}
2016-10-08 21:46:16 +02:00
static void addIc2Recipes() {
CraftingHelper.addShapelessOreRecipe(new ItemStack(ModItems.MANUAL), IC2Duplicates.REFINED_IRON.getStackBasedOnConfig(),
2016-10-08 21:46:16 +02:00
Items.BOOK);
2016-03-25 10:47:34 +01:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(ItemParts.getPartByName("machineParts", 16), "CSC", "SCS", "CSC", 'S', "ingotSteel",
'C', "circuitBasic");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("energyFlowCircuit", 4), "ATA", "LIL", "ATA", 'T',
2016-10-08 21:46:16 +02:00
"ingotTungsten", 'I', "plateIridium", 'A', "circuitAdvanced", 'L',
"lapotronCrystal");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(ItemParts.getPartByName("superconductor", 4), "CCC", "TIT", "EEE", 'E',
2016-10-08 21:46:16 +02:00
"circuitMaster", 'C', ItemParts.getPartByName("heliumCoolantSimple"), 'T',
"ingotTungsten", 'I', "plateIridium");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModItems.LAPOTRONIC_ORB), "LLL", "LPL", "LLL", 'L',
2016-10-08 21:46:16 +02:00
"lapotronCrystal", 'P', "plateIridium");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.INDUSTRIAL_SAWMILL), "PAP", "SSS", "ACA", 'P',
IC2Duplicates.REFINED_IRON.getStackBasedOnConfig(), 'A', "circuitAdvanced",
2016-10-08 21:46:16 +02:00
'S', ItemParts.getPartByName("diamondSawBlade"), 'C',
"machineBlockAdvanced");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.CHARGE_O_MAT), "ETE", "COC", "EAD", 'E',
"circuitMaster", 'T', ModItems.ENERGY_CRYSTAL, 'C', Blocks.CHEST, 'O',
ModItems.LAPOTRONIC_ORB, 'A', "machineBlockAdvanced");
2016-05-28 21:40:11 +02:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MATTER_FABRICATOR), "ETE", "AOA", "ETE", 'E',
"circuitMaster", 'T', IC2Duplicates.EXTRACTOR.getStackBasedOnConfig(), 'A',
BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), 'O', ModItems.LAPOTRONIC_ORB);
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.HEAT_GENERATOR), "III", "IHI", "CGC", 'I', "plateIron", 'H',
2016-12-18 22:36:29 +01:00
new ItemStack(Blocks.IRON_BARS), 'C', "circuitBasic", 'G', IC2Duplicates.GENERATOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.GAS_TURBINE), "IAI", "WGW", "IAI", 'I', "ingotInvar", 'A',
2016-10-08 21:46:16 +02:00
"circuitAdvanced", 'W',
getOre("ic2Windmill"), 'G',
getOre("glassReinforced"));
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.GAS_TURBINE), "IAI", "WGW", "IAI", 'I', "ingotAluminum", 'A',
2016-10-08 21:46:16 +02:00
"circuitAdvanced", 'W',
getOre("ic2Windmill"), 'G',
getOre("glassReinforced"));
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.SEMIFLUID_GENERATOR), "III", "IHI", "CGC", 'I', "plateIron",
'H', ModBlocks.REINFORCED_GLASS, 'C', "circuitBasic", 'G',
2016-12-18 22:36:29 +01:00
IC2Duplicates.GENERATOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.SEMIFLUID_GENERATOR), "AAA", "AHA", "CGC", 'A',
"plateAluminum", 'H', ModBlocks.REINFORCED_GLASS, 'C', "circuitBasic", 'G',
2016-12-18 22:36:29 +01:00
IC2Duplicates.GENERATOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.DIESEL_GENERATOR), "III", "I I", "CGC", 'I', IC2Duplicates.REFINED_IRON.getStackBasedOnConfig(),
2016-12-18 22:36:29 +01:00
'C', "circuitBasic", 'G', IC2Duplicates.GENERATOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.DIESEL_GENERATOR), "AAA", "A A", "CGC", 'A', "ingotAluminum",
2016-12-18 22:36:29 +01:00
'C', "circuitBasic", 'G', IC2Duplicates.GENERATOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
// CraftingHelper.addShapedOreRecipe(new
2016-12-05 10:40:55 +01:00
// ItemStack(ModBlocks.magicalAbsorber),
2016-03-25 10:47:34 +01:00
// "CSC", "IBI", "CAC",
// 'C', "circuitMaster",
// 'S', "craftingSuperconductor",
// 'B', Blocks.beacon,
2016-12-05 10:40:55 +01:00
// 'A', ModBlocks.magicEnergeyConverter,
// 'I', "plateIridium");
2016-03-25 10:47:34 +01:00
//
// CraftingHelper.addShapedOreRecipe(new
2016-12-05 10:40:55 +01:00
// ItemStack(ModBlocks.magicEnergeyConverter),
2016-03-25 10:47:34 +01:00
// "CTC", "PBP", "CLC",
// 'C', "circuitAdvanced",
// 'P', "platePlatinum",
// 'B', Blocks.beacon,
// 'L', "lapotronCrystal",
2016-03-25 10:47:34 +01:00
// 'T', TechRebornAPI.recipeCompact.getItem("teleporter"));
2016-12-05 11:48:21 +01:00
// CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.dragonEggEnergySiphoner), "CTC", "ISI", "CBC", 'I',
// "plateIridium", 'C', "circuitBasic",
// 'B', ModItems.lithiumBattery, 'S', ModBlocks.Supercondensator, 'T', ModBlocks.extractor);
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.INDUSTRIAL_BLAST_FURNACE), "CHC", "HBH", "FHF", 'H',
2016-11-25 14:25:51 +01:00
ItemParts.getPartByName("cupronickelHeatingCoil"), 'C', "circuitAdvanced", 'B',
BlockMachineFrame.getFrameByName("advancedMachine", 1), 'F', IC2Duplicates.ELECTRICAL_FURNACE.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
2017-01-07 09:29:19 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.INDUSTRIAL_GRINDER), "ECG", "HHH", "CBC", 'E',
ModBlocks.INDUSTRIAL_ELECTROLYZER, 'H', "craftingGrinder", 'C',
2016-10-08 21:46:16 +02:00
"circuitAdvanced", 'B', "machineBlockAdvanced",
2016-12-18 22:36:29 +01:00
'G', IC2Duplicates.GRINDER.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IMPLOSION_COMPRESSOR), "ABA", "CPC", "ABA", 'A',
2016-10-08 21:46:16 +02:00
ItemIngots.getIngotByName("advancedAlloy"), 'C', "circuitAdvanced", 'B',
2016-12-18 22:36:29 +01:00
BlockMachineFrame.getFrameByName("advancedMachine", 1), 'P', IC2Duplicates.COMPRESSOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.VACUUM_FREEZER), "SPS", "CGC", "SPS", 'S', "plateSteel", 'C',
"circuitAdvanced", 'G', ModBlocks.REINFORCED_GLASS, 'P',
2016-12-18 22:36:29 +01:00
IC2Duplicates.EXTRACTOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.DISTILLATION_TOWER), "CMC", "PBP", "EME", 'E',
ModBlocks.INDUSTRIAL_ELECTROLYZER, 'M', "circuitMaster", 'B',
"machineBlockAdvanced", 'C', ModBlocks.INDUSTRIAL_CENTRIFUGE, 'P',
2016-12-18 22:36:29 +01:00
IC2Duplicates.EXTRACTOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IRON_ALLOY_FURNACE), "III", "F F", "III", 'I',
ItemIngots.getIngotByName("refined_iron"), 'F', new ItemStack(ModBlocks.IRON_FURNACE));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.IRON_ALLOY_FURNACE), "III", "F F", "III", 'I',
IC2Duplicates.REFINED_IRON.getStackBasedOnConfig(), 'F', IC2Duplicates.IRON_FURNACE.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.CHEMICAL_REACTOR), "IMI", "CPC", "IEI", 'I', "ingotInvar",
2016-12-18 22:36:29 +01:00
'C', "circuitAdvanced", 'M', IC2Duplicates.EXTRACTOR.getStackBasedOnConfig(), 'P',
IC2Duplicates.COMPRESSOR.getStackBasedOnConfig(), 'E', IC2Duplicates.EXTRACTOR.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.ROLLING_MACHINE), "PCP", "MBM", "PCP", 'P', Blocks.PISTON,
2016-12-18 22:36:29 +01:00
'C', "circuitAdvanced", 'M', IC2Duplicates.COMPRESSOR.getStackBasedOnConfig(), 'B',
2016-10-08 21:46:16 +02:00
BlockMachineFrame.getFrameByName("machine", 1));
2016-03-25 10:47:34 +01:00
// CraftingHelper.addShapedOreRecipe(new
2016-12-05 10:40:55 +01:00
// ItemStack(ModBlocks.electricCraftingTable),
2016-03-25 10:47:34 +01:00
// "ITI", "IBI", "ICI",
// 'I', "plateIron",
// 'C', "circuitAdvanced",
// 'T', "crafterWood",
// 'B', "machineBlockBasic");
2016-03-25 10:47:34 +01:00
// CraftingHelper.addShapedOreRecipe(new
2016-12-05 10:40:55 +01:00
// ItemStack(ModBlocks.electricCraftingTable),
2016-03-25 10:47:34 +01:00
// "ATA", "ABA", "ACA",
// 'A', "plateAluminum",
// 'C', "circuitAdvanced",
// 'T', "crafterWood",
// 'B', "machineBlockBasic");
2016-03-25 10:47:34 +01:00
// CraftingHelper.addShapedOreRecipe(new
2016-12-05 10:40:55 +01:00
// ItemStack(ModBlocks.chunkLoader),
2016-03-25 10:47:34 +01:00
// "SCS", "CMC", "SCS",
// 'S', "plateSteel",
// 'C', "circuitMaster",
// 'M', new ItemStack(ModItems.parts, 1, 39));
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.LAPOTRONIC_SU), " L ", "CBC", " M ", 'L', IC2Duplicates.LVT.getStackBasedOnConfig(), 'C',
"circuitAdvanced", 'M', IC2Duplicates.MVT.getStackBasedOnConfig(), 'B', ModBlocks.LSU_STORAGE_BLOCK);
2016-03-25 10:47:34 +01:00
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), "CTC", "TBT", "CTC",
'C', "ingotChrome", 'T', "ingotTitanium", 'B',
"machineBlockAdvanced");
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModBlocks.MACHINE_CASINGS, 4, 0), "III", "CBC", "III", 'I', "plateIron",
2016-10-08 21:46:16 +02:00
'C', "circuitBasic", 'B', "machineBlockBasic");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MACHINE_CASINGS, 4, 1), "SSS", "CBC", "SSS", 'S',
2016-10-08 21:46:16 +02:00
"plateSteel", 'C', "circuitAdvanced", 'B', "machineBlockAdvanced");
2016-03-25 10:47:34 +01:00
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.MACHINE_CASINGS, 4, 2), "HHH", "CBC", "HHH", 'H',
2016-10-08 21:46:16 +02:00
"ingotChrome", 'C', "circuitElite", 'B', BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1));
2016-03-25 10:47:34 +01:00
2016-10-08 21:46:16 +02:00
if (!CompatManager.isQuantumStorageLoaded) {
CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.QUANTUM_CHEST), "DCD", "ATA", "DQD", 'D',
2016-03-25 10:47:34 +01:00
ItemParts.getPartByName("dataOrb"), 'C', ItemParts.getPartByName("computerMonitor"), 'A',
BlockMachineFrame.getFrameByName("highlyAdvancedMachine", 1), 'Q', ModBlocks.DIGITAL_CHEST, 'T',
2016-12-18 22:36:29 +01:00
IC2Duplicates.COMPRESSOR.getStackBasedOnConfig());
}
2016-03-25 10:47:34 +01:00
// CraftingHelper.addShapedOreRecipe(new ItemStack(ModBlocks.PlasmaGenerator), "PPP", "PTP", "CGC", 'P',
// ItemPlates.getPlateByName("tungstensteel"), 'T', IC2Duplicates.HVT.getStackBasedOnConfig(),
// 'G', IC2Duplicates.GENERATOR.getStackBasedOnConfig(), 'C',
// "circuitMaster");
2016-03-25 10:47:34 +01:00
// Smetling
CraftingHelper
2016-10-08 21:46:16 +02:00
.addSmelting(ItemDusts.getDustByName("copper", 1), getOre("ingotCopper"),
1F);
CraftingHelper
2016-10-08 21:46:16 +02:00
.addSmelting(ItemDusts.getDustByName("tin", 1), ItemIngots.getIngotByName("tin"), 1F);
CraftingHelper
2016-10-08 21:46:16 +02:00
.addSmelting(ItemDusts.getDustByName("bronze", 1), ItemIngots.getIngotByName("bronze"),
1F);
CraftingHelper
2016-10-08 21:46:16 +02:00
.addSmelting(ItemDusts.getDustByName("lead", 1), ItemIngots.getIngotByName("lead"), 1F);
CraftingHelper
2016-10-08 21:46:16 +02:00
.addSmelting(ItemDusts.getDustByName("silver", 1), ItemIngots.getIngotByName("silver"),
1F);
2016-07-16 17:17:44 +02:00
2016-03-25 10:47:34 +01:00
// UU
if (ConfigTechReborn.UUrecipesIridiamOre)
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe((OreDictionary.getOres("oreIridium").get(0)), "UUU", " U ", "UUU", 'U',
ModItems.UU_MATTER);
2016-03-25 10:47:34 +01:00
// Chemical Reactor
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), null,
2016-10-08 21:46:16 +02:00
new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 1), 100, 30));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1),
2016-10-08 21:46:16 +02:00
ItemDusts.getDustByName("phosphorous", 1),
new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 3), 100, 30));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sodiumSulfide", 1),
2016-10-08 21:46:16 +02:00
ItemCells.getCellByName("empty"), ItemCells.getCellByName("sodiumPersulfate", 2), 2000,
30));
2016-03-25 10:47:34 +01:00
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("nitrocarbon", 1),
2016-10-08 21:46:16 +02:00
ItemCells.getCellByName("water"), ItemCells.getCellByName("glyceryl", 2), 580, 30));
RecipeHandler.addRecipe(
new ChemicalReactorRecipe(ItemDusts.getDustByName("calcite", 1), ItemDusts.getDustByName("sulfur", 1),
new ItemStack(OreDictionary.getOres("fertilizer").get(0).getItem(), 2), 100, 30));
ItemStack waterCells = ItemCells.getCellByName("water").copy();
2016-11-19 13:50:08 +01:00
waterCells.setCount(2);
2016-10-08 21:46:16 +02:00
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("sulfur", 1), waterCells,
ItemCells.getCellByName("sulfuricAcid", 3), 1140, 30));
ItemStack waterCells2 = ItemCells.getCellByName("water").copy();
2016-11-19 13:50:08 +01:00
waterCells2.setCount(5);
2016-10-08 21:46:16 +02:00
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("hydrogen", 4),
ItemCells.getCellByName("empty"), waterCells2, 10, 30));
RecipeHandler.addRecipe(new ChemicalReactorRecipe(ItemCells.getCellByName("nitrogen", 1),
ItemCells.getCellByName("empty"), ItemCells.getCellByName("nitrogenDioxide", 2), 1240,
30));
2016-03-25 10:47:34 +01:00
2016-12-18 22:36:29 +01:00
if (ConfigTechReborn.ExpensiveMacerator && !IC2Duplicates.deduplicate())
CraftingHelper
2016-10-08 21:46:16 +02:00
.addShapedOreRecipe(getOre("ic2Macerator"), "FDF", "DMD", "FCF", 'F',
Items.FLINT, 'D', Items.DIAMOND, 'M', "machineBlockBasic", 'C',
"circuitBasic");
2016-03-25 10:47:34 +01:00
2016-12-18 22:36:29 +01:00
if (ConfigTechReborn.ExpensiveSolar && !IC2Duplicates.deduplicate())
CraftingHelper
2016-12-18 22:36:29 +01:00
.addShapedOreRecipe(IC2Duplicates.SOLAR_PANEL.getStackBasedOnConfig(), "PPP", "SZS", "CGC", 'P',
"paneGlass", 'S', ItemPlates.getPlateByName("lazurite"), 'Z',
2016-10-08 21:46:16 +02:00
"plateCarbon", 'G',
2016-12-18 22:36:29 +01:00
IC2Duplicates.GENERATOR.getStackBasedOnConfig(), 'C',
2016-10-08 21:46:16 +02:00
"circuitBasic");
2016-12-10 09:15:39 +01:00
CraftingHelper.addShapedOreRecipe(ItemIngots.getIngotByName("iridium_alloy"), "IAI", "ADA", "IAI", 'I',
2016-10-08 21:46:16 +02:00
"ingotIridium", 'D', ItemDusts.getDustByName("diamond"), 'A',
"plateAdvancedAlloy");
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.LITHIUM_BATTERY_PACK, 1, OreDictionary.WILDCARD_VALUE), "BCB",
"BPB", "B B", 'B', new ItemStack(ModItems.LITHIUM_BATTERY), 'P', "plateAluminum", 'C',
2016-10-08 21:46:16 +02:00
"circuitAdvanced");
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.LITHIUM_BATTERY, 1, OreDictionary.WILDCARD_VALUE), " C ",
2016-10-08 21:46:16 +02:00
"PFP", "PFP", 'F', ItemCells.getCellByName("lithium"), 'P', "plateAluminum", 'C',
IC2Duplicates.CABLE_IGOLD.getStackBasedOnConfig());
2016-03-25 10:47:34 +01:00
CraftingHelper
.addShapedOreRecipe(new ItemStack(ModItems.LAPOTRONIC_ORB_PACK, 1, OreDictionary.WILDCARD_VALUE), "FOF", "SPS",
2016-10-08 21:46:16 +02:00
"FIF", 'F', "circuitMaster", 'O',
new ItemStack(ModItems.LAPOTRONIC_ORB), 'S', ItemParts.getPartByName("superConductor"), 'I',
"ingotIridium", 'P', new ItemStack(ModItems.LITHIUM_BATTERY_PACK));
2016-03-28 19:31:32 +02:00
}
2016-10-08 21:46:16 +02:00
public static ItemStack getBucketWithFluid(Fluid fluid) {
return UniversalBucket.getFilledBucket(ForgeModContainer.getInstance().universalBucket, fluid);
}
2016-07-16 17:17:44 +02:00
public static ItemStack getOre(String name) {
2016-10-08 21:46:16 +02:00
if (OreDictionary.getOres(name).isEmpty()) {
return new ItemStack(ModItems.MISSING_RECIPE_PLACEHOLDER);
2016-07-16 23:16:22 +02:00
}
return OreDictionary.getOres(name).get(0).copy();
}
2016-07-16 17:17:44 +02:00
}