aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java3
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java6
-rw-r--r--src/main/java/gregtech/common/GT_RecipeAdder.java11
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java19
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java97
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java20
6 files changed, 143 insertions, 13 deletions
diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
index 410688a912..235111c6ef 100644
--- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
+++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
@@ -1179,6 +1179,9 @@ public interface IGT_RecipeAdder {
boolean addFormingPressRecipe(
ItemStack aItemToImprint, ItemStack aForm, ItemStack aImprintedItem, int aDuration, int aEUt);
+ // Allows more than 2 inputs and multiple outputs
+ boolean addFormingPressRecipe(ItemStack[] ItemInputArray, ItemStack[] OutputItemArray, int aDuration, int aEUt);
+
/**
* Adds a Recipe for the Sifter. (up to 9 Outputs)
*/
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index 8ed8b5a9ff..c538028770 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -1371,8 +1371,8 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
"gt.recipe.press",
"Forming Press",
null,
- RES_PATH_GUI + "basicmachines/Press",
- 2,
+ RES_PATH_GUI + "basicmachines/Press3",
+ 6,
1,
2,
0,
@@ -1391,7 +1391,7 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
"gt.recipe.laserengraver",
"Precision Laser Engraver",
null,
- RES_PATH_GUI + "basicmachines/LaserEngraverNEI",
+ RES_PATH_GUI + "basicmachines/LaserEngraver2",
4,
4,
0,
diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java
index b4f80521ce..961aba440f 100644
--- a/src/main/java/gregtech/common/GT_RecipeAdder.java
+++ b/src/main/java/gregtech/common/GT_RecipeAdder.java
@@ -2791,6 +2791,17 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
@Override
+ public boolean addFormingPressRecipe(
+ ItemStack[] ItemInputArray, ItemStack[] OutputItemArray, int aDuration, int aEUt) {
+ if ((ItemInputArray == null) || (OutputItemArray == null)) {
+ return false;
+ }
+ GT_Recipe.GT_Recipe_Map.sPressRecipes.addRecipe(
+ true, ItemInputArray, OutputItemArray, null, null, null, aDuration, aEUt, 0);
+ return true;
+ }
+
+ @Override
public boolean addFluidHeaterRecipe(ItemStack aItem, FluidStack aOutput, int aDuration, int aEUt) {
if ((aItem == null) || (aOutput == null)) {
return false;
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
index 1adb1b4fff..3047938783 100644
--- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
@@ -118,6 +118,25 @@ public class GT_NaniteChain {
100_000_000,
1);
+ // Glowstone Nanites - Used in the optical circuit line
+ GT_Values.RA.addNanoForgeRecipe(
+ new ItemStack[] {
+ aUEVTierLens,
+ getModItem(
+ MOD_ID_GTPP,
+ "blockCompressedObsidian",
+ 8,
+ 7), // Double compressed glowstone blocks (yes, it's not obsidian)
+ ItemList.Circuit_Chip_SoC2.get(64)
+ },
+ new FluidStack[] {Materials.UUMatter.getFluid(50000)},
+ new ItemStack[] {Materials.Glowstone.getNanite(64)},
+ null,
+ null,
+ 200 * 20,
+ 50_000_000,
+ 2);
+
// Gold Nanites - Used in Tier 3 PCB Factory to improve board production
GT_Values.RA.addNanoForgeRecipe(
new ItemStack[] {aUMVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)},
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
index 2b6eaf212a..6f258610b1 100644
--- a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
@@ -2,6 +2,7 @@ package gregtech.loaders.postload.chains;
import static gregtech.api.enums.GT_Values.MOD_ID_GTPP;
+import cpw.mods.fml.common.Loader;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
@@ -575,5 +576,101 @@ public class GT_PCBFactoryRecipes {
(int) GT_Values.VP[tier + 1] * 3 / 4,
mTier3BitMap | mBioUpgradeBitMap);
}
+
+ if (Loader.isModLoaded("miscutils")) {
+ // Optical Circuit Board
+ for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 7))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Optical.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(1),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_ModHandler.getModItem(
+ "bartworks", "gt.bwMetaGeneratedfoil", (long) (16 * (Math.sqrt(tier - 6))), 10106),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
+ GT_ModHandler.getModItem(
+ "miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6))))
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
+ (int) GT_Values.VP[tier] * 3 / 4,
+ mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Optical.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_ModHandler.getModItem(
+ "bartworks", "gt.bwMetaGeneratedfoil", (long) (16 * (Math.sqrt(tier - 6))), 10106),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
+ GT_ModHandler.getModItem(
+ "miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6))))
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Optical.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
+ .getPlates(1),
+ GT_ModHandler.getModItem(
+ "bartworks", "gt.bwMetaGeneratedfoil", (long) (16 * (Math.sqrt(tier - 6))), 10106),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
+ GT_ModHandler.getModItem(
+ "miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6))))
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier3BitMap);
+ }
+ }
}
}
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index 0af16057bd..d04d214073 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -9559,12 +9559,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
4,
"Don't look directly at the Laser",
GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
- 2,
+ 4,
1,
32000,
0,
1,
- "LaserEngraver.png",
+ "LaserEngraver2.png",
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
false,
false,
@@ -9593,12 +9593,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
5,
"Don't look directly at the Laser",
GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
- 2,
+ 4,
1,
40000,
0,
1,
- "LaserEngraver.png",
+ "LaserEngraver2.png",
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
false,
false,
@@ -9692,12 +9692,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
3,
"Imprinting Images into things",
GT_Recipe.GT_Recipe_Map.sPressRecipes,
- 2,
+ 4,
1,
0,
0,
1,
- "Press.png",
+ "Press2.png",
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
false,
false,
@@ -9724,12 +9724,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
4,
"Imprinting Images into things",
GT_Recipe.GT_Recipe_Map.sPressRecipes,
- 2,
+ 4,
1,
0,
0,
1,
- "Press.png",
+ "Press2.png",
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
false,
false,
@@ -9756,12 +9756,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
5,
"Imprinting Images into things",
GT_Recipe.GT_Recipe_Map.sPressRecipes,
- 2,
+ 6,
1,
0,
0,
1,
- "Press.png",
+ "Press3.png",
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
false,
false,