package common;
import java.util.HashMap;
import kekztech.Items;
import kekztech.KekzCore;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.Fluid;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import thaumcraft.api.ItemApi;
import thaumcraft.api.ThaumcraftApi;
import thaumcraft.api.aspects.Aspect;
import thaumcraft.api.aspects.AspectList;
import thaumcraft.api.crafting.InfusionRecipe;
import util.Util;
import com.github.bartimaeusnek.bartworks.system.material.GT_Enhancement.LuVTierEnhancer;
import com.github.bartimaeusnek.bartworks.util.BW_Util;
import com.github.technus.tectech.recipe.TT_recipeAdder;
import common.items.ErrorItem;
import common.items.MetaItem_CraftingComponent;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.enums.*;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
public class Recipes {
public static final HashMap<String, InfusionRecipe> infusionRecipes = new HashMap<>();
static Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null
? FluidRegistry.getFluid("molten.indalloy140")
: FluidRegistry.getFluid("molten.solderingalloy");
static Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
? FluidRegistry.getFluid("molten.mutatedlivingsolder")
: FluidRegistry.getFluid("molten.solderingalloy");
static Fluid radoxPoly = FluidRegistry.getFluid("molten.radoxpoly") != null
? FluidRegistry.getFluid("molten.radoxpoly")
: FluidRegistry.getFluid("molten.polybenzimidazole");
public static void postInit() {
KekzCore.LOGGER.info("Registering recipes...");
registerRecipes_TFFT();
registerRecipes_SOFC();
// registerRecipes_Nuclear();
registerRecipes_Jars();
registerRecipes_LSC();
// registerRecipes_SpaceElevator();
registerRecipes_Cosmetics();
KekzCore.LOGGER.info("Finished registering recipes");
}
private static void registerRecipes_TFFT() {
// TFFT Controller
GT_ModHandler.addCraftingRecipe(
TileEntities.tfft.getStackForm(1),
new Object[] { "ESE", "FTF", "CVC", 'E',
GT_OreDictUnificator.get(OrePrefixes.screw, Materials.EnderEye, 1), 'S',
ItemList.Cover_Screen.get(1), 'F', ItemList.Field_Generator_LV.get(1), 'T',
new ItemStack(Blocks.tfftStorageField, 1), 'C', "circuitData", 'V',
GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.VibrantAlloy, 1), });
// TFFT Casing
GT_Values.RA.addAssemblerRecipe(
new ItemStack[] { GT_Utility.getIntegratedCircuit(6),
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.DarkSteel, 3),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnderPearl, 3), },
Materials.Polytetrafluoroethylene.getMolten(144),
new ItemStack(Blocks.tfftStorageField, 1),
100,
BW_Util.getMachineVoltageFromTier(3));
// TFFT Multi Hatch
GT_Values.RA.addAssemblerRecipe(
new ItemStack[] { ItemList.Hull_HV.get(1), ItemList.Cover_FluidStorageMonitor.get(1),
ItemList.Field_Generator_LV.get(4),
GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Polytetrafluoroethylene, 25) },
Materials.Plastic.getMolten(432),
TileEntities.tfftHatch.getStackForm(1),
400,
BW_Util.getMachineVoltageFromTier(3));
// TFFTStorageField1
GT_Values.RA.addAssemblerRecipe(
new ItemStack[] { GT_Utility.getIntegratedCircuit(6),
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.CrudeSteel, 1),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CrudeSteel, 6),
GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Steel, 3),
ItemList.FluidRegulator_LV.get(1) },
Materials.Glass.getMolten(144),
new ItemStack(Blocks.tfftStorageField, 1, 1),
100,
BW_Util.getMachineVoltageFromTier(3));
// TFFTStorageField2
GT_Values.RA.addAssemblerRecipe(
new ItemStack[] { GT_Utility.getIntegratedCircuit(6), ItemList.Casing_Tank_1.get(1),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.EnergeticSilver, 6),
GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, Materials.Plastic, 3),
ItemList.FluidRegulator_MV.get(1) },
Materials.Plastic.getMolten(288),
new ItemStack(Blocks.tfftStorageField, 1, 2),
200,
BW_Util.getMachineVoltageFromTier(3));
// TFFTStorageField3
GT_Values.RA.addAssemblerRecipe(
new ItemStack