diff options
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, |