aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/recipe
diff options
context:
space:
mode:
Diffstat (limited to 'src/Java/gtPlusPlus/core/recipe')
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java256
-rw-r--r--src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java274
-rw-r--r--src/Java/gtPlusPlus/core/recipe/common/CI.java276
3 files changed, 676 insertions, 130 deletions
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
index e2c69277f6..627c171a00 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java
@@ -1,22 +1,25 @@
package gtPlusPlus.core.recipe;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-
-import static gtPlusPlus.core.util.minecraft.ItemUtils.getSimpleStack;
-
import gregtech.api.GregTech_API;
-import gregtech.api.enums.*;
-import gregtech.api.util.*;
-
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+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_Utility;
+import gregtech.api.util.HotFuel;
+import gregtech.api.util.ThermalFuel;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.item.ModItems;
+import gtPlusPlus.core.item.chemistry.IonParticles;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.Particle;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.recipe.common.CI;
@@ -25,10 +28,12 @@ import gtPlusPlus.core.util.minecraft.EnchantingUtils;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
import gtPlusPlus.core.util.minecraft.MaterialUtils;
-import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.core.util.reflect.AddGregtechRecipe;
import gtPlusPlus.everglades.dimension.Dimension_Everglades;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
public class RECIPES_GREGTECH {
@@ -70,9 +75,42 @@ public class RECIPES_GREGTECH {
extruderRecipes();
cuttingSawRecipes();
breweryRecipes();
+ laserEngraverRecipes();
addFuels();
}
+ private static void laserEngraverRecipes() {
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 6L),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1),
+ 20 * 60 * 3,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier));
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 8L),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1),
+ 20 * 60 * 2,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier));
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ ALLOY.NITINOL_60.getBlock(2),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1),
+ 20 * 60 * 1,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier));
+
+ GT_Values.RA.addLaserEngraverRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 64L),
+ GregtechItemList.Laser_Lens_Special.get(0),
+ ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1),
+ 20 * 60 * 5,
+ MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier));
+
+ }
+
private static void breweryRecipes() {
CORE.RA.addBrewingRecipe(14, EnchantingUtils.getMobEssence(100), EnchantingUtils.getLiquidXP(1332), 100, 120, false);
CORE.RA.addBrewingRecipe(14, EnchantingUtils.getLiquidXP(1332), EnchantingUtils.getMobEssence(100), 100, 120, false);
@@ -481,10 +519,9 @@ public class RECIPES_GREGTECH {
}
// Calcium Hydroxide
- if ((ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1).getItem() != ModItems.AAA_Broken)
- || LoadedMods.IHL) {
+ if ((ItemUtils.checkForInvalidItems(ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 1))) || LoadedMods.IHL) {
try {
-
+
CORE.RA.addDehydratorRecipe(
new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustQuicklime", 10) }, // Item
FluidUtils.getFluidStack("water", 10000), // Fluid input
@@ -1261,39 +1298,218 @@ public class RECIPES_GREGTECH {
//Polonium
CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.bismuth", 1),
- new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300, 2040,
+ new ItemStack[] { GregtechItemList.Pellet_RTG_PO210.get(1) }, null, new int[] { 100 }, 20 * 300 * 100, 2040,
500 * 20);
//Americium
CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.americium", 1),
- new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300, 1020,
+ new ItemStack[] { GregtechItemList.Pellet_RTG_AM241.get(4) }, null, new int[] { 2500 }, 20 * 300 * 100, 1020,
500 * 20); //PO Special Value
//Strontium u235
CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium235", 10),
- new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300, 1020,
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 570 }, 20 * 300 * 100, 1020,
500 * 20); //PO Special Value
//Strontium u233
CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.uranium233", 10),
- new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300, 1020,
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 660 }, 20 * 300 * 100, 1020,
500 * 20); //PO Special Value
//Strontium pu239
CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium239", 10),
- new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300, 1020,
+ new ItemStack[] { GregtechItemList.Pellet_RTG_SR90.get(1) }, null, new int[] { 220 }, 20 * 300 * 100, 1020,
500 * 20); //PO Special Value
//Plutonium
CORE.RA.addCyclotronRecipe(CI.getNumberedCircuit(0), FluidUtils.getFluidStack("molten.plutonium238", 1),
- new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300, 1020,
+ new ItemStack[] { GregtechItemList.Pellet_RTG_PU238.get(2) }, null, new int[] { 780 }, 20 * 300 * 100, 1020,
500 * 20); //PO Special Value
-
//Neptunium
CORE.RA.addCyclotronRecipe(new ItemStack[] {ELEMENT.getInstance().URANIUM238.getDust(1) }, FluidUtils.getFluidStack("deuterium", 400),
+ new ItemStack[] {ItemUtils.getSimpleStack(ModItems.dustNeptunium238)}, null, new int[] { 500 }, 20 * 5, 500,
+ 500 * 20); //PO Special Value
+
+
+ /**
+ * Particle Science
+ */
+
+
+ // Quark Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(3),
+ FluidUtils.getFluidStack("plasma.hydrogen", 1000),
+ new ItemStack[] {
+ Particle.getBaseParticle(Particle.UP),
+ Particle.getBaseParticle(Particle.DOWN),
+ Particle.getBaseParticle(Particle.CHARM),
+ Particle.getBaseParticle(Particle.STRANGE),
+ Particle.getBaseParticle(Particle.TOP),
+ Particle.getBaseParticle(Particle.BOTTOM),
+ },
+ null,
+ new int[] { 50, 50, 50, 50, 50, 50 },
+ 20 * 300 * 38,
+ (int) GT_Values.V[7],
+ 750 * 20);
+
+ // Lepton Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(6),
+ FluidUtils.getFluidStack("plasma.helium", 1500),
+ new ItemStack[] {
+ Particle.getBaseParticle(Particle.ELECTRON),
+ Particle.getBaseParticle(Particle.MUON),
+ Particle.getBaseParticle(Particle.TAU),
+ Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO),
+ Particle.getBaseParticle(Particle.MUON_NEUTRINO),
+ Particle.getBaseParticle(Particle.TAU_NEUTRINO),
+ },
+ null,
+ new int[] { 60, 40, 20, 15, 10, 5 },
+ 20 * 300 * 38,
+ (int) GT_Values.V[7],
+ 750 * 20);
+
+ //Boson Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(9),
+ FluidUtils.getFluidStack("plasma.helium", 1500),
+ new ItemStack[] {
+ Particle.getBaseParticle(Particle.GLUON),
+ Particle.getBaseParticle(Particle.PHOTON),
+ Particle.getBaseParticle(Particle.Z_BOSON),
+ Particle.getBaseParticle(Particle.W_BOSON),
+ Particle.getBaseParticle(Particle.HIGGS_BOSON),
+ },
+ null,
+ new int[] { 60, 60, 50, 50, 1 },
+ 20 * 300 * 38,
+ (int) GT_Values.V[7],
+ 750 * 20);
+
+
+ // Mixed Smash 1
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(12),
+ FluidUtils.getFluidStack("plasma.beryllium", 2500),
+ new ItemStack[] {
+ Particle.getBaseParticle(Particle.GRAVITON),
+ Particle.getBaseParticle(Particle.UP),
+ Particle.getBaseParticle(Particle.DOWN),
+ Particle.getBaseParticle(Particle.CHARM),
+ Particle.getBaseParticle(Particle.STRANGE),
+ Particle.getBaseParticle(Particle.TOP),
+ Particle.getBaseParticle(Particle.BOTTOM),
+ Particle.getBaseParticle(Particle.ELECTRON),
+ Particle.getBaseParticle(Particle.MUON),
+ Particle.getBaseParticle(Particle.TAU),
+ Particle.getBaseParticle(Particle.ELECTRON_NEUTRINO),
+ Particle.getBaseParticle(Particle.MUON_NEUTRINO),
+ Particle.getBaseParticle(Particle.TAU_NEUTRINO),
+ Particle.getBaseParticle(Particle.GLUON),
+ Particle.getBaseParticle(Particle.PHOTON),
+ Particle.getBaseParticle(Particle.Z_BOSON),
+ Particle.getBaseParticle(Particle.W_BOSON),
+ Particle.getBaseParticle(Particle.HIGGS_BOSON),
+ },
+ null,
+ new int[] { 5, 20, 20, 20, 20, 20, 20, 15, 15, 15, 10, 10, 10, 40, 40, 40, 40, 1 },
+ 20 * 300 * 134,
+ (int) GT_Values.V[8],
+ 750 * 20);
+
+ //Graviton Smash
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(15),
+ FluidUtils.getFluidStack("plasma.hydrogen", 10),
+ new ItemStack[] {
+ Particle.getBaseParticle(Particle.GRAVITON),
+ Particle.getBaseParticle(Particle.UNKNOWN)
+ },
+ null,
+ new int[] {15, 1000},
+ 20 * 30,
+ (int) GT_Values.V[6],
+ 1000 * 20);
+
+ //Quantum Anomaly
+ CORE.RA.addCyclotronRecipe(
+ new ItemStack[] {
+ CI.getNumberedCircuit(24),
+ Particle.getBaseParticle(Particle.UNKNOWN),
+ },
+ FluidUtils.getFluidStack("plasma.osmium", 3),
+ new ItemStack[] {
+ GregtechItemList.Laser_Lens_Special.get(1)
+ },
+ null,
+ new int[] {100},
+ 20 * 60,
+ (int) GT_Values.V[6],
+ 1000 * 20);
+
+ /*
+ * Ions
+ */
+
+ String[] aElementsTest = new String[] {
+ "Hydrogen", "Helium", "Lithium", "Beryllium", "Boron", "Carbon", "Nitrogen", "Oxygen", "Fluorine", "Neon", "Sodium", "Magnesium", "Aluminum", "Silicon", "Phosphorus", "Sulfur", "Chlorine", "Argon"
+ };
+
+ int IonCount = 2;
+ int tenCountA = 1;
+ int tenCountB = 0;
+ for (String y : IonParticles.MetaToNameMap.values()) {
+
+ if (tenCountB == 12) {
+ tenCountB = 0;
+ tenCountA++;
+ }
+ else {
+ tenCountB++;
+ }
+
+ FluidStack aPlasma = FluidUtils.getFluidStack("plasma."+y.toLowerCase(), 1);
+
+ // Ionize Plasma
+ if (aPlasma != null) {
+ CORE.RA.addCyclotronRecipe(
+ CI.getNumberedCircuit(1+(tenCountA-1)),
+ aPlasma,
+ new ItemStack[] {
+ Particle.getIon(y, 1),
+ Particle.getIon(y, 2),
+ Particle.getIon(y, 3),
+ Particle.getIon(y, -1),
+ Particle.getIon(y, -2),
+ Particle.getIon(y, -3),
+ Particle.getIon(y, 1),
+ Particle.getIon(y, 2),
+ Particle.getIon(y, -1),
+ },
+ null,
+ new int[] { 75, 50, 25, 75, 50, 25, 75, 50, 75},
+ 20 * 20 * (IonCount++) * tenCountA,
+ (int) GT_Values.V[7],
+ 1500 * 20 * tenCountA);
+ }
+ else {
+ Logger.INFO("Plasma for "+y+" does not exist, please report this to Alkalus.");
+ }
+ }
+
+
+
+
+
+ /*CORE.RA.addCyclotronRecipe(new ItemStack[] {ELEMENT.getInstance().URANIUM238.getDust(1) }, FluidUtils.getFluidStack("deuterium", 400),
ItemUtils.getSimpleStack(ModItems.dustNeptunium238), null, new int[] { 500 }, 20 * 5, 500,
500 * 20); //PO Special Value
+*/
+
}
diff --git a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
index 0040edfa99..27116ba125 100644
--- a/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
+++ b/src/Java/gtPlusPlus/core/recipe/RECIPES_Machines.java
@@ -208,6 +208,7 @@ public class RECIPES_Machines {
private static void run(){
initModItems();
controlCores();
+ energyCores();
}
private static void initModItems(){
@@ -338,109 +339,7 @@ public class RECIPES_Machines {
8000);
- //Buffer Core
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[1], cableTier1, CI.component_Plate[1],
- "circuitPrimitive", "plateStaballoy", "circuitPrimitive",
- CI.component_Plate[1], cableTier1, CI.component_Plate[1],
- RECIPE_BufferCore_ULV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[2], cableTier2, CI.component_Plate[2],
- RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV,
- CI.component_Plate[2], cableTier2, CI.component_Plate[2],
- RECIPE_BufferCore_LV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[3], cableTier3, CI.component_Plate[3],
- RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV,
- CI.component_Plate[3], cableTier3, CI.component_Plate[3],
- RECIPE_BufferCore_MV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[4], cableTier4, CI.component_Plate[4],
- RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV,
- CI.component_Plate[4], cableTier4, CI.component_Plate[4],
- RECIPE_BufferCore_HV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[5], cableTier5, CI.component_Plate[5],
- RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV,
- CI.component_Plate[5], cableTier5, CI.component_Plate[5],
- RECIPE_BufferCore_EV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[6], cableTier6, CI.component_Plate[6],
- RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV,
- CI.component_Plate[6], cableTier6, CI.component_Plate[6],
- RECIPE_BufferCore_IV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[7], cableTier7, CI.component_Plate[7],
- RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV,
- CI.component_Plate[7], cableTier7, CI.component_Plate[7],
- RECIPE_BufferCore_LuV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[8], cableTier8, CI.component_Plate[8],
- RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV,
- CI.component_Plate[8], cableTier8, CI.component_Plate[8],
- RECIPE_BufferCore_ZPM);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[9], cableTier9, CI.component_Plate[9],
- RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM,
- CI.component_Plate[9], cableTier9, CI.component_Plate[9],
- RECIPE_BufferCore_UV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[10], cableTier10, CI.component_Plate[10],
- RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV,
- CI.component_Plate[10], cableTier10, CI.component_Plate[10],
- RECIPE_BufferCore_MAX);
-
-
- RecipeUtils.addShapedGregtechRecipe(
- wireTier1, RECIPE_BufferCore_ULV, wireTier1,
- wireTier1, CI.machineCasing_ULV, wireTier1,
- CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive,
- RECIPE_Buffer_ULV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier2, RECIPE_BufferCore_LV, wireTier2,
- wireTier2, CI.machineCasing_LV, wireTier2,
- CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1,
- RECIPE_Buffer_LV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier3, RECIPE_BufferCore_MV, wireTier3,
- wireTier3, CI.machineCasing_MV, wireTier3,
- CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2,
- RECIPE_Buffer_MV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier4, RECIPE_BufferCore_HV, wireTier4,
- wireTier4, CI.machineCasing_HV, wireTier4,
- CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3,
- RECIPE_Buffer_HV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier5, RECIPE_BufferCore_EV, wireTier5,
- wireTier5, CI.machineCasing_EV, wireTier5,
- CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4,
- RECIPE_Buffer_EV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier6, RECIPE_BufferCore_IV, wireTier6,
- wireTier6, CI.machineCasing_IV, wireTier6,
- CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5,
- RECIPE_Buffer_IV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier7, RECIPE_BufferCore_LuV, wireTier7,
- wireTier7, CI.machineCasing_LuV, wireTier7,
- CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6,
- RECIPE_Buffer_LuV);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier8, RECIPE_BufferCore_ZPM, wireTier8,
- wireTier8, CI.machineCasing_ZPM, wireTier8,
- CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7,
- RECIPE_Buffer_ZPM);
- RecipeUtils.addShapedGregtechRecipe(
- wireTier9, RECIPE_BufferCore_UV, wireTier9,
- wireTier9, CI.machineCasing_UV, wireTier9,
- CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8,
- RECIPE_Buffer_UV);
- RecipeUtils.addShapedGregtechRecipe(
- CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11],
- wireTier10, CI.machineCasing_MAX, wireTier10,
- CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9,
- RECIPE_Buffer_MAX);
+
//Steam Condenser
if (CORE.ConfigSwitches.enableMachine_SteamConverter ){
@@ -1702,6 +1601,175 @@ public class RECIPES_Machines {
aOutput[i],
60 * 20 * 1 * (i+1),
MaterialUtils.getVoltageForTier(i));
+ }
+ }
+
+ private static void energyCores() {
+
+ //Simpler Recipes for normal Players, Force assembly crafting in GTNH
+ if (!GTNH) {
+ //Buffer Core
+ /*RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[1], cableTier1, CI.component_Plate[1],
+ "circuitPrimitive", "plateStaballoy", "circuitPrimitive",
+ CI.component_Plate[1], cableTier1, CI.component_Plate[1],
+ RECIPE_BufferCore_ULV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[2], cableTier2, CI.component_Plate[2],
+ RECIPE_BufferCore_ULV, CI.machineHull_HV, RECIPE_BufferCore_ULV,
+ CI.component_Plate[2], cableTier2, CI.component_Plate[2],
+ RECIPE_BufferCore_LV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[3], cableTier3, CI.component_Plate[3],
+ RECIPE_BufferCore_LV, CI.circuitTier2, RECIPE_BufferCore_LV,
+ CI.component_Plate[3], cableTier3, CI.component_Plate[3],
+ RECIPE_BufferCore_MV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[4], cableTier4, CI.component_Plate[4],
+ RECIPE_BufferCore_MV, CI.circuitTier3, RECIPE_BufferCore_MV,
+ CI.component_Plate[4], cableTier4, CI.component_Plate[4],
+ RECIPE_BufferCore_HV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[5], cableTier5, CI.component_Plate[5],
+ RECIPE_BufferCore_HV, CI.circuitTier4, RECIPE_BufferCore_HV,
+ CI.component_Plate[5], cableTier5, CI.component_Plate[5],
+ RECIPE_BufferCore_EV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[6], cableTier6, CI.component_Plate[6],
+ RECIPE_BufferCore_EV, CI.circuitTier5, RECIPE_BufferCore_EV,
+ CI.component_Plate[6], cableTier6, CI.component_Plate[6],
+ RECIPE_BufferCore_IV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[7], cableTier7, CI.component_Plate[7],
+ RECIPE_BufferCore_IV, CI.circuitTier6, RECIPE_BufferCore_IV,
+ CI.component_Plate[7], cableTier7, CI.component_Plate[7],
+ RECIPE_BufferCore_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[8], cableTier8, CI.component_Plate[8],
+ RECIPE_BufferCore_LuV, CI.circuitTier7, RECIPE_BufferCore_LuV,
+ CI.component_Plate[8], cableTier8, CI.component_Plate[8],
+ RECIPE_BufferCore_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[9], cableTier9, CI.component_Plate[9],
+ RECIPE_BufferCore_ZPM, CI.circuitTier8, RECIPE_BufferCore_ZPM,
+ CI.component_Plate[9], cableTier9, CI.component_Plate[9],
+ RECIPE_BufferCore_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[10], cableTier10, CI.component_Plate[10],
+ RECIPE_BufferCore_UV, CI.circuitTier9, RECIPE_BufferCore_UV,
+ CI.component_Plate[10], cableTier10, CI.component_Plate[10],
+ RECIPE_BufferCore_MAX);*/
+
+
+ /*RecipeUtils.addShapedGregtechRecipe(
+ wireTier1, RECIPE_BufferCore_ULV, wireTier1,
+ wireTier1, CI.machineCasing_ULV, wireTier1,
+ CI.circuitPrimitive, CI.circuitTier1, CI.circuitPrimitive,
+ RECIPE_Buffer_ULV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier2, RECIPE_BufferCore_LV, wireTier2,
+ wireTier2, CI.machineCasing_LV, wireTier2,
+ CI.circuitTier1, RECIPE_BufferCore_LV, CI.circuitTier1,
+ RECIPE_Buffer_LV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier3, RECIPE_BufferCore_MV, wireTier3,
+ wireTier3, CI.machineCasing_MV, wireTier3,
+ CI.circuitTier2, RECIPE_BufferCore_MV, CI.circuitTier2,
+ RECIPE_Buffer_MV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier4, RECIPE_BufferCore_HV, wireTier4,
+ wireTier4, CI.machineCasing_HV, wireTier4,
+ CI.circuitTier3, RECIPE_BufferCore_HV, CI.circuitTier3,
+ RECIPE_Buffer_HV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier5, RECIPE_BufferCore_EV, wireTier5,
+ wireTier5, CI.machineCasing_EV, wireTier5,
+ CI.circuitTier4, RECIPE_BufferCore_EV, CI.circuitTier4,
+ RECIPE_Buffer_EV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier6, RECIPE_BufferCore_IV, wireTier6,
+ wireTier6, CI.machineCasing_IV, wireTier6,
+ CI.circuitTier5, RECIPE_BufferCore_IV, CI.circuitTier5,
+ RECIPE_Buffer_IV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier7, RECIPE_BufferCore_LuV, wireTier7,
+ wireTier7, CI.machineCasing_LuV, wireTier7,
+ CI.circuitTier6, RECIPE_BufferCore_LuV, CI.circuitTier6,
+ RECIPE_Buffer_LuV);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier8, RECIPE_BufferCore_ZPM, wireTier8,
+ wireTier8, CI.machineCasing_ZPM, wireTier8,
+ CI.circuitTier7, RECIPE_BufferCore_ZPM, CI.circuitTier7,
+ RECIPE_Buffer_ZPM);
+ RecipeUtils.addShapedGregtechRecipe(
+ wireTier9, RECIPE_BufferCore_UV, wireTier9,
+ wireTier9, CI.machineCasing_UV, wireTier9,
+ CI.circuitTier8, RECIPE_BufferCore_UV, CI.circuitTier8,
+ RECIPE_Buffer_UV);
+ RecipeUtils.addShapedGregtechRecipe(
+ CI.component_Plate[11], RECIPE_BufferCore_MAX, CI.component_Plate[11],
+ wireTier10, CI.machineCasing_MAX, wireTier10,
+ CI.circuitTier9, RECIPE_BufferCore_MAX, CI.circuitTier9,
+ RECIPE_Buffer_MAX);*/
+ }
+
+
+ ItemStack[] aBufferOutput = new ItemStack[] {
+ RECIPE_Buffer_ULV, RECIPE_Buffer_LV, RECIPE_Buffer_MV,
+ RECIPE_Buffer_HV, RECIPE_Buffer_EV, RECIPE_Buffer_IV,
+ RECIPE_Buffer_LuV, RECIPE_Buffer_ZPM, RECIPE_Buffer_UV, RECIPE_Buffer_MAX };
+
+
+
+ ItemStack[] aOutput = new ItemStack[] {
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"1", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"2", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"3", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"4", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"5", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"6", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"7", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"8", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"9", 1),
+ ItemUtils.getItemStack("miscutils:item.itemBufferCore"+"10", 1)
+ };
+
+ int aCostMultiplier = GTNH ? 4 : 1;
+
+ for (int i = 0; i < 10; i++) {
+
+ ItemStack aPrevTier = (i == 0 ? CI.getTieredMachineHull(4) : aOutput[i-1]);
+ aPrevTier.stackSize = GTNH ? 4 : 2;
+ int aTier = (i + 1);
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ aPrevTier,
+ CI.getTieredComponent(OrePrefixes.plate, aTier, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.cableGt04, i, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, aTier, 2 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.screw, aTier, 6 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.bolt, i, 12 * (GTNH ? 2 : 1)),
+ },
+ CI.getTieredFluid(i, (144 * 4 * aTier)), //Input Fluid
+ aOutput[i],
+ 45 * 10 * 1 * (aTier),
+ MaterialUtils.getVoltageForTier(i));
+
+ //Energy Buffer
+ CORE.RA.addSixSlotAssemblingRecipe(
+ new ItemStack[] {
+ ItemUtils.getSimpleStack(aOutput[i], 4),
+ CI.getTieredComponent(OrePrefixes.plate, aTier, 8 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.wireGt08, i, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.circuit, i, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.stickLong, aTier, 4 * aCostMultiplier),
+ CI.getTieredComponent(OrePrefixes.gearGt, i, 5 * (GTNH ? 2 : 1)),
+ },
+ CI.getTieredFluid(aTier, (144 * 16 * aTier)), //Input Fluid
+ aBufferOutput[i],
+ 45 * 20 * 1 * (aTier),
+ MaterialUtils.getVoltageForTier(i));
+
}
diff --git a/src/Java/gtPlusPlus/core/recipe/common/CI.java b/src/Java/gtPlusPlus/core/recipe/common/CI.java
index dc156c6f91..5f334cdc71 100644
--- a/src/Java/gtPlusPlus/core/recipe/common/CI.java
+++ b/src/Java/gtPlusPlus/core/recipe/common/CI.java
@@ -1,29 +1,31 @@
package gtPlusPlus.core.recipe.common;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.ItemStack;
-
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_ModHandler;
-
+import gregtech.api.util.GT_Utility;
import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.item.ModItems;
import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.lib.LoadedMods;
import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
import gtPlusPlus.core.material.Material;
import gtPlusPlus.core.recipe.LOADER_Machine_Components;
import gtPlusPlus.core.util.Utils;
import gtPlusPlus.core.util.minecraft.ItemUtils;
+import gtPlusPlus.xmod.eio.material.MaterialEIO;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import ic2.core.Ic2Items;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
public class CI {
//null
- public static ItemStack _NULL = ItemUtils.getSimpleStack(ModItems.AAA_Broken);
+ public static ItemStack _NULL = ItemUtils.getErrorStack(1);
//bits
public static long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE
@@ -520,5 +522,265 @@ public class CI {
public static ItemStack emptyCells(int i) {
return ItemUtils.getEmptyCell(i);
}
+
+
+
+ /*
+ *
+ */
+
+ private static final Material[] aMaterial_Main = new Material[] {
+ MaterialEIO.REDSTONE_ALLOY,
+ ALLOY.POTIN,
+ ALLOY.ZIRCONIUM_CARBIDE,
+ ALLOY.EGLIN_STEEL,
+ ALLOY.INCONEL_792,
+ ALLOY.TUNGSTEN_TITANIUM_CARBIDE,
+ ALLOY.NITINOL_60,
+ ALLOY.ZERON_100,
+ ALLOY.PIKYONIUM,
+ ELEMENT.STANDALONE.ADVANCED_NITINOL,
+ ALLOY.ABYSSAL,
+ ALLOY.QUANTUM
+ };
+
+ private static final Material[] aMaterial_Secondary = new Material[] {
+ ELEMENT.getInstance().LEAD,
+ ALLOY.TUMBAGA,
+ ALLOY.SILICON_CARBIDE,
+ ALLOY.TUNGSTEN_CARBIDE,
+ ALLOY.INCONEL_690,
+ ALLOY.STELLITE,
+ ALLOY.ARCANITE,
+ ALLOY.LAFIUM,
+ ALLOY.CINOBITE,
+ ALLOY.TITANSTEEL,
+ ALLOY.OCTIRON,
+ ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN
+ };
+
+ private static final Material[] aMaterial_Tertiary = new Material[] {
+ ELEMENT.getInstance().IRON,
+ ALLOY.STEEL,
+ ELEMENT.getInstance().ALUMINIUM,
+ ALLOY.STAINLESSSTEEL,
+ ELEMENT.getInstance().TUNGSTEN,
+ ALLOY.HASTELLOY_N,
+ ALLOY.ENERGYCRYSTAL,
+ ALLOY.TRINIUM_NAQUADAH_CARBON,
+ ALLOY.TRINIUM_REINFORCED_STEEL, //Arceus
+ ALLOY.TITANSTEEL,
+ ELEMENT.STANDALONE.ASTRAL_TITANIUM,
+ ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN
+ };
+
+ private static final Materials[] aMaterial_Cables = new Materials[] {
+ (CORE.ConfigSwitches.enableCustom_Cables && LoadedMods.EnderIO) ? Materials.RedstoneAlloy : CORE.GTNH ? Materials.Lead : Materials.Tin,
+ Materials.Cobalt,
+ Materials.AnnealedCopper,
+ Materials.Gold,
+ Materials.Titanium,
+ Materials.Nichrome,
+ Materials.Platinum,
+ Materials.YttriumBariumCuprate,
+ Materials.Naquadah,
+ Materials.Duranium,
+ Materials.Superconductor,
+ };
+
+ private static final Materials[] aMaterial_Circuits = new Materials[] {
+ Materials.Primitive,
+ Materials.Basic,
+ Materials.Good,
+ Materials.Advanced,
+ Materials.Data,
+ Materials.Data,
+ Materials.Elite,
+ Materials.Master,
+ Materials.Ultimate,
+ Materials.Superconductor,
+ Materials.Infinite,
+ };
+
+ private static final Material[][] aMaster = new Material[][] {aMaterial_Main, aMaterial_Secondary, aMaterial_Tertiary};
+
+
+ public static FluidStack getTieredFluid(int aTier, int aAmount) {
+ ItemStack aCell = getTieredComponent(OrePrefixes.liquid, aTier, 1);
+ FluidStack a = GT_Utility.getFluidForFilledItem(aCell, true);
+ if (a == null) {
+ a = aMaster[0][aTier].getFluid(aAmount);
+ }
+ a.amount = aAmount;
+ return a;
+ }
+
+ public static ItemStack getTieredComponent(OrePrefixes aPrefix, int aTier, int aAmount) {
+ aTier = Math.max(0, aTier);
+
+ Material m = null;
+
+
+
+
+
+
+ if (aPrefix == OrePrefixes.liquid) {
+ int aMatID = (aTier == 0 || aTier == 2 || aTier == 5 || aTier == 8 ? 0 : (aTier == 1 || aTier == 3 || aTier == 6 || aTier == 9 ? 1 : 2));
+ ItemStack aCell = aMaster[aMatID][aTier].getCell(aAmount);
+ return aCell;
+ }
+
+ if (aPrefix == OrePrefixes.circuit) {
+ if (aTier == 4) {
+ return ItemUtils.getSimpleStack(CI.getDataStick(), aAmount);
+ }
+ else if (aTier == 5) {
+ return ItemUtils.getSimpleStack(CI.getDataOrb(), aAmount);
+ }
+ return ItemUtils.getOrePrefixStack(OrePrefixes.circuit, aMaterial_Circuits[aTier], aAmount);
+ }
+
+ //Check for Cables first, catch SuperConductor case and swap to wire.
+ if (aPrefix == OrePrefixes.cableGt01 || aPrefix == OrePrefixes.cableGt02 || aPrefix == OrePrefixes.cableGt04 || aPrefix == OrePrefixes.cableGt08 || aPrefix == OrePrefixes.cableGt12) {
+ //Special Handler
+ if (aTier == 10) {
+ if (aPrefix == OrePrefixes.cableGt01) {
+ aPrefix = OrePrefixes.wireGt02;
+ }
+ else if (aPrefix == OrePrefixes.cableGt02) {
+ aPrefix = OrePrefixes.wireGt04;
+ }
+ else if (aPrefix == OrePrefixes.cableGt04) {
+ aPrefix = OrePrefixes.wireGt08;
+ }
+ else if (aPrefix == OrePrefixes.cableGt08) {
+ aPrefix = OrePrefixes.wireGt12;
+ }
+ else if (aPrefix == OrePrefixes.cableGt12) {
+ aPrefix = OrePrefixes.wireGt16;
+ }
+ }
+ else {
+ return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount);
+ }
+
+
+ }
+ if (aPrefix == OrePrefixes.wireGt01 || aPrefix == OrePrefixes.wireGt02 || aPrefix == OrePrefixes.wireGt04 || aPrefix == OrePrefixes.wireGt08 || aPrefix == OrePrefixes.wireGt12 || aPrefix == OrePrefixes.wireGt16) {
+ return ItemUtils.getOrePrefixStack(aPrefix, aMaterial_Cables[aTier], aAmount);
+ }
+
+ if (aPrefix == OrePrefixes.pipeTiny || aPrefix == OrePrefixes.pipeSmall || aPrefix == OrePrefixes.pipe || aPrefix == OrePrefixes.pipeMedium || aPrefix == OrePrefixes.pipeLarge || aPrefix == OrePrefixes.pipeHuge) {
+ if (aTier == 0) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Lead, aAmount);
+ }
+ else if (aTier == 1) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Steel, aAmount);
+ }
+ else if (aTier == 2) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.StainlessSteel, aAmount);
+ }
+ else if (aTier == 3) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Tungsten, aAmount);
+ }
+ else if (aTier == 4) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.TungstenSteel, aAmount);
+ }
+ else if (aTier == 5) {
+ return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.MARAGING350, aAmount);
+ }
+ else if (aTier == 6) {
+ return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.STABALLOY, aAmount);
+ }
+ else if (aTier == 7) {
+ return ItemUtils.getOrePrefixStack(aPrefix, ALLOY.HASTELLOY_X, aAmount);
+ }
+ else if (aTier == 8) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Ultimate, aAmount);
+ }
+ else if (aTier == 9) {
+ return ItemUtils.getOrePrefixStack(OrePrefixes.pipeMedium, Materials.Superconductor, aAmount);
+ }
+ else if (aTier == 10) {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Europium, aAmount);
+ }
+ else {
+ return ItemUtils.getOrePrefixStack(aPrefix, Materials.Titanium, aAmount);
+ }
+ }
+
+ ItemStack aTempStack = null;
+
+ if (aPrefix == OrePrefixes.gear || aPrefix == OrePrefixes.gearGt) {
+ m = aMaster[0][aTier];
+ }
+ else if (aPrefix == OrePrefixes.rod || aPrefix == OrePrefixes.stick) {
+ m = aMaster[0][aTier];
+ }
+ else if (aPrefix == OrePrefixes.stickLong) {
+ m = aMaster[1][aTier];
+ }
+ else if (aPrefix == OrePrefixes.bolt) {
+ m = aMaster[2][aTier];
+ }
+ else if (aPrefix == OrePrefixes.screw) {
+ m = aMaster[0][aTier];
+ }
+ else if (aPrefix == OrePrefixes.rotor) {
+ m = aMaster[1][aTier];
+ }
+ else if (aPrefix == OrePrefixes.frame || aPrefix == OrePrefixes.frameGt) {
+ m = aMaster[2][aTier];
+ }
+ else if (aPrefix == OrePrefixes.ingot) {
+ m = aMaster[1][aTier];
+ }
+ else if (aPrefix == OrePrefixes.plate) {
+ m = aMaster[0][aTier];
+ }
+ else if (aPrefix == OrePrefixes.plateDouble) {
+ m = aMaster[0][aTier];
+ }
+ else if (aPrefix == OrePrefixes.ring) {
+ m = aMaster[2][aTier];
+ }
+ else if (aPrefix == OrePrefixes.cell) {
+ m = aMaster[1][aTier];
+ }
+ else {
+ m = aMaterial_Main[aTier];
+ }
+
+ ItemStack aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ //If Invalid, Try First Material
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ m = aMaster[0][aTier];
+ aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ //If Invalid, Try Second Material
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ m = aMaster[1][aTier];
+ aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ //If Invalid, Try Third Material
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ m = aMaster[2][aTier];
+ aReturn = ItemUtils.getOrePrefixStack(aPrefix, m, aAmount);
+
+ //All Invalid? Ok, shit.
+ //Let's add a special error ingot.
+ if (!ItemUtils.checkForInvalidItems(aReturn)) {
+ aReturn = ItemUtils.getErrorStack(1, (aPrefix.toString()+m.getLocalizedName()+" x"+aAmount));
+ }
+ }
+ }
+ }
+
+ return aReturn;
+
+
+ }
}