aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common/Recipes.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/common/Recipes.java')
-rw-r--r--src/main/java/common/Recipes.java72
1 files changed, 70 insertions, 2 deletions
diff --git a/src/main/java/common/Recipes.java b/src/main/java/common/Recipes.java
index d4728bf4dd..202f6186a0 100644
--- a/src/main/java/common/Recipes.java
+++ b/src/main/java/common/Recipes.java
@@ -1,5 +1,7 @@
package common;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import cpw.mods.fml.common.Loader;
@@ -10,6 +12,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import items.ErrorItem;
import items.MetaItem_CraftingComponent;
@@ -38,10 +41,24 @@ public class Recipes {
registerRecipes_Nuclear();
//registerRecipes_ItemServer();
registerRecipes_Jars();
+ registerRecipes_LSC();
KekzCore.LOGGER.info("Finished registering recipes");
}
-
+
+ private static void lapoCapacitorRecipeAdder(GT_Recipe.GT_Recipe_AssemblyLine baseRecipe, Materials boxMaterial, ItemStack result) {
+ final ArrayList<ItemStack> baseInputs = (ArrayList<ItemStack>) Arrays.asList(baseRecipe.mInputs);
+ if(baseInputs.size() <= 14){
+ baseInputs.add(GT_OreDictUnificator.get(OrePrefixes.frameGt, boxMaterial, 4));
+ baseInputs.add(GT_OreDictUnificator.get(OrePrefixes.screw, boxMaterial, 24));
+
+ GT_Values.RA.addAssemblylineRecipe(baseRecipe.mResearchItem, baseRecipe.mResearchTime,
+ Util.toItemStackArray(baseInputs), baseRecipe.mFluidInputs, result,
+ baseRecipe.mDuration * 2, baseRecipe.mEUt);
+ KekzCore.LOGGER.info("Successfully extended Lapotronic Battery recipe for Lapotronic Capacitor of tier " + result.getItemDamage());
+ }
+ }
+
private static void registerRecipes_TFFT() {
// Controller
@@ -423,5 +440,56 @@ public class Recipes {
ThaumcraftApi.addInfusionCraftingRecipe("THAUMIUMREINFORCEDJAR", new ItemStack(Blocks.jarThaumiumReinforced, 1),
5, aspects_jarthaumiumreinforced, ItemApi.getBlock("blockJar", 0), recipe_jarthaumiumreinforced));
}
-
+
+ private static void registerRecipes_LSC(){
+
+ // Controller
+ final ItemStack filledLapoCrystal = GT_ModHandler.getIC2Item("itemBatLamaCrystal", 1, 1);
+ filledLapoCrystal.getTagCompound().setInteger("charge", 10000000);
+ final Object[] lsc_recipe = {
+ "LPL", "CBC", "LPL",
+ 'L', filledLapoCrystal,
+ 'P', ItemList.Circuit_Chip_PIC.get(1L),
+ 'C', OrePrefixes.circuit.get(Materials.Master)
+ 'B', new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 0),
+ };
+ GT_ModHandler.addCraftingRecipe(KekzCore.lsc.getStackForm(1), lsc_recipe);
+
+ KekzCore.LOGGER.info("Reading Assembly Line recipes from GregTech recipe map");
+
+ for(GT_Recipe.GT_Recipe_AssemblyLine ar : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) {
+ if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_LapotronicOrb2.get(1L))) {
+ // LuV Lapo Orb
+ lapoCapacitorRecipeAdder(ar, Materials.Osmiridium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 2));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_Module.get(1L))) {
+ // ZPM Lapo Orb
+ lapoCapacitorRecipeAdder(ar, Materials.NaquadahAlloy, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 3));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_Cluster.get(1L))) {
+ // UV Lapo Orb
+ lapoCapacitorRecipeAdder(ar, Materials.Neutronium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 4));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList..get(1L))) {
+ // Ultimate Battery
+ // TODO change material to Cosmic Neutronium
+ lapoCapacitorRecipeAdder(ar, Materials.Neutronium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 5));
+ } else if(GT_Utility.areStacksEqual(ar.mOutput, ItemList.Energy_LapotronicOrb2.get(1L))) {
+ // Really Ultimate Battery
+ // TODO change material to Infinity
+ lapoCapacitorRecipeAdder(ar, Materials.Neutronium, new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 6));
+ }
+ }
+
+ // Blocks
+ final Object[] lcIV_recipe = {
+ "SLS", "LOL", "SLS",
+ 'S', OrePrefixes.screw.get(Materials.Lapis),
+ 'L', OrePrefixes.plate.get(Materials.Lapis),
+ 'O', ItemList.Energy_LapotronicOrb.get(1L)
+ };
+ GT_ModHandler.addCraftingRecipe(new ItemStack(Blocks.lscLapotronicEnergyUnit, 1, 1), lcIV_recipe);
+ // Make sure the recipe doesn't exceed 16 slots
+ if(lcLuV_recipeBase.size() <= 14)
+
+
+ GT_Values.RA.addAssemblylineRecipe();
+ }
}