aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders')
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java7
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java25
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java18
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java146
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java577
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java6
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java10
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_PreLoad.java8
8 files changed, 792 insertions, 5 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
index 943d711d59..c1771c4cee 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
@@ -34,6 +34,13 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
2400,
16);
break;
+ case "ChromaticGlass":
+ GT_Values.RA.addCompressorRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
+ GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L),
+ 600 * 20,
+ 1966080);
+ break;
default:
GT_Values.RA.addLatheRecipe(
GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L),
diff --git a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
index 56780c22e5..10780408c0 100644
--- a/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
+++ b/src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java
@@ -14,6 +14,8 @@ import gregtech.api.util.*;
import gregtech.common.GT_DummyWorld;
import gregtech.common.items.GT_MetaGenerated_Item_03;
import gregtech.loaders.postload.chains.GT_BauxiteRefineChain;
+import gregtech.loaders.postload.chains.GT_NaniteChain;
+import gregtech.loaders.postload.chains.GT_PCBFactoryRecipes;
import ic2.api.recipe.ILiquidHeatExchangerManager;
import ic2.api.recipe.Recipes;
import java.util.Arrays;
@@ -1345,6 +1347,17 @@ public class GT_MachineRecipeLoader implements Runnable {
ItemList.Block_SSFUEL.get(1),
100,
250);
+ GT_Values.RA.addMixerRecipe(
+ new ItemStack[] {
+ Materials.NaquadahEnriched.getDust(8),
+ Materials.Holmium.getDust(2),
+ GT_Utility.getIntegratedCircuit(4)
+ },
+ null,
+ new ItemStack[] {Materials.EnrichedHolmium.getDust(10)},
+ null,
+ 30 * 20,
+ 120000);
GT_Values.RA.addExtruderRecipe(
ItemList.FR_Wax.get(1L), ItemList.Shape_Extruder_Cell.get(0L), ItemList.FR_WaxCapsule.get(1L), 64, 16);
@@ -9762,6 +9775,15 @@ public class GT_MachineRecipeLoader implements Runnable {
ItemList.neutroniumHeatCapacitor.get(1L),
100,
120000);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ Materials.NaquadahAlloy.getPlates(8),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1)
+ },
+ null,
+ ItemList.RadiantNaquadahAlloyCasing.get(1),
+ 10,
+ 400000);
GT_ModHandler.removeRecipe(new ItemStack(Items.lava_bucket), ItemList.Cell_Empty.get(1L));
GT_ModHandler.removeRecipe(new ItemStack(Items.water_bucket), ItemList.Cell_Empty.get(1L));
@@ -13285,6 +13307,9 @@ public class GT_MachineRecipeLoader implements Runnable {
1200,
900000);
+ GT_NaniteChain.run();
+ GT_PCBFactoryRecipes.load();
+
if (GregTech_API.sThaumcraftCompat != null) {
String tKey = "GT_WOOD_TO_CHARCOAL";
GT_LanguageManager.addStringLocalization(
diff --git a/src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java b/src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java
new file mode 100644
index 0000000000..acec328324
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/GT_PCBFactoryMaterialLoader.java
@@ -0,0 +1,18 @@
+package gregtech.loaders.postload;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.MaterialsKevlar;
+import gregtech.api.util.GT_PCBFactoryManager;
+
+public class GT_PCBFactoryMaterialLoader {
+ public static void load() {
+ // add Plastics
+ GT_PCBFactoryManager.addPlasticTier(Materials.Plastic, 1);
+ GT_PCBFactoryManager.addPlasticTier(Materials.PolyvinylChloride, 2);
+ GT_PCBFactoryManager.addPlasticTier(Materials.Polytetrafluoroethylene, 3);
+ GT_PCBFactoryManager.addPlasticTier(Materials.Epoxid, 4);
+ GT_PCBFactoryManager.addPlasticTier(Materials.EpoxidFiberReinforced, 5);
+ GT_PCBFactoryManager.addPlasticTier(Materials.Polybenzimidazole, 6);
+ GT_PCBFactoryManager.addPlasticTier(MaterialsKevlar.Kevlar, 7);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
new file mode 100644
index 0000000000..bf2b7ecebd
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
@@ -0,0 +1,146 @@
+package gregtech.loaders.postload.chains;
+
+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 net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+public class GT_NaniteChain {
+
+ public static void run() {
+
+ ItemStack aUVTierLens = GT_ModHandler.getModItem("dreamcraft", "item.MysteriousCrystalLens", 0);
+ ItemStack aUHVTierLens = GT_ModHandler.getModItem("dreamcraft", "item.ChromaticLens", 0);
+ ItemStack aUEVTierLens = GT_ModHandler.getModItem("dreamcraft", "item.RadoxPolymerLens", 0);
+ ItemStack aUIVTierLens = ItemList.EnergisedTesseract.get(0);
+ ItemStack aUMVTierLens = GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Dilithium, 0, false);
+
+ // Carbon Nanite Recipe Before Nano Forge
+ Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null
+ ? FluidRegistry.getFluid("molten.indalloy140")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ GT_Values.RA.addAssemblylineRecipe(
+ Materials.Carbon.getNanite(1),
+ 3600 * 20,
+ new Object[] {
+ ItemList.Hull_UV.get(16),
+ Materials.Carbon.getNanite(16),
+ ItemList.Field_Generator_ZPM.get(16),
+ ItemList.Conveyor_Module_UV.get(16),
+ ItemList.Electric_Motor_UV.get(32),
+ new Object[] {OrePrefixes.circuit.get(Materials.Master), 16},
+ GT_OreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 32)
+ },
+ new FluidStack[] {
+ new FluidStack(solderIndalloy, 144 * 32),
+ Materials.HSSS.getMolten(144L * 32),
+ Materials.Osmiridium.getMolten(144L * 16)
+ },
+ ItemList.NanoForge.get(1),
+ 2400 * 20,
+ (int) GT_Values.VP[7]);
+
+ GT_Values.RA.addAssemblylineRecipe(
+ ItemList.Circuit_Crystalmainframe.get(1),
+ 144000,
+ new Object[] {
+ new Object[] {OrePrefixes.circuit.get(Materials.SuperconductorUHV), 16},
+ ItemList.Robot_Arm_UV.get(16),
+ ItemList.Circuit_Chip_Stemcell.get(32),
+ GT_OreDictUnificator.get(OrePrefixes.ring, Materials.NaquadahAlloy, 32),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahAlloy, 16),
+ Materials.Carbon.getDust(64)
+ },
+ new FluidStack[] {Materials.UUMatter.getFluid(10000), new FluidStack(solderIndalloy, 144 * 32)},
+ Materials.Carbon.getNanite(2),
+ 50 * 20,
+ (int) GT_Values.VP[8]);
+
+ /*
+ * General Rules for making nanite recipes:
+ * 1. Never make a nanite that takes a long time to make and only gives 1, just to be consumed.
+ * 2. Nanites meant to be consumed should either have a short duration or a big output.
+ * 3. Nanites which aren't consumed should have a long duration and output less than 16.
+ * 4. Nanites should always take UUM as a fluid and a lot of power to make.
+ */
+
+ // Carbon Nanites - Used to make more Nano Forge Controllers
+ GT_Values.RA.addNanoForgeRecipe(
+ new ItemStack[] {
+ aUVTierLens,
+ GT_ModHandler.getModItem("bartworks", "bw.werkstoffblockscasingadvanced.01", 8, 31776),
+ ItemList.Circuit_Chip_SoC.get(64)
+ },
+ new FluidStack[] {Materials.UUMatter.getFluid(200000)},
+ new ItemStack[] {
+ Materials.Carbon.getNanite(64),
+ },
+ null,
+ null,
+ 500 * 20,
+ 10000000,
+ 1);
+
+ // Silver Nanites - Used in Tier 2 PCB Factory to improve board production
+ GT_Values.RA.addNanoForgeRecipe(
+ new ItemStack[] {aUHVTierLens, Materials.Silver.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)},
+ new FluidStack[] {Materials.UUMatter.getFluid(200000)},
+ new ItemStack[] {Materials.Silver.getNanite(1)},
+ null,
+ null,
+ 750 * 20,
+ 10000000,
+ 2);
+
+ // Neutronium Nanites - Used to upgrade the Nano Forge to Tier 2
+ GT_Values.RA.addNanoForgeRecipe(
+ new ItemStack[] {
+ aUEVTierLens,
+ Materials.Neutronium.getBlocks(8),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(32)
+ },
+ new FluidStack[] {Materials.UUMatter.getFluid(200000)},
+ new ItemStack[] {Materials.Neutronium.getNanite(1)},
+ null,
+ null,
+ 100 * 20,
+ 100000000,
+ 1);
+
+ // Gold Nanites - Used in Tier 3 PCB Factory to improve board production
+ GT_Values.RA.addNanoForgeRecipe(
+ new ItemStack[] {aUIVTierLens, Materials.Gold.getBlocks(8), ItemList.Circuit_Chip_SoC.get(16)},
+ new FluidStack[] {Materials.UUMatter.getFluid(300000)},
+ new ItemStack[] {Materials.Gold.getNanite(1)},
+ null,
+ null,
+ 1000 * 20,
+ 100000000,
+ 3);
+
+ // Transcendent Metal Nanites - Used to upgrade the Nano Forge to Tier 3
+ GT_Values.RA.addNanoForgeRecipe(
+ new ItemStack[] {
+ aUMVTierLens,
+ Materials.TranscendentMetal.getBlocks(8),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(64),
+ ItemList.Circuit_Chip_SoC2.get(64)
+ },
+ new FluidStack[] {Materials.UUMatter.getFluid(2000000)},
+ new ItemStack[] {Materials.TranscendentMetal.getNanite(1)},
+ null,
+ null,
+ 750 * 20,
+ 1000000000,
+ 2);
+ }
+}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
new file mode 100644
index 0000000000..6c657c2676
--- /dev/null
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
@@ -0,0 +1,577 @@
+package gregtech.loaders.postload.chains;
+
+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_PCBFactoryManager;
+import gregtech.api.util.GT_Utility;
+import java.util.ArrayList;
+import java.util.List;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+@SuppressWarnings("SpellCheckingInspection")
+public class GT_PCBFactoryRecipes {
+
+ public static void load() {
+ final int mBioUpgradeBitMap = 0b1000;
+ final int mTier3BitMap = 0b100;
+ final int mTier2BitMap = 0b10;
+ final int mTier1BitMap = 0b1;
+
+ final Fluid solderLuV = FluidRegistry.getFluid("molten.indalloy140") != null
+ ? FluidRegistry.getFluid("molten.indalloy140")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ // Load Multi Recipes
+ GT_Values.RA.addAssemblylineRecipe(
+ ItemList.Circuit_Board_Wetware.get(1),
+ 3600,
+ new Object[] {
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 32),
+ ItemList.Machine_ZPM_CircuitAssembler.get(4),
+ new Object[] {OrePrefixes.circuit.get(Materials.Master), 16},
+ ItemList.Robot_Arm_ZPM.get(8)
+ },
+ new FluidStack[] {new FluidStack(solderLuV, 144 * 36), Materials.Naquadah.getMolten(144 * 18)},
+ ItemList.PCBFactory.get(1),
+ 6000 * 20,
+ (int) GT_Values.VP[8]);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.NaquadahAlloy, 1),
+ Materials.get("Artherium-Sn").getPlates(6)
+ },
+ null,
+ ItemList.BasicPhotolithographicFrameworkCasing.get(1),
+ 30 * 20,
+ (int) GT_Values.VP[7]);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1),
+ Materials.EnrichedHolmium.getPlates(6)
+ },
+ null,
+ ItemList.ReinforcedPhotolithographicFrameworkCasing.get(1),
+ 30 * 20,
+ (int) GT_Values.VP[9]);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ GT_ModHandler.getModItem("miscutils", "blockFrameGtCelestialTungsten", 1),
+ Materials.get("Quantum").getPlates(6)
+ },
+ null,
+ ItemList.RadiationProofPhotolithographicFrameworkCasing.get(1),
+ 30 * 20,
+ (int) GT_Values.VP[11]);
+ GT_Values.RA.addAssemblerRecipe(
+ new ItemStack[] {
+ GT_ModHandler.getModItem("miscutils", "blockFrameGtHypogen", 1),
+ GT_OreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 2),
+ Materials.Thulium.getPlates(6)
+ },
+ Materials.SpaceTime.getMolten(144 * 8),
+ ItemList.InfinityCooledCasing.get(1),
+ 10 * 20,
+ (int) GT_Values.VP[12]);
+
+ // Load CircuitBoard Recipes
+
+ // Plastic Circuit Board
+ for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(64));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 1.5))),
+ (int) GT_Values.VP[tier] * 3 / 4,
+ mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 0.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(64));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))),
+ GT_Utility.getIntegratedCircuit(2)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 1.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(64));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))),
+ GT_Utility.getIntegratedCircuit(3)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 1.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier3BitMap);
+ }
+
+ // Advanced Circuit Board
+ for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 2.5))),
+ (int) GT_Values.VP[tier] * 3 / 4,
+ mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_Utility.getIntegratedCircuit(2)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 2.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))),
+ GT_Utility.getIntegratedCircuit(3)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 2.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier3BitMap);
+ }
+
+ // More Advanced Circuit Board
+ for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 3.5))),
+ (int) GT_Values.VP[tier] * 3 / 4,
+ mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_Utility.getIntegratedCircuit(2)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 3.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))),
+ GT_Utility.getIntegratedCircuit(3)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 3.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier3BitMap);
+ }
+
+ // Elite Circuit Board
+ for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 4.5))),
+ (int) GT_Values.VP[tier] * 3 / 4,
+ mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_Utility.getIntegratedCircuit(2)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 4.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier2BitMap | mTier3BitMap);
+ }
+ for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))),
+ GT_Utility.getIntegratedCircuit(3)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 4.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier3BitMap);
+ }
+
+ // Wetware Circuit Board
+ for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4))))
+ },
+ 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 | mBioUpgradeBitMap);
+ }
+ for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_Utility.getIntegratedCircuit(2)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier2BitMap | mTier3BitMap | mBioUpgradeBitMap);
+ }
+ for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))),
+ GT_Utility.getIntegratedCircuit(3)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4))))
+ },
+ aBoards.toArray(new ItemStack[0]),
+ (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
+ (int) GT_Values.VP[tier + 1] * 3 / 4,
+ mTier3BitMap | mBioUpgradeBitMap);
+ }
+
+ // Bioware Circuit Board
+ for (int tier = 6; 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_Bio_Ultra.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Longasssuperconductornameforuvwire, (long)
+ (16 * (Math.sqrt(tier - 5)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))),
+ GT_Utility.getIntegratedCircuit(1)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5))))
+ },
+ 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 | mBioUpgradeBitMap);
+ }
+ for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5.5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Longasssuperconductornameforuvwire, (long)
+ (16 * (Math.sqrt(tier - 5)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))),
+ GT_Utility.getIntegratedCircuit(2)
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5))))
+ },
+ 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 | mBioUpgradeBitMap);
+ }
+ for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
+ int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5))));
+ List<ItemStack> aBoards = new ArrayList<ItemStack>();
+ for (int i = amountOfBoards; i > 64; i -= 64) {
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(i));
+ amountOfBoards -= 64;
+ }
+ aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
+ GT_Values.RA.addPCBFactoryRecipe(
+ new ItemStack[] {
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_PCBFactoryManager.getPlasticMaterialFromTier(tier).getPlates(1),
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Longasssuperconductornameforuvwire, (long)
+ (16 * (Math.sqrt(tier - 5)))),
+ GT_OreDictUnificator.get(
+ OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))),
+ GT_Utility.getIntegratedCircuit(3),
+ },
+ new FluidStack[] {
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5))))
+ },
+ 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 | mBioUpgradeBitMap);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index 1c210e10e7..2c4cb8eb8f 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -719,7 +719,11 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GregTech_API.sBlockMetal9 = new GT_Block_Metal(
"gt.blockmetal9",
new Materials[] {
- Materials.Cryolite, Materials.SiliconSG, MaterialsKevlar.NickelAluminide, Materials.SpaceTime
+ Materials.Cryolite,
+ Materials.SiliconSG,
+ MaterialsKevlar.NickelAluminide,
+ Materials.SpaceTime,
+ Materials.TranscendentMetal
},
OrePrefixes.block,
gregtech.api.enums.Textures.BlockIcons.STORAGE_BLOCKS12);
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 56271f54a2..71112cf1ad 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -19,6 +19,7 @@ import gregtech.common.tileentities.machines.long_distance.GT_MetaTileEntity_Lon
import gregtech.common.tileentities.machines.multi.*;
import gregtech.common.tileentities.machines.steam.*;
import gregtech.common.tileentities.storage.*;
+import gregtech.loaders.postload.GT_PCBFactoryMaterialLoader;
import gregtech.loaders.postload.GT_ProcessingArrayRecipeLoader;
import ic2.core.Ic2Items;
import net.minecraft.init.Blocks;
@@ -27,8 +28,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
// Free IDs left for machines in GT as of 29th of July 2022 - Colen. Please try use them up in order.
-// 356
-// 357
// 358
// 359
// 366
@@ -11657,7 +11656,6 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
});
GT_ProcessingArrayRecipeLoader.registerDefaultGregtechMaps();
-
ItemList.Distillation_Tower.set(
new GT_MetaTileEntity_DistillationTower(1126, "multimachine.distillationtower", "Distillation Tower")
.getStackForm(1L));
@@ -12732,6 +12730,12 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
'B',
ItemList.Hull_HV
});
+
+ ItemList.PCBFactory.set(
+ new GT_MetaTileEntity_PCBFactory(356, "multimachine.pcbfactory", "PCB Factory").getStackForm(1));
+ GT_PCBFactoryMaterialLoader.load();
+ ItemList.NanoForge.set(
+ new GT_MetaTileEntity_NanoForge(357, "multimachine.nanoforge", "Nano Forge").getStackForm(1));
}
private static void run4() {
diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
index e651b8122d..0056a5b866 100644
--- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
+++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
@@ -310,7 +310,12 @@ public class GT_PreLoad {
};
if (mIt == 3)
tags = new String[] {
- "crateGtDust", "crateGtIngot", "crateGtGem", "crateGtPlate", "itemCasing"
+ "crateGtDust",
+ "crateGtIngot",
+ "crateGtGem",
+ "crateGtPlate",
+ "itemCasing",
+ "nanite"
};
if (tags.length > prefix) tag = tags[prefix];
if (GregTech_API.sGeneratedMaterials[material] != null) {
@@ -392,6 +397,7 @@ public class GT_PreLoad {
"crateGtIngot",
"crateGtGem",
"crateGtPlate",
+ "nanite",
"cellMolten"
};