aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/tectech/loader
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/tectech/loader')
-rw-r--r--src/main/java/tectech/loader/MainLoader.java206
-rw-r--r--src/main/java/tectech/loader/NetworkDispatcher.java25
-rw-r--r--src/main/java/tectech/loader/TecTechConfig.java271
-rw-r--r--src/main/java/tectech/loader/gui/CreativeTabTecTech.java36
-rw-r--r--src/main/java/tectech/loader/recipe/Assembler.java3091
-rw-r--r--src/main/java/tectech/loader/recipe/AssemblyLine.java169
-rw-r--r--src/main/java/tectech/loader/recipe/BaseRecipeLoader.java49
-rw-r--r--src/main/java/tectech/loader/recipe/CircuitAssembler.java54
-rw-r--r--src/main/java/tectech/loader/recipe/Crafting.java57
-rw-r--r--src/main/java/tectech/loader/recipe/Extractor.java67
-rw-r--r--src/main/java/tectech/loader/recipe/Godforge.java675
-rw-r--r--src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java3709
-rw-r--r--src/main/java/tectech/loader/thing/CoverLoader.java47
-rw-r--r--src/main/java/tectech/loader/thing/MachineLoader.java2532
-rw-r--r--src/main/java/tectech/loader/thing/MuTeLoader.java21
-rw-r--r--src/main/java/tectech/loader/thing/ThingsLoader.java93
16 files changed, 11102 insertions, 0 deletions
diff --git a/src/main/java/tectech/loader/MainLoader.java b/src/main/java/tectech/loader/MainLoader.java
new file mode 100644
index 0000000000..801653ca4b
--- /dev/null
+++ b/src/main/java/tectech/loader/MainLoader.java
@@ -0,0 +1,206 @@
+package tectech.loader;
+
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.enums.Mods.TwilightForest;
+import static tectech.TecTech.LOGGER;
+import static tectech.TecTech.configTecTech;
+import static tectech.TecTech.creativeTabTecTech;
+import static tectech.TecTech.proxy;
+import static tectech.loader.TecTechConfig.DEBUG_MODE;
+
+import java.util.HashMap;
+
+import net.minecraft.block.Block;
+import net.minecraft.util.DamageSource;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+import cpw.mods.fml.common.ProgressManager;
+import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.GregTechAPI;
+import gregtech.api.enums.Materials;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.util.GTRecipe;
+import tectech.TecTech;
+import tectech.loader.gui.CreativeTabTecTech;
+import tectech.loader.recipe.BaseRecipeLoader;
+import tectech.loader.recipe.ResearchStationAssemblyLine;
+import tectech.loader.thing.CoverLoader;
+import tectech.loader.thing.MachineLoader;
+import tectech.loader.thing.ThingsLoader;
+import tectech.thing.casing.TTCasingsContainer;
+import tectech.thing.metaTileEntity.Textures;
+
+@SuppressWarnings("deprecation")
+public final class MainLoader {
+
+ public static DamageSource microwaving;
+
+ private MainLoader() {}
+
+ public static void preLoad() {
+ creativeTabTecTech = new CreativeTabTecTech("TecTech");
+
+ // set expanded texture arrays for tiers
+ try {
+ Textures.run();
+ } catch (Throwable t) {
+ LOGGER.error("Loading textures...", t);
+ }
+ }
+
+ public static void load() {
+ ProgressManager.ProgressBar progressBarLoad = ProgressManager.push("TecTech Loader", 6);
+
+ progressBarLoad.step("Regular Things");
+ new ThingsLoader().run();
+ LOGGER.info("Block/Item Init Done");
+
+ progressBarLoad.step("Machine Things");
+ new MachineLoader().run();
+ LOGGER.info("Machine Init Done");
+
+ progressBarLoad.step("Cover Things");
+ new CoverLoader().run();
+ LOGGER.info("Cover Init Done");
+
+ progressBarLoad.step("Add damage types");
+ microwaving = new DamageSource("microwaving").setDamageBypassesArmor();
+ LOGGER.info("Damage types addition Done");
+
+ progressBarLoad.step("Register Packet Dispatcher");
+ new NetworkDispatcher();
+ LOGGER.info("Packet Dispatcher registered");
+
+ progressBarLoad.step("Register GUI Handler");
+ proxy.registerRenderInfo();
+ LOGGER.info("GUI Handler registered");
+
+ ProgressManager.pop(progressBarLoad);
+ }
+
+ public static void postLoad() {
+ ProgressManager.ProgressBar progressBarPostLoad = ProgressManager.push("TecTech Post Loader", 4);
+
+ progressBarPostLoad.step("Dreamcraft Compatibility");
+ if (NewHorizonsCoreMod.isModLoaded()) {
+ try {
+ Class<?> clazz = Class.forName("com.dreammaster.gthandler.casings.GT_Container_CasingsNH");
+ TTCasingsContainer.sBlockCasingsNH = (Block) clazz.getField("sBlockCasingsNH")
+ .get(null);
+
+ if (TTCasingsContainer.sBlockCasingsNH == null) {
+ throw new NullPointerException("sBlockCasingsNH Is not set at this time");
+ }
+ } catch (Exception e) {
+ throw new Error("Unable to get NH casings", e);
+ }
+ }
+
+ progressBarPostLoad.step("Recipes");
+ new BaseRecipeLoader().run();
+ TecTech.LOGGER.info("Recipe Init Done");
+
+ if (!configTecTech.DISABLE_BLOCK_HARDNESS_NERF) {
+ progressBarPostLoad.step("Nerf blocks blast resistance");
+ adjustTwilightBlockResistance();
+ TecTech.LOGGER.info("Blocks nerf done");
+ } else {
+ progressBarPostLoad.step("Do not nerf blocks blast resistance");
+ TecTech.LOGGER.info("Blocks were not nerfed");
+ }
+
+ // ProgressManager.pop(progressBarPostLoad);
+ }
+
+ public static void addAfterGregTechPostLoadRunner() {
+ GregTechAPI.sAfterGTPostload.add(() -> {
+ if (TecTech.configTecTech.NERF_FUSION) {
+ FixBrokenFusionRecipes();
+ }
+ });
+ }
+
+ private static void FixBrokenFusionRecipes() {
+ HashMap<Fluid, Fluid> binds = new HashMap<>();
+ for (Materials material : Materials.values()) {
+ FluidStack p = material.getPlasma(1);
+ if (p != null) {
+ if (DEBUG_MODE) {
+ LOGGER.info("Found Plasma of " + material.mName);
+ }
+ if (material.mElement != null && (material.mElement.mProtons >= Materials.Iron.mElement.mProtons
+ || -material.mElement.mProtons >= Materials.Iron.mElement.mProtons
+ || material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons
+ || -material.mElement.mNeutrons >= Materials.Iron.mElement.mNeutrons)) {
+ if (DEBUG_MODE) {
+ LOGGER.info("Attempting to bind " + material.mName);
+ }
+ if (material.getMolten(1) != null) {
+ binds.put(
+ p.getFluid(),
+ material.getMolten(1)
+ .getFluid());
+ } else if (material.getGas(1) != null) {
+ binds.put(
+ p.getFluid(),
+ material.getGas(1)
+ .getFluid());
+ } else if (material.getFluid(1) != null) {
+ binds.put(
+ p.getFluid(),
+ material.getFluid(1)
+ .getFluid());
+ } else {
+ binds.put(
+ p.getFluid(),
+ Materials.Iron.getMolten(1)
+ .getFluid());
+ }
+ }
+ }
+ }
+ for (GTRecipe r : RecipeMaps.fusionRecipes.getAllRecipes()) {
+ Fluid fluid = binds.get(r.mFluidOutputs[0].getFluid());
+ if (fluid != null) {
+ if (DEBUG_MODE) {
+ LOGGER.info("Nerfing Recipe " + r.mFluidOutputs[0].getUnlocalizedName());
+ }
+ r.mFluidOutputs[0] = new FluidStack(fluid, r.mFluidOutputs[0].amount);
+ }
+ fluid = binds.get(r.mFluidInputs[0].getFluid());
+ if (fluid != null) {
+ if (DEBUG_MODE) {
+ LOGGER.info("Fixing plasma use in Recipe " + r.mFluidInputs[0].getUnlocalizedName());
+ }
+ r.mFluidInputs[0] = new FluidStack(fluid, r.mFluidInputs[0].amount);
+ }
+ fluid = binds.get(r.mFluidInputs[1].getFluid());
+ if (fluid != null) {
+ if (DEBUG_MODE) {
+ LOGGER.info("Fixing plasma use in Recipe " + r.mFluidInputs[1].getUnlocalizedName());
+ }
+ r.mFluidInputs[1] = new FluidStack(fluid, r.mFluidInputs[1].amount);
+ }
+ }
+ }
+
+ private static void safeSetResistance(Block block, float resistance) {
+ if (block != null) {
+ block.setResistance(resistance);
+ }
+ }
+
+ private static void adjustTwilightBlockResistance() {
+ if (TwilightForest.isModLoaded()) {
+ safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFShield"), 30);
+ safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFThorns"), 10);
+ safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFTowerTranslucent"), 30);
+ safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFDeadrock"), 5);
+ }
+ }
+
+ public static void onLoadCompleted() {
+ new ResearchStationAssemblyLine().runLateRecipes();
+ }
+}
diff --git a/src/main/java/tectech/loader/NetworkDispatcher.java b/src/main/java/tectech/loader/NetworkDispatcher.java
new file mode 100644
index 0000000000..dd46715450
--- /dev/null
+++ b/src/main/java/tectech/loader/NetworkDispatcher.java
@@ -0,0 +1,25 @@
+package tectech.loader;
+
+import static tectech.Reference.MODID;
+
+import tectech.mechanics.pipe.PipeActivityMessage;
+import tectech.mechanics.spark.RendererMessage;
+
+public class NetworkDispatcher extends eu.usrv.yamcore.network.PacketDispatcher {
+
+ public static NetworkDispatcher INSTANCE;
+
+ public NetworkDispatcher() {
+ super(MODID);
+ INSTANCE = this;
+ registerPackets();
+ }
+
+ @Override
+ public void registerPackets() {
+ registerMessage(PipeActivityMessage.ServerHandler.class, PipeActivityMessage.PipeActivityQuery.class);
+ registerMessage(PipeActivityMessage.ClientHandler.class, PipeActivityMessage.PipeActivityData.class);
+
+ registerMessage(RendererMessage.ClientHandler.class, RendererMessage.RendererData.class);
+ }
+}
diff --git a/src/main/java/tectech/loader/TecTechConfig.java b/src/main/java/tectech/loader/TecTechConfig.java
new file mode 100644
index 0000000000..06ded34e01
--- /dev/null
+++ b/src/main/java/tectech/loader/TecTechConfig.java
@@ -0,0 +1,271 @@
+package tectech.loader;
+
+import java.io.File;
+
+import net.minecraft.launchwrapper.Launch;
+
+import eu.usrv.yamcore.config.ConfigManager;
+
+public class TecTechConfig extends ConfigManager {
+
+ public TecTechConfig(File pConfigBaseDirectory, String pModCollectionDirectory, String pModID) {
+ super(pConfigBaseDirectory, pModCollectionDirectory, pModID);
+ }
+
+ // final static to allow compiler to remove the debug code when this is false
+ public static boolean DEBUG_MODE = false;
+ public static boolean POWERLESS_MODE = false;
+ /**
+ * Not complete; enabled by default only in dev env
+ */
+ public boolean ENABLE_GOD_FORGE;
+
+ public boolean BOOM_ENABLE;
+ public boolean DISABLE_BLOCK_HARDNESS_NERF;
+ public boolean EASY_SCAN;
+ public boolean NERF_FUSION;
+ public boolean ENABLE_TURRET_EXPLOSIONS;
+ public float TURRET_DAMAGE_FACTOR;
+ public float TURRET_EXPLOSION_FACTOR;
+
+ public boolean MOD_ADMIN_ERROR_LOGS;
+
+ public boolean TESLA_MULTI_GAS_OUTPUT;
+ public float TESLA_MULTI_LOSS_FACTOR_OVERDRIVE;
+ public int TESLA_MULTI_LOSS_PER_BLOCK_T0;
+ public int TESLA_MULTI_LOSS_PER_BLOCK_T1;
+ public int TESLA_MULTI_LOSS_PER_BLOCK_T2;
+ public int TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM;
+ public int TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN;
+ public int TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON;
+ public int TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1;
+ public int TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2;
+ public int TESLA_MULTI_RANGE_COVER;
+ public int TESLA_MULTI_RANGE_TOWER;
+ public int TESLA_MULTI_RANGE_TRANSCEIVER;
+ public float TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE;
+ public int TESLA_SINGLE_LOSS_PER_BLOCK;
+ public int TESLA_SINGLE_RANGE;
+ public boolean TESLA_VISUAL_EFFECT;
+
+ /**
+ * This loading phases do not correspond to mod loading phases!
+ */
+ @Override
+ protected void PreInit() {
+
+ BOOM_ENABLE = true;
+ DISABLE_BLOCK_HARDNESS_NERF = false;
+ EASY_SCAN = false;
+ NERF_FUSION = false;
+ ENABLE_TURRET_EXPLOSIONS = true;
+ TURRET_DAMAGE_FACTOR = 10;
+ TURRET_EXPLOSION_FACTOR = 1;
+
+ MOD_ADMIN_ERROR_LOGS = false;
+
+ TESLA_MULTI_GAS_OUTPUT = false;
+ TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = 0.25F;
+ TESLA_MULTI_LOSS_PER_BLOCK_T0 = 1;
+ TESLA_MULTI_LOSS_PER_BLOCK_T1 = 1;
+ TESLA_MULTI_LOSS_PER_BLOCK_T2 = 1;
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = 100;
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = 50;
+ TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = 50;
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = 2;
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = 4;
+ TESLA_MULTI_RANGE_COVER = 16;
+ TESLA_MULTI_RANGE_TOWER = 32;
+ TESLA_MULTI_RANGE_TRANSCEIVER = 16;
+ TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = 0.25F;
+ TESLA_SINGLE_LOSS_PER_BLOCK = 1;
+ TESLA_SINGLE_RANGE = 20;
+ TESLA_VISUAL_EFFECT = true;
+
+ ENABLE_GOD_FORGE = (boolean) Launch.blackboard.get("fml.deobfuscatedEnvironment");
+ }
+
+ /**
+ * This loading phases do not correspond to mod loading phases!
+ */
+ @Override
+ protected void Init() {
+ DEBUG_MODE = _mainConfig
+ .getBoolean("DebugMode", "debug", DEBUG_MODE, "Enables logging and other purely debug features");
+ POWERLESS_MODE = _mainConfig
+ .getBoolean("PowerlessMode", "debug", POWERLESS_MODE, "Enables 0EU/t multi block machinery");
+ ENABLE_GOD_FORGE = _mainConfig.getBoolean(
+ "EnableGodForge",
+ "debug",
+ ENABLE_GOD_FORGE,
+ "Enables the in progress God Forge; enabled automatically in dev env");
+
+ BOOM_ENABLE = _mainConfig.getBoolean(
+ "BoomEnable",
+ "features",
+ BOOM_ENABLE,
+ "Set to false to disable explosions on everything bad that you can do");
+ DISABLE_BLOCK_HARDNESS_NERF = _mainConfig.getBoolean(
+ "DisableBlockHardnessNerf",
+ "features",
+ DISABLE_BLOCK_HARDNESS_NERF,
+ "Set to true to disable the block hardness nerf");
+ EASY_SCAN = _mainConfig.getBoolean(
+ "EasyScan",
+ "features",
+ EASY_SCAN,
+ "Enables tricorder to scan EM i/o hatches directly, too CHEEKY");
+ NERF_FUSION = _mainConfig.getBoolean(
+ "NerfFusion",
+ "features",
+ NERF_FUSION,
+ "Set to true to enable removal of plasmas heavier than Fe and other weird ones");
+ ENABLE_TURRET_EXPLOSIONS = _mainConfig.getBoolean(
+ "TurretBoomEnable",
+ "features",
+ ENABLE_TURRET_EXPLOSIONS,
+ "Set to false to disable explosions caused by EM turrets");
+ TURRET_DAMAGE_FACTOR = _mainConfig.getFloat(
+ "TurretDamageFactor",
+ "features",
+ TURRET_DAMAGE_FACTOR,
+ 0,
+ Short.MAX_VALUE,
+ "Damage is multiplied by this number");
+ TURRET_EXPLOSION_FACTOR = _mainConfig.getFloat(
+ "TurretExplosionFactor",
+ "features",
+ TURRET_EXPLOSION_FACTOR,
+ 0,
+ Short.MAX_VALUE,
+ "Explosion strength is multiplied by this number");
+
+ MOD_ADMIN_ERROR_LOGS = _mainConfig.getBoolean(
+ "AdminErrorLog",
+ "modules",
+ MOD_ADMIN_ERROR_LOGS,
+ "If set to true, every op/admin will receive all errors occurred during the startup phase as in game message on join");
+
+ TESLA_MULTI_GAS_OUTPUT = _mainConfig.getBoolean(
+ "TeslaMultiGasOutput",
+ "tesla_tweaks",
+ TESLA_MULTI_GAS_OUTPUT,
+ "Set to true to enable outputting plasmas as gasses from the tesla tower with a 1:1 ratio");
+ TESLA_MULTI_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat(
+ "TeslaMultiLossFactorOverdrive",
+ "tesla_tweaks",
+ TESLA_MULTI_LOSS_FACTOR_OVERDRIVE,
+ 0,
+ 1,
+ "Additional Tesla Tower power loss per amp as a factor of the tier voltage");
+ TESLA_MULTI_LOSS_PER_BLOCK_T0 = _mainConfig.getInt(
+ "TeslaMultiLossPerBlockT0",
+ "tesla_tweaks",
+ TESLA_MULTI_LOSS_PER_BLOCK_T0,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower power transmission loss per block per amp using no plasmas");
+ TESLA_MULTI_LOSS_PER_BLOCK_T1 = _mainConfig.getInt(
+ "TeslaMultiLossPerBlockT1",
+ "tesla_tweaks",
+ TESLA_MULTI_LOSS_PER_BLOCK_T1,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower power transmission loss per block per amp using helium or nitrogen plasma");
+ TESLA_MULTI_LOSS_PER_BLOCK_T2 = _mainConfig.getInt(
+ "TeslaMultiLossPerBlockT2",
+ "tesla_tweaks",
+ TESLA_MULTI_LOSS_PER_BLOCK_T2,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower power transmission loss per block per amp using radon plasma");
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM = _mainConfig.getInt(
+ "TeslaMultiPlasmaPerSecondT1Helium",
+ "tesla_tweaks",
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_HELIUM,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower helium plasma consumed each second the tesla tower is active");
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN = _mainConfig.getInt(
+ "TeslaMultiPlasmaPerSecondT1Nitrogen",
+ "tesla_tweaks",
+ TESLA_MULTI_PLASMA_PER_SECOND_T1_NITROGEN,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower nitrogen plasma consumed each second the tesla tower is active");
+ TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON = _mainConfig.getInt(
+ "TeslaMultiPlasmaPerSecondT2Radon",
+ "tesla_tweaks",
+ TESLA_MULTI_PLASMA_PER_SECOND_T2_RADON,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower radon plasma consumed each second the tesla tower is active");
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1 = _mainConfig.getInt(
+ "TeslaMultiRangeCoefficientPlasmaT1",
+ "tesla_tweaks",
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T1,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower T1 Plasmas Range Multiplier");
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2 = _mainConfig.getInt(
+ "TeslaMultiRangeCoefficientPlasmaT2",
+ "tesla_tweaks",
+ TESLA_MULTI_RANGE_COEFFICIENT_PLASMA_T2,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower T2 Plasmas Range Multiplier");
+ TESLA_MULTI_RANGE_COVER = _mainConfig.getInt(
+ "TeslaMultiRangeCover",
+ "tesla_tweaks",
+ TESLA_MULTI_RANGE_COVER,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower to Tesla Coil Rich Edition Cover max range");
+ TESLA_MULTI_RANGE_TOWER = _mainConfig.getInt(
+ "TeslaMultiRangeTower",
+ "tesla_tweaks",
+ TESLA_MULTI_RANGE_TOWER,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower to Tower max range");
+ TESLA_MULTI_RANGE_TRANSCEIVER = _mainConfig.getInt(
+ "TeslaMultiRangeTransceiver",
+ "tesla_tweaks",
+ TESLA_MULTI_RANGE_TRANSCEIVER,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Tower to Transceiver max range");
+ TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE = _mainConfig.getFloat(
+ "TeslaSingleLossFactorOverdrive",
+ "tesla_tweaks",
+ TESLA_SINGLE_LOSS_FACTOR_OVERDRIVE,
+ 0,
+ 1,
+ "Additional Tesla Transceiver power loss per amp as a factor of the tier voltage");
+ TESLA_SINGLE_LOSS_PER_BLOCK = _mainConfig.getInt(
+ "TeslaSingleLossPerBlock",
+ "tesla_tweaks",
+ TESLA_SINGLE_LOSS_PER_BLOCK,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Transceiver power transmission loss per block per amp");
+ TESLA_SINGLE_RANGE = _mainConfig.getInt(
+ "TeslaSingleRange",
+ "tesla_tweaks",
+ TESLA_SINGLE_RANGE,
+ 0,
+ Integer.MAX_VALUE,
+ "Tesla Transceiver to max range");
+ TESLA_VISUAL_EFFECT = _mainConfig.getBoolean(
+ "EnableTeslaVisualEffect",
+ "tesla_tweaks",
+ TESLA_VISUAL_EFFECT,
+ "Set true to enable the cool visual effect when tesla tower running.");
+ }
+
+ /**
+ * This loading phases do not correspond to mod loading phases!
+ */
+ @Override
+ protected void PostInit() {}
+}
diff --git a/src/main/java/tectech/loader/gui/CreativeTabTecTech.java b/src/main/java/tectech/loader/gui/CreativeTabTecTech.java
new file mode 100644
index 0000000000..d098d375c4
--- /dev/null
+++ b/src/main/java/tectech/loader/gui/CreativeTabTecTech.java
@@ -0,0 +1,36 @@
+package tectech.loader.gui;
+
+import java.util.List;
+
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.GregTechAPI;
+import tectech.thing.CustomItemList;
+import tectech.thing.casing.TTCasingsContainer;
+
+public class CreativeTabTecTech extends CreativeTabs {
+
+ public CreativeTabTecTech(String name) {
+ super(name);
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ public Item getTabIconItem() {
+ return Item.getItemFromBlock(TTCasingsContainer.sBlockCasingsTT); // High power casing
+ }
+
+ @Override
+ public void displayAllReleventItems(List<ItemStack> stuffToShow) {
+ for (CustomItemList item : CustomItemList.values()) {
+ if (item.hasBeenSet() && item.getBlock() == GregTechAPI.sBlockMachines) {
+ stuffToShow.add(item.get(1));
+ }
+ }
+ super.displayAllReleventItems(stuffToShow);
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/Assembler.java b/src/main/java/tectech/loader/recipe/Assembler.java
new file mode 100644
index 0000000000..eee8182184
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/Assembler.java
@@ -0,0 +1,3091 @@
+package tectech.loader.recipe;
+
+import static bartworks.common.loaders.ItemRegistry.bw_realglas;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.util.GTRecipeBuilder.MINUTES;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+import static gregtech.api.util.GTRecipeBuilder.TICKS;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import com.gtnewhorizon.structurelib.StructureLibAPI;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.MaterialsUEVplus;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GTModHandler;
+import gregtech.api.util.GTOreDictUnificator;
+import gregtech.api.util.GTUtility;
+import tectech.thing.CustomItemList;
+import tectech.thing.block.BlockQuantumGlass;
+
+public class Assembler implements Runnable {
+
+ @Override
+ public void run() {
+
+ cleanroomRecipes();
+
+ for (int i = 0; i <= 15; i++) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTUtility.getIntegratedCircuit(i + 1),
+ GTOreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 1))
+ .itemOutputs(new ItemStack(StructureLibAPI.getBlockHint(), 1, i))
+ .fluidInputs(Materials.Aluminium.getMolten(864))
+ .duration(1 * SECONDS + 12 * TICKS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ }
+
+ // Quantum Glass
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.eM_Containment.get(1), GTModHandler.getIC2Item("reinforcedGlass", 1L))
+ .itemOutputs(new ItemStack(BlockQuantumGlass.INSTANCE, 1))
+ .fluidInputs(
+ BaseRecipeLoader.getOrDefault("Trinium", Materials.Osmium)
+ .getMolten(576))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+
+ // recipe for assline data hatches
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataIn_Hatch.get(1))
+ .itemOutputs(CustomItemList.dataInAss_Hatch.get(1))
+ .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
+ .eut(12000)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Hatch_DataAccess_EV.get(1), CustomItemList.dataOut_Hatch.get(1))
+ .itemOutputs(CustomItemList.dataOutAss_Hatch.get(1))
+ .duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
+ .eut(12000)
+ .addTo(assemblerRecipes);
+
+ // High Power Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1),
+ GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Iridium, 6),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 1),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 16),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2))
+ .itemOutputs(CustomItemList.eM_Power.get(1))
+ .fluidInputs(Materials.TungstenSteel.getMolten(576))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Computer Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Power.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 8),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.NiobiumTitanium, 2))
+ .itemOutputs(CustomItemList.eM_Computer_Casing.get(1))
+ .fluidInputs(Materials.Aluminium.getMolten(1296))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Computer Vent Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.StainlessSteel, 1),
+ ItemList.Electric_Motor_IV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.rotor, Materials.StainlessSteel, 2),
+ GTOreDictUnificator.get(OrePrefixes.pipeTiny, Materials.StainlessSteel, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Copper, 16),
+ GTOreDictUnificator.get(
+ OrePrefixes.wireGt01,
+ BaseRecipeLoader.getOrDefault("SuperconductorIV", Materials.SuperconductorUHV),
+ 1))
+ .itemOutputs(CustomItemList.eM_Computer_Vent.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(1296))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Molecular Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Power.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Osmiridium, 6),
+ GTOreDictUnificator
+ .get(OrePrefixes.foil, BaseRecipeLoader.getOrDefault("Trinium", Materials.Osmium), 12),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.TungstenSteel, 24),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.TungstenSteel, 24),
+ ItemList.Field_Generator_IV.get(1))
+ .itemOutputs(CustomItemList.eM_Containment.get(1))
+ .fluidInputs(Materials.Osmium.getMolten(1296))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Tesla Base
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 6),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.NickelZincFerrite, 1))
+ .itemOutputs(CustomItemList.tM_TeslaBase.get(1))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ // Tesla Toroid
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 6),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Aluminium, 1))
+ .itemOutputs(CustomItemList.tM_TeslaToroid.get(1))
+ .duration(2 * SECONDS + 10 * TICKS)
+ .eut(16)
+ .addTo(assemblerRecipes);
+ // Tesla Secondary Windings
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(8, 0),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(12))
+ .itemOutputs(CustomItemList.tM_TeslaSecondary.get(1))
+ .fluidInputs(Materials.Silver.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T0
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.RedstoneAlloy, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(8))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_0.get(1))
+ .fluidInputs(Materials.RedAlloy.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T1
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorMV, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(12))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_1.get(1))
+ .fluidInputs(Materials.Magnesium.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T2
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorHV, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(16))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_2.get(1))
+ .fluidInputs(Materials.Barium.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T3
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorEV, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(20))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_3.get(1))
+ .fluidInputs(Materials.Platinum.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T4
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorIV, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(24))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_4.get(1))
+ .fluidInputs(Materials.Vanadium.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T5
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorLuV, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(28))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_5.get(1))
+ .fluidInputs(Materials.Indium.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Tesla Primary Coils T6
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorZPM, 8),
+ BaseRecipeLoader.getItemContainer("MicaInsulatorFoil")
+ .get(32))
+ .itemOutputs(CustomItemList.tM_TeslaPrimary_6.get(1))
+ .fluidInputs(Materials.Naquadah.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+
+ // Dynamo Hatches
+ {
+ // Dynamo Hatches 4A
+ {
+ // Dynamo EV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_EV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_EV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(144))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Dynamo IV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_IV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(144))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Dynamo LuV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_LuV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Dynamo ZPM 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_ZPM.get(1))
+ .fluidInputs(Materials.Silver.getMolten(576))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Dynamo UV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_UV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(1152))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Dynamo UHV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_UHV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(2304))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Dynamo UEV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium),
+ 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_UEV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(4608))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Dynamo UIV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium),
+ 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_UIV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(9216))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Dynamo UMV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_UMV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(9216))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ // Dynamo UXV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Dynamo_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1),
+ GTOreDictUnificator.get("plateShirabon", 1L))
+ .itemOutputs(CustomItemList.eM_dynamoMulti4_UXV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(9216))
+ .duration(5 * SECONDS)
+ .eut((int) TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Dynamo Hatches 16A
+ {
+ // Dynamo EV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_IV_EV.get(1),
+ CustomItemList.eM_dynamoMulti4_EV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Aluminium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_EV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Dynamo IV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_LuV_IV.get(1),
+ CustomItemList.eM_dynamoMulti4_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_IV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Dynamo LuV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_ZPM_LuV.get(1),
+ CustomItemList.eM_dynamoMulti4_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_LuV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(288))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Dynamo ZPM 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UV_ZPM.get(1),
+ CustomItemList.eM_dynamoMulti4_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_ZPM.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(576))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Dynamo UV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_MAX_UV.get(1),
+ CustomItemList.eM_dynamoMulti4_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_UV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(1152))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Dynamo UHV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UEV_UHV.get(1),
+ CustomItemList.eM_dynamoMulti4_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_UHV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(2304))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Dynamo UEV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UIV_UEV.get(1),
+ CustomItemList.eM_dynamoMulti4_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium),
+ 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_UEV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(4608))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Dynamo UIV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UMV_UIV.get(1),
+ CustomItemList.eM_dynamoMulti4_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium),
+ 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_UIV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(9216))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Dynamo UMV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UXV_UMV.get(1),
+ CustomItemList.eM_dynamoMulti4_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_UMV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(9216))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ // Dynamo UXV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_MAX_UXV.get(1),
+ CustomItemList.eM_dynamoMulti4_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2),
+ GTOreDictUnificator.get("plateShirabon", 2L))
+ .itemOutputs(CustomItemList.eM_dynamoMulti16_UXV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(9216))
+ .duration(10 * SECONDS)
+ .eut((int) TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Dynamo Hatches 64A
+ {
+ // Dynamo EV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_IV_EV.get(1),
+ CustomItemList.eM_dynamoMulti16_EV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Aluminium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_EV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Dynamo IV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_LuV_IV.get(1),
+ CustomItemList.eM_dynamoMulti16_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_IV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Dynamo LuV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_ZPM_LuV.get(1),
+ CustomItemList.eM_dynamoMulti16_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_LuV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Dynamo ZPM 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UV_ZPM.get(1),
+ CustomItemList.eM_dynamoMulti16_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_ZPM.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Dynamo UV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UHV_UV.get(1),
+ CustomItemList.eM_dynamoMulti16_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_UV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(1152))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Dynamo UHV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UEV_UHV.get(1),
+ CustomItemList.eM_dynamoMulti16_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_UHV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(2304))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Dynamo UEV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UIV_UEV.get(1),
+ CustomItemList.eM_dynamoMulti16_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium),
+ 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_UEV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(4608))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Dynamo UIV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UMV_UIV.get(1),
+ CustomItemList.eM_dynamoMulti16_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium),
+ 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_UIV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(9216))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Dynamo UMV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UXV_UMV.get(1),
+ CustomItemList.eM_dynamoMulti16_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Quantium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_UMV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(9216))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ // Dynamo UXV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_MAX_UXV.get(1),
+ CustomItemList.eM_dynamoMulti16_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.BlackPlutonium, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 3),
+ GTOreDictUnificator.get("plateShirabon", 3L))
+ .itemOutputs(CustomItemList.eM_dynamoMulti64_UXV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(9216))
+ .duration(20 * SECONDS)
+ .eut((int) TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ }
+ }
+
+ // Energy Hatches
+ {
+ // Energy Hatches 4A
+ {
+ // Energy Hatch EV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_EV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Aluminium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_EV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(144))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch IV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Tungsten, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_IV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(144))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch LuV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.VanadiumGallium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_LuV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch ZPM 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_ZPM.get(1))
+ .fluidInputs(Materials.Silver.getMolten(576))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_UV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(1152))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UHV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_UHV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(2304))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UEV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium),
+ 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_UEV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(4608))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UIV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium),
+ 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_UIV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(9216))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UMV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2))
+ .itemOutputs(CustomItemList.eM_energyMulti4_UMV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(9216))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UXV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Energy_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1),
+ GTOreDictUnificator.get("plateShirabon", 1L))
+ .itemOutputs(CustomItemList.eM_energyMulti4_UXV.get(1))
+ .fluidInputs(Materials.Silver.getMolten(9216))
+ .duration(5 * SECONDS)
+ .eut((int) TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Energy Hatches 16A
+ {
+ // Energy Hatch EV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_IV_EV.get(1),
+ CustomItemList.eM_energyMulti4_EV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Aluminium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_EV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch IV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_LuV_IV.get(1),
+ CustomItemList.eM_energyMulti4_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Tungsten, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_IV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch LuV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_ZPM_LuV.get(1),
+ CustomItemList.eM_energyMulti4_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.VanadiumGallium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_LuV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(288))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch ZPM 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UV_ZPM.get(1),
+ CustomItemList.eM_energyMulti4_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Naquadah, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_ZPM.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(576))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_MAX_UV.get(1),
+ CustomItemList.eM_energyMulti4_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NaquadahAlloy, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_UV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(1152))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UHV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UEV_UHV.get(1),
+ CustomItemList.eM_energyMulti4_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_UHV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(2304))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UEV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UIV_UEV.get(1),
+ CustomItemList.eM_energyMulti4_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium),
+ 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_UEV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(4608))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UIV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UMV_UIV.get(1),
+ CustomItemList.eM_energyMulti4_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium),
+ 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_UIV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(9216))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UMV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UXV_UMV.get(1),
+ CustomItemList.eM_energyMulti4_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4))
+ .itemOutputs(CustomItemList.eM_energyMulti16_UMV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(9216))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UXV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_MAX_UXV.get(1),
+ CustomItemList.eM_energyMulti4_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2),
+ GTOreDictUnificator.get("plateShirabon", 2L))
+ .itemOutputs(CustomItemList.eM_energyMulti16_UXV.get(1))
+ .fluidInputs(Materials.Electrum.getMolten(9216))
+ .duration(10 * SECONDS)
+ .eut((int) TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Energy Hatches 64A
+ {
+ // Energy Hatch EV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_IV_EV.get(1),
+ CustomItemList.eM_energyMulti16_EV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Aluminium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Titanium, 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_EV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch IV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_LuV_IV.get(1),
+ CustomItemList.eM_energyMulti16_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Tungsten, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_IV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch LuV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_ZPM_LuV.get(1),
+ CustomItemList.eM_energyMulti16_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.VanadiumGallium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_LuV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch ZPM 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UV_ZPM.get(1),
+ CustomItemList.eM_energyMulti16_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Naquadah, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_ZPM.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UHV_UV.get(1),
+ CustomItemList.eM_energyMulti16_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.NaquadahAlloy, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_UV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(1152))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UHV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UEV_UHV.get(1),
+ CustomItemList.eM_energyMulti16_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.SuperconductorUHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_UHV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(2304))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UEV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UIV_UEV.get(1),
+ CustomItemList.eM_energyMulti16_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Draconium, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium),
+ 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_UEV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(4608))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UIV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UMV_UIV.get(1),
+ CustomItemList.eM_energyMulti16_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.NetherStar, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium),
+ 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_UIV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(9216))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UMV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_UXV_UMV.get(1),
+ CustomItemList.eM_energyMulti16_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.Quantium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6))
+ .itemOutputs(CustomItemList.eM_energyMulti64_UMV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(9216))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ // Energy Hatch UXV 64A
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_MAX_UXV.get(1),
+ CustomItemList.eM_energyMulti16_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt12, Materials.BlackPlutonium, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 3),
+ GTOreDictUnificator.get("plateShirabon", 3L))
+ .itemOutputs(CustomItemList.eM_energyMulti64_UXV.get(1))
+ .fluidInputs(Materials.Tungsten.getMolten(9216))
+ .duration(20 * SECONDS)
+ .eut((int) TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+
+ }
+ }
+
+ // Buck Converter IV-UIV
+ // Buck Converter IV
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_LuV_IV.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.IV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4),
+ new ItemStack(bw_realglas, 2, 2))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_IV.get(1))
+ .fluidInputs(Materials.TungstenSteel.getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Buck Converter LuV
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_ZPM_LuV.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 2),
+ GTOreDictUnificator.get(
+ OrePrefixes.plate,
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome),
+ 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.NiobiumTitanium, 4),
+ new ItemStack(bw_realglas, 2, 3))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_LuV.get(1))
+ .fluidInputs(new FluidStack(FluidRegistry.getFluid("molten.rhodium-plated palladium"), 288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Buck Converter ZPM
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UV_ZPM.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Iridium, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.TungstenSteel, 4),
+ new ItemStack(bw_realglas, 2, 4))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_ZPM.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Buck Converter UV
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_MAX_UV.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmium, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Naquadah, 4),
+ new ItemStack(bw_realglas, 2, 5))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_UV.get(1))
+ .fluidInputs(Materials.Osmium.getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Buck Converter UHV
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UEV_UHV.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UHV, 2),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.ElectrumFlux, 4),
+ new ItemStack(bw_realglas, 4, 5))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_UHV.get(1))
+ .fluidInputs(Materials.Neutronium.getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ // Buck Converter UEV
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UIV_UEV.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium), 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Bedrockium, 4),
+ new ItemStack(bw_realglas, 8, 5))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_UEV.get(1))
+ .fluidInputs(
+ BaseRecipeLoader.getOrDefault("Bedrockium", Materials.Neutronium)
+ .getMolten(288))
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ // Buck Converter UIV
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Transformer_UMV_UIV.get(1),
+ BaseRecipeLoader.getItemContainer("Display")
+ .get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium), 2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Draconium, 4),
+ new ItemStack(bw_realglas, 16, 5))
+ .itemOutputs(CustomItemList.Machine_BuckConverter_UIV.get(1))
+ .fluidInputs(
+ BaseRecipeLoader.getOrDefault("BlackPlutonium", Materials.Neutronium)
+ .getMolten(288))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+
+ // Laser Dynamo
+ {
+ // Laser Dynamo IV-UXV 256/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_IV.get(1),
+ ItemList.Electric_Pump_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_IV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_LuV.get(1),
+ ItemList.Electric_Pump_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_LuV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_ZPM.get(1),
+ ItemList.Electric_Pump_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_ZPM.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_UV.get(1),
+ ItemList.Electric_Pump_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_UV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_UHV.get(1),
+ ItemList.Electric_Pump_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_UHV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_UEV.get(1),
+ ItemList.Electric_Pump_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_UEV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_UIV.get(1),
+ ItemList.Electric_Pump_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.NetherStar, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_UIV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_UMV.get(1),
+ ItemList.Electric_Pump_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Quantium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_UMV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Emitter_UXV.get(1),
+ ItemList.Electric_Pump_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.BlackPlutonium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel1_UXV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Dynamo LuV-UXV 1024/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_LuV.get(2),
+ ItemList.Electric_Pump_LuV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_LuV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_ZPM.get(2),
+ ItemList.Electric_Pump_ZPM.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_ZPM.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_UV.get(2),
+ ItemList.Electric_Pump_UV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_UV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_UHV.get(2),
+ ItemList.Electric_Pump_UHV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_UHV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_UEV.get(2),
+ ItemList.Electric_Pump_UEV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_UEV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_UIV.get(2),
+ ItemList.Electric_Pump_UIV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.NetherStar, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_UIV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_UMV.get(2),
+ ItemList.Electric_Pump_UMV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Quantium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_UMV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Emitter_UXV.get(2),
+ ItemList.Electric_Pump_UXV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.BlackPlutonium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel2_UXV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Dynamo ZPM-UXV 4096/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_ZPM.get(4),
+ ItemList.Electric_Pump_ZPM.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_ZPM.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UV.get(4),
+ ItemList.Electric_Pump_UV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_UV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UHV.get(4),
+ ItemList.Electric_Pump_UHV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_UHV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UEV.get(4),
+ ItemList.Electric_Pump_UEV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_UEV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UIV.get(4),
+ ItemList.Electric_Pump_UIV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_UIV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UMV.get(4),
+ ItemList.Electric_Pump_UMV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_UMV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UXV.get(4),
+ ItemList.Electric_Pump_UXV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel3_UXV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Dynamo UV-UXV 16384/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Emitter_UV.get(8),
+ ItemList.Electric_Pump_UV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel4_UV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Emitter_UHV.get(8),
+ ItemList.Electric_Pump_UHV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel4_UHV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Emitter_UEV.get(8),
+ ItemList.Electric_Pump_UEV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel4_UEV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Emitter_UIV.get(8),
+ ItemList.Electric_Pump_UIV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel4_UIV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UMV.get(8),
+ ItemList.Electric_Pump_UMV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel4_UMV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Emitter_UXV.get(8),
+ ItemList.Electric_Pump_UXV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel4_UXV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Dynamo UHV-UXV 65536/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Emitter_UHV.get(16),
+ ItemList.Electric_Pump_UHV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel5_UHV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Emitter_UEV.get(16),
+ ItemList.Electric_Pump_UEV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel5_UEV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Emitter_UIV.get(16),
+ ItemList.Electric_Pump_UIV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel5_UIV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Emitter_UMV.get(16),
+ ItemList.Electric_Pump_UMV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel5_UMV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Emitter_UXV.get(16),
+ ItemList.Electric_Pump_UXV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel5_UXV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Dynamo UEV-UXV 262144/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Emitter_UEV.get(32),
+ ItemList.Electric_Pump_UEV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel6_UEV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Emitter_UIV.get(32),
+ ItemList.Electric_Pump_UIV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel6_UIV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Emitter_UMV.get(32),
+ ItemList.Electric_Pump_UMV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel6_UMV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Emitter_UXV.get(32),
+ ItemList.Electric_Pump_UXV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel6_UXV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Dynamo UIV-UXV 1048576/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ ItemList.Emitter_UIV.get(64),
+ ItemList.Electric_Pump_UIV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.NetherStar, 16),
+ GTUtility.getIntegratedCircuit(7))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel7_UIV.get(1))
+ .duration(53 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ ItemList.Emitter_UMV.get(64),
+ ItemList.Electric_Pump_UMV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 16),
+ GTUtility.getIntegratedCircuit(7))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel7_UMV.get(1))
+ .duration(53 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ ItemList.Emitter_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 16),
+ GTUtility.getIntegratedCircuit(7))
+ .itemOutputs(CustomItemList.eM_dynamoTunnel7_UXV.get(1))
+ .duration(53 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+ }
+
+ // Laser Target
+ {
+ // Laser Target IV-UXV 256/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_IV.get(1),
+ ItemList.Electric_Pump_IV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.TungstenSteel, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_IV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_LuV.get(1),
+ ItemList.Electric_Pump_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.VanadiumGallium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_LuV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_ZPM.get(1),
+ ItemList.Electric_Pump_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Naquadah, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_ZPM.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UV.get(1),
+ ItemList.Electric_Pump_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.NaquadahAlloy, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_UV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UHV.get(1),
+ ItemList.Electric_Pump_UHV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Bedrockium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_UHV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UEV.get(1),
+ ItemList.Electric_Pump_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Draconium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_UEV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UIV.get(1),
+ ItemList.Electric_Pump_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.NetherStar, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_UIV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UMV.get(1),
+ ItemList.Electric_Pump_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.Quantium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_UMV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UXV.get(1),
+ ItemList.Electric_Pump_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.BlackPlutonium, 2),
+ GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.eM_energyTunnel1_UXV.get(1))
+ .duration(50 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Target LuV-UXV 1024/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_LuV.get(2),
+ ItemList.Electric_Pump_LuV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.VanadiumGallium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_LuV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_ZPM.get(2),
+ ItemList.Electric_Pump_ZPM.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Naquadah, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_ZPM.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_UV.get(2),
+ ItemList.Electric_Pump_UV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.NaquadahAlloy, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_UV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_UHV.get(2),
+ ItemList.Electric_Pump_UHV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Bedrockium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_UHV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_UEV.get(2),
+ ItemList.Electric_Pump_UEV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Draconium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_UEV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_UIV.get(2),
+ ItemList.Electric_Pump_UIV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.NetherStar, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_UIV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_UMV.get(2),
+ ItemList.Electric_Pump_UMV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Quantium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_UMV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 2),
+ ItemList.Sensor_UXV.get(2),
+ ItemList.Electric_Pump_UXV.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.BlackPlutonium, 4),
+ GTUtility.getIntegratedCircuit(2))
+ .itemOutputs(CustomItemList.eM_energyTunnel2_UXV.get(1))
+ .duration(1 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Target ZPM-UXV 4096/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Sensor_ZPM.get(4),
+ ItemList.Electric_Pump_ZPM.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Naquadah, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_ZPM.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Sensor_UV.get(4),
+ ItemList.Electric_Pump_UV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_UV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Sensor_UHV.get(4),
+ ItemList.Electric_Pump_UHV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_UHV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Sensor_UEV.get(4),
+ ItemList.Electric_Pump_UEV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_UEV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 4),
+ ItemList.Sensor_UIV.get(4),
+ ItemList.Electric_Pump_UIV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_UIV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UMV.get(4),
+ ItemList.Electric_Pump_UMV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_UMV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 1),
+ ItemList.Sensor_UXV.get(4),
+ ItemList.Electric_Pump_UXV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 4),
+ GTUtility.getIntegratedCircuit(3))
+ .itemOutputs(CustomItemList.eM_energyTunnel3_UXV.get(1))
+ .duration(3 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Target UV-UXV 16384/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Sensor_UV.get(8),
+ ItemList.Electric_Pump_UV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NaquadahAlloy, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_energyTunnel4_UV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Sensor_UHV.get(8),
+ ItemList.Electric_Pump_UHV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Bedrockium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_energyTunnel4_UHV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Sensor_UEV.get(8),
+ ItemList.Electric_Pump_UEV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Draconium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_energyTunnel4_UEV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Sensor_UIV.get(8),
+ ItemList.Electric_Pump_UIV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.NetherStar, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_energyTunnel4_UIV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Sensor_UMV.get(8),
+ ItemList.Electric_Pump_UMV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Quantium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_energyTunnel4_UMV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 8),
+ ItemList.Sensor_UXV.get(8),
+ ItemList.Electric_Pump_UXV.get(8),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.BlackPlutonium, 8),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.eM_energyTunnel4_UXV.get(1))
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Target UHV-UXV 65536/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_MAX.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Sensor_UHV.get(16),
+ ItemList.Electric_Pump_UHV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Bedrockium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_energyTunnel5_UHV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UHV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Sensor_UEV.get(16),
+ ItemList.Electric_Pump_UEV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_energyTunnel5_UEV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Sensor_UIV.get(16),
+ ItemList.Electric_Pump_UIV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_energyTunnel5_UIV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Sensor_UMV.get(16),
+ ItemList.Electric_Pump_UMV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_energyTunnel5_UMV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 16),
+ ItemList.Sensor_UXV.get(16),
+ ItemList.Electric_Pump_UXV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 8),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.eM_energyTunnel5_UXV.get(1))
+ .duration(13 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Target UEV-UXV 262144/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UEV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Sensor_UEV.get(32),
+ ItemList.Electric_Pump_UEV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Draconium, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_energyTunnel6_UEV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UEV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Sensor_UIV.get(32),
+ ItemList.Electric_Pump_UIV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.NetherStar, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_energyTunnel6_UIV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Sensor_UMV.get(32),
+ ItemList.Electric_Pump_UMV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.Quantium, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_energyTunnel6_UMV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 32),
+ ItemList.Sensor_UXV.get(32),
+ ItemList.Electric_Pump_UXV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.BlackPlutonium, 16),
+ GTUtility.getIntegratedCircuit(6))
+ .itemOutputs(CustomItemList.eM_energyTunnel6_UXV.get(1))
+ .duration(26 * MINUTES + 40 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Laser Target UIV-UXV 1048576/t
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ ItemList.Sensor_UIV.get(64),
+ ItemList.Electric_Pump_UIV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.NetherStar, 16),
+ GTUtility.getIntegratedCircuit(7))
+ .itemOutputs(CustomItemList.eM_energyTunnel7_UIV.get(1))
+ .duration(53 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ ItemList.Sensor_UMV.get(64),
+ ItemList.Electric_Pump_UMV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 16),
+ GTUtility.getIntegratedCircuit(7))
+ .itemOutputs(CustomItemList.eM_energyTunnel7_UMV.get(1))
+ .duration(53 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hull_UXV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ ItemList.Sensor_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 16),
+ GTUtility.getIntegratedCircuit(7))
+ .itemOutputs(CustomItemList.eM_energyTunnel7_UXV.get(1))
+ .duration(53 * MINUTES + 20 * SECONDS)
+ .eut(TierEU.RECIPE_UXV)
+ .addTo(assemblerRecipes);
+
+ }
+ }
+
+ // Tesla Capacitor
+ {
+ // LV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tin, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 8))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 0))
+ .fluidInputs(Materials.Epoxid.getMolten(72))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // MV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Copper, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 12),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 12))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 1))
+ .fluidInputs(Materials.Epoxid.getMolten(144))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // HV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Gold, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 16),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 16))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 2))
+ .fluidInputs(Materials.Epoxid.getMolten(216))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // EV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Aluminium, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 20),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 20))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 3))
+ .fluidInputs(Materials.Epoxid.getMolten(288))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // IV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Tungsten, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 24),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 24))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 4))
+ .fluidInputs(Materials.Epoxid.getMolten(360))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // LuV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.HSSG, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 28),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 28))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 5))
+ .fluidInputs(Materials.Epoxid.getMolten(432))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // ZPM Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.cableGt01, Materials.Naquadah, 4),
+ GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 32),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silicone, 32))
+ .itemOutputs(CustomItemList.teslaCapacitor.getWithDamage(1, 6))
+ .fluidInputs(Materials.Epoxid.getMolten(504))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+
+ }
+
+ // Tesla Cover
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(4, 0),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8))
+ .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 0))
+ .fluidInputs(Materials.Lead.getMolten(288))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(4, 0),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8))
+ .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 0))
+ .fluidInputs(Materials.Tin.getMolten(144))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(4, 0),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Gold, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8))
+ .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 0))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(72))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Ultimate Tesla Cover
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(4, 1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8))
+ .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 1))
+ .fluidInputs(Materials.Lead.getMolten(288))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(4, 1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8))
+ .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 1))
+ .fluidInputs(Materials.Tin.getMolten(144))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.teslaComponent.getWithDamage(4, 1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tungsten, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Aluminium, 8))
+ .itemOutputs(CustomItemList.teslaCover.getWithDamage(1, 1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(72))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Ender Fluid Link Cover
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Enderium, 4),
+ ItemList.Sensor_LuV.get(1),
+ ItemList.Emitter_LuV.get(1),
+ ItemList.Electric_Pump_LuV.get(1))
+ .itemOutputs(CustomItemList.enderLinkFluidCover.getWithDamage(1, 0))
+ .fluidInputs(
+ BaseRecipeLoader.getOrDefault("Rhodium-PlatedPalladium", Materials.Chrome)
+ .getMolten(288))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Power Pass Upgrade Cover
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.Machine_Multi_Transformer.get(1), GTUtility.getIntegratedCircuit(1))
+ .itemOutputs(CustomItemList.powerPassUpgradeCover.getWithDamage(1, 0))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Tesla Winding Components
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 32),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8))
+ .itemOutputs(CustomItemList.teslaComponent.getWithDamage(1, 0))
+ .fluidInputs(Materials.Epoxid.getMolten(288))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // Tesla Winding Components Ultimate (ADD BLOOD VARIANT)
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 4),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.NickelZincFerrite, 8))
+ .itemOutputs(CustomItemList.teslaComponent.getWithDamage(1, 1))
+ .fluidInputs(Materials.Epoxid.getMolten(576))
+ .duration(16 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver LV 1A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_LV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_LV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_LV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver MV 1A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_MV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_MV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_MV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver HV 1A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_HV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_HV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_HV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver EV 1A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_EV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_EV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_EV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver IV 1A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_IV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_IV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_1by1_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_1by1_IV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver LV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_LV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_LV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_LV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver MV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_MV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_MV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_MV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver HV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_HV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_HV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_HV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver EV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_EV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_EV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_EV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver IV 4A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_IV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_IV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_2by2_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_2by2_IV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver LV 9A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_LV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_LV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_LV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver MV 9A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_MV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_MV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_MV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver HV 9A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_HV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_HV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_HV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver EV 9A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_EV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_EV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_EV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver IV 9A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_IV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_IV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_3by3_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_3by3_IV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver LV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_LV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_LV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_LV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_LV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver MV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_MV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_MV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_MV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_MV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_MV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver HV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_HV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_HV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_HV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_HV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver EV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_EV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_EV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_EV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_EV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_EV)
+ .addTo(assemblerRecipes);
+ // Tesla Transceiver IV 16A
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_IV.get(1))
+ .fluidInputs(Materials.Lead.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_IV.get(1))
+ .fluidInputs(Materials.Tin.getMolten(288))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(ItemList.Battery_Buffer_4by4_IV.get(1), CustomItemList.teslaCover.getWithDamage(1, 0))
+ .itemOutputs(CustomItemList.Machine_TeslaCoil_4by4_IV.get(1))
+ .fluidInputs(Materials.SolderingAlloy.getMolten(144))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_IV)
+ .addTo(assemblerRecipes);
+ // Tesla Tower
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTModHandler.getIC2Item("teslaCoil", 1),
+ CustomItemList.tM_TeslaSecondary.get(4),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 4),
+ ItemList.Upgrade_Overclocker.get(4))
+ .itemOutputs(CustomItemList.Machine_Multi_TeslaCoil.get(1))
+ .fluidInputs(Materials.Silver.getMolten(576))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Microwave Grinder
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Machine_HV_Microwave.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 4),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.HV, 4),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.AnnealedCopper, 16),
+ ItemList.Upgrade_Overclocker.get(4))
+ .itemOutputs(CustomItemList.Machine_Multi_Microwave.get(1))
+ .fluidInputs(Materials.Copper.getMolten(576))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ // Active Transformer
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.WetTransformer_ZPM_LuV.get(1),
+ BaseRecipeLoader.getItemContainer("HighEnergyFlowCircuit")
+ .get(1),
+ GTOreDictUnificator.get(
+ OrePrefixes.wireGt01,
+ BaseRecipeLoader.getOrDefault("SuperconductorLuV", Materials.SuperconductorUHV),
+ 16),
+ ItemList.valueOf("Circuit_Chip_UHPIC")
+ .get(2))
+ .itemOutputs(CustomItemList.Machine_Multi_Transformer.get(1))
+ .fluidInputs(Materials.TungstenSteel.getMolten(576))
+ .duration(20 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Network Switch
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 4),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 64),
+ CustomItemList.DATApipe.get(4))
+ .itemOutputs(CustomItemList.Machine_Multi_Switch.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(1296))
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+
+ }
+
+ public void cleanroomRecipes() {
+ // Data
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Circuit_Parts_GlassFiber.get(8),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Silver, 8))
+ .itemOutputs(CustomItemList.DATApipe.get(1))
+ .fluidInputs(Materials.Polytetrafluoroethylene.getMolten(144))
+ .requiresCleanRoom()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Data Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.DATApipe.get(1), ItemList.Casing_LuV.get(1))
+ .itemOutputs(CustomItemList.DATApipeBlock.get(1))
+ .requiresCleanRoom()
+ .duration(20 * TICKS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Laser
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.DATApipe.get(1),
+ GTModHandler.getIC2Item("reinforcedGlass", 1L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Osmiridium, 2))
+ .itemOutputs(CustomItemList.LASERpipe.get(1))
+ .requiresCleanRoom()
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_UV)
+ .addTo(assemblerRecipes);
+ // Laser Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.LASERpipe.get(1), ItemList.Casing_LuV.get(1))
+ .itemOutputs(CustomItemList.LASERpipeBlock.get(1))
+ .requiresCleanRoom()
+ .duration(20 * TICKS)
+ .eut(TierEU.RECIPE_LuV)
+ .addTo(assemblerRecipes);
+ // Advanced Computer Casing
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Computer_Casing.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 1),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Cobalt, 64),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Electrum, 64),
+ GTOreDictUnificator.get(
+ OrePrefixes.wireGt02,
+ BaseRecipeLoader.getOrDefault("SuperconductorLuV", Materials.SuperconductorUHV),
+ 4))
+ .itemOutputs(CustomItemList.eM_Computer_Bus.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(1296))
+ .requiresCleanRoom()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Data Input
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Computer_Casing.get(1),
+ ItemList.Hatch_Input_Bus_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 1),
+ CustomItemList.DATApipe.get(2))
+ .itemOutputs(CustomItemList.dataIn_Hatch.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(1296))
+ .requiresCleanRoom()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Data Output
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Computer_Casing.get(1),
+ ItemList.Hatch_Output_Bus_LuV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 1),
+ CustomItemList.DATApipe.get(2))
+ .itemOutputs(CustomItemList.dataOut_Hatch.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(1296))
+ .requiresCleanRoom()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Rack
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Computer_Bus.get(1),
+ ItemList.Hatch_Input_Bus_ZPM.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LuV, 2),
+ CustomItemList.DATApipe.get(4))
+ .itemOutputs(CustomItemList.rack_Hatch.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(1296))
+ .requiresCleanRoom()
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Uncertainty
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Computer_Casing.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.ZPM, 1),
+ CustomItemList.DATApipe.get(16),
+ ItemList.Cover_Screen.get(1),
+ new ItemStack(Blocks.stone_button, 16),
+ GTUtility.getIntegratedCircuit(4))
+ .itemOutputs(CustomItemList.Uncertainty_Hatch.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(2592))
+ .requiresCleanRoom()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Uncertainty X
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ CustomItemList.eM_Computer_Casing.get(1),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 1),
+ CustomItemList.DATApipe.get(32),
+ ItemList.Cover_Screen.get(1),
+ new ItemStack(Blocks.stone_button, 16),
+ GTUtility.getIntegratedCircuit(5))
+ .itemOutputs(CustomItemList.UncertaintyX_Hatch.get(1))
+ .fluidInputs(Materials.Iridium.getMolten(2592))
+ .requiresCleanRoom()
+ .duration(60 * SECONDS)
+ .eut(TierEU.RECIPE_ZPM)
+ .addTo(assemblerRecipes);
+ // Capacitor Hatch
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Input_Bus_HV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4))
+ .itemOutputs(CustomItemList.capacitor_Hatch.get(1))
+ .fluidInputs(Materials.Silver.getMolten(576))
+ .requiresCleanRoom()
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Hatch_Output_Bus_HV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.NickelZincFerrite, 4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Gold, 4))
+ .itemOutputs(CustomItemList.capacitor_Hatch.get(1))
+ .fluidInputs(Materials.Silver.getMolten(576))
+ .requiresCleanRoom()
+ .duration(40 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(assemblerRecipes);
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/AssemblyLine.java b/src/main/java/tectech/loader/recipe/AssemblyLine.java
new file mode 100644
index 0000000000..ec619df163
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/AssemblyLine.java
@@ -0,0 +1,169 @@
+package tectech.loader.recipe;
+
+import static gregtech.api.util.GTRecipeBuilder.HOURS;
+import static gregtech.api.util.GTRecipeBuilder.MINUTES;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+import static gregtech.api.util.GTRecipeConstants.AssemblyLine;
+import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM;
+import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GTOreDictUnificator;
+import tectech.thing.CustomItemList;
+
+public class AssemblyLine implements Runnable {
+
+ @Override
+ public void run() {
+ // Data Bank
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.Hatch_DataAccess_EV.get(1))
+ .metadata(RESEARCH_TIME, 16 * MINUTES + 20 * SECONDS)
+ .itemInputs(
+ CustomItemList.Machine_Multi_Switch.get(1),
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 2 },
+ ItemList.Tool_DataOrb.get(1),
+ ItemList.Cover_Screen.get(1))
+ .fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000), Materials.Hydrogen.getGas(1000))
+ .itemOutputs(CustomItemList.Machine_Multi_DataBank.get(1))
+ .eut(14_000)
+ .duration(10 * MINUTES)
+ .addTo(AssemblyLine);
+
+ // Hollow Casing
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, CustomItemList.eM_Containment.get(1))
+ .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS)
+ .itemInputs(
+ CustomItemList.eM_Containment.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Europium, 2),
+ GTOreDictUnificator.get(OrePrefixes.plateQuadruple, Materials.Plutonium, 4),
+ GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Lead, 8),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Uranium, 16),
+ GTOreDictUnificator
+ .get(OrePrefixes.screw, BaseRecipeLoader.getOrDefault("Quantium", Materials.Europium), 16))
+ .fluidInputs(
+ BaseRecipeLoader.getOrDefault("Trinium", Materials.Osmium)
+ .getMolten(1296),
+ Materials.Osmium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Argon.getGas(1000))
+ .itemOutputs(CustomItemList.eM_Hollow.get(2))
+ .eut(200_000)
+ .duration(10 * SECONDS)
+ .addTo(AssemblyLine);
+
+ // EM Coil
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, CustomItemList.eM_Hollow.get(1))
+ .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS)
+ .itemInputs(
+ CustomItemList.eM_Hollow.get(1),
+ ItemList.Casing_Fusion_Coil.get(2),
+ ItemList.Casing_Coil_NaquadahAlloy.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Europium, 64),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Europium, 64))
+ .fluidInputs(
+ Materials.Glass.getMolten(2304),
+ Materials.Silicone.getMolten(1872),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ BaseRecipeLoader.getOrDefault("Trinium", Materials.Osmium)
+ .getMolten(1296))
+ .itemOutputs(CustomItemList.eM_Coil.get(4))
+ .eut(200_000)
+ .duration(40 * SECONDS)
+ .addTo(AssemblyLine);
+
+ // Object Holder
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.Hatch_Input_Bus_ZPM.get(1))
+ .metadata(RESEARCH_TIME, 8 * MINUTES + 20 * SECONDS)
+ .itemInputs(
+ ItemList.Hatch_Input_Bus_ZPM.get(1),
+ CustomItemList.eM_Computer_Bus.get(1),
+ ItemList.Emitter_ZPM.get(8),
+ ItemList.Robot_Arm_ZPM.get(1),
+ ItemList.Electric_Motor_ZPM.get(2),
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 1 },
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 2) },
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 16) },
+ CustomItemList.DATApipe.get(2))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(500),
+ Materials.Iridium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 1000))
+ .itemOutputs(CustomItemList.holder_Hatch.get(1))
+ .eut(100_000)
+ .duration(10 * MINUTES)
+ .addTo(AssemblyLine);
+
+ // Quantum Computer
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.Tool_DataOrb.get(1))
+ .metadata(RESEARCH_TIME, 16 * MINUTES + 40 * SECONDS)
+ .itemInputs(
+ CustomItemList.Machine_Multi_Switch.get(1),
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 2 },
+ ItemList.Tool_DataOrb.get(1),
+ ItemList.Cover_Screen.get(1),
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUV, 8) },
+ CustomItemList.DATApipe.get(8))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(1000),
+ Materials.Iridium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Hydrogen.getGas(1000))
+ .itemOutputs(CustomItemList.Machine_Multi_Computer.get(1))
+ .eut(100_000)
+ .duration(10 * MINUTES)
+ .addTo(AssemblyLine);
+
+ // Research Station
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, ItemList.ScannerZPM.get(1))
+ .metadata(RESEARCH_TIME, 1 * HOURS + 6 * MINUTES + 40 * SECONDS)
+ .itemInputs(
+ CustomItemList.Machine_Multi_Switch.get(1),
+ ItemList.Sensor_ZPM.get(8),
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 4 },
+ ItemList.Field_Generator_ZPM.get(1),
+ ItemList.Electric_Motor_ZPM.get(2),
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.cableGt02, Materials.Naquadah, 4) },
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Naquadah, 32) },
+ CustomItemList.DATApipe.get(16))
+ .fluidInputs(
+ Materials.UUMatter.getFluid(1000),
+ Materials.Iridium.getMolten(1296),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000),
+ Materials.Osmium.getMolten(1296))
+ .itemOutputs(CustomItemList.Machine_Multi_Research.get(1))
+ .eut(100_000)
+ .duration(10 * MINUTES)
+ .addTo(AssemblyLine);
+
+ // Multi Infuser
+ GTValues.RA.stdBuilder()
+ .metadata(RESEARCH_ITEM, CustomItemList.Machine_Multi_Transformer.get(1))
+ .metadata(RESEARCH_TIME, 6 * MINUTES + 15 * SECONDS)
+ .itemInputs(
+ CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Coil.get(8),
+ CustomItemList.eM_Power.get(8),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.NeodymiumMagnetic, 16))
+ .fluidInputs(
+ Materials.Electrum.getMolten(2592),
+ Materials.Europium.getMolten(1872),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 2000))
+ .itemOutputs(CustomItemList.Machine_Multi_Infuser.get(1))
+ .eut(200_000)
+ .duration(6 * MINUTES + 40 * SECONDS)
+ .addTo(AssemblyLine);
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java b/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java
new file mode 100644
index 0000000000..91e8f01ae6
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java
@@ -0,0 +1,49 @@
+package tectech.loader.recipe;
+
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+
+import gregtech.api.enums.Materials;
+import gregtech.api.interfaces.IItemContainer;
+import tectech.TecTech;
+
+/**
+ * Created by danie_000 on 16.11.2016.
+ */
+public class BaseRecipeLoader {
+
+ @SuppressWarnings("rawtypes")
+ private static Class CUSTOM_ITEM_LIST;
+
+ static {
+ try {
+ CUSTOM_ITEM_LIST = Class.forName("com.dreammaster.gthandler.CustomItemList");
+ } catch (Exception e) {
+ TecTech.LOGGER.error("NHCoreMod not present. Disabling all the recipes");
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ public static IItemContainer getItemContainer(String name) {
+ // must never be called before the try catch block is ran
+ return (IItemContainer) Enum.valueOf(CUSTOM_ITEM_LIST, name);
+ }
+
+ public static Materials getOrDefault(String name, Materials def) {
+ Materials mat = Materials.get(name);
+ return mat == Materials._NULL || mat == null ? def : mat;
+ }
+
+ public void run() {
+ // todo: Move those recipes in NHCore
+ if (NewHorizonsCoreMod.isModLoaded()) {
+ new Assembler().run();
+ new AssemblyLine().run();
+ new CircuitAssembler().run();
+ new Crafting().run();
+ new Extractor().run();
+ new ResearchStationAssemblyLine().run();
+ } else {
+ new Godforge().run();
+ }
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/CircuitAssembler.java b/src/main/java/tectech/loader/recipe/CircuitAssembler.java
new file mode 100644
index 0000000000..2f1ddb59c1
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/CircuitAssembler.java
@@ -0,0 +1,54 @@
+package tectech.loader.recipe;
+
+import static gregtech.api.recipe.RecipeMaps.circuitAssemblerRecipes;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GTOreDictUnificator;
+import tectech.thing.CustomItemList;
+
+public class CircuitAssembler implements Runnable {
+
+ @Override
+ public void run() {
+ Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ // Optical Processor
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Optically_Perfected_CPU.get(1L),
+ ItemList.Optically_Compatible_Memory.get(2L),
+ ItemList.Circuit_Parts_CapacitorXSMD.get(16L),
+ ItemList.Circuit_Parts_DiodeXSMD.get(16L),
+ CustomItemList.DATApipe.get(4L),
+ GTOreDictUnificator.get(OrePrefixes.bolt, Materials.EnrichedHolmium, 16))
+ .itemOutputs(ItemList.Circuit_OpticalProcessor.get(1L))
+ .fluidInputs(new FluidStack(solderUEV, 288))
+ .requiresCleanRoom()
+ .duration(20 * SECONDS)
+ .eut(614400)
+ .addTo(circuitAssemblerRecipes);
+
+ // Parametrizer Memory Card
+ GTValues.RA.stdBuilder()
+ .itemInputs(
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.LV, 2),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Gold, 4))
+ .itemOutputs(CustomItemList.parametrizerMemory.get(1))
+ .fluidInputs(Materials.Plastic.getMolten(72))
+ .requiresCleanRoom()
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_HV)
+ .addTo(circuitAssemblerRecipes);
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/Crafting.java b/src/main/java/tectech/loader/recipe/Crafting.java
new file mode 100644
index 0000000000..03f891b235
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/Crafting.java
@@ -0,0 +1,57 @@
+package tectech.loader.recipe;
+
+import net.minecraft.item.ItemStack;
+
+import com.gtnewhorizon.structurelib.StructureLibAPI;
+
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GTModHandler;
+import tectech.thing.CustomItemList;
+import tectech.thing.item.ItemEuMeterGT;
+
+public class Crafting implements Runnable {
+
+ @Override
+ public void run() {
+
+ // Front Rotation Tool
+ GTModHandler.addCraftingRecipe(
+ GTModHandler.getModItem(StructureLibAPI.MOD_ID, "item.structurelib.frontRotationTool", 1L, 0),
+ GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "fPR", " RP", "S h", 'P', OrePrefixes.plate.get(Materials.Cobalt), 'R',
+ OrePrefixes.stick.get(Materials.Cobalt), 'S', OrePrefixes.stick.get(Materials.Wood), });
+
+ // GT EU reader
+ GTModHandler.addCraftingRecipe(
+ new ItemStack(ItemEuMeterGT.INSTANCE, 1),
+ GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "PGW", "SCW", "BRN", 'P', OrePrefixes.plateDouble.get(Materials.Steel), 'G',
+ OrePrefixes.plate.get(Materials.Glass), 'W', OrePrefixes.cableGt01.get(Materials.Copper), 'S',
+ OrePrefixes.stick.get(Materials.Brass), 'C', ItemList.Casing_Coil_Cupronickel.get(1), 'B', Dyes.dyeBlue,
+ 'R', Dyes.dyeRed, 'N', Dyes.dyeBlack, });
+
+ // Owner detector
+ GTModHandler.addCraftingRecipe(
+ CustomItemList.Machine_OwnerDetector.get(1),
+ GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "PPP", "GEG", "PPP", 'P', OrePrefixes.plate.get(Materials.IronMagnetic), 'G',
+ OrePrefixes.plate.get(Materials.Glass), 'E', OrePrefixes.gem.get(Materials.EnderPearl) });
+
+ // Tesla Base
+ GTModHandler.addCraftingRecipe(
+ CustomItemList.tM_TeslaBase.get(1),
+ GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "PhP", "PFP", "PwP", 'P', OrePrefixes.plate.get(Materials.NickelZincFerrite), 'F',
+ OrePrefixes.frameGt.get(Materials.NickelZincFerrite) });
+
+ // Tesla Toroid
+ GTModHandler.addCraftingRecipe(
+ CustomItemList.tM_TeslaToroid.get(1),
+ GTModHandler.RecipeBits.BUFFERED | GTModHandler.RecipeBits.NOT_REMOVABLE,
+ new Object[] { "PhP", "PFP", "PwP", 'P', OrePrefixes.foil.get(Materials.Aluminium), 'F',
+ OrePrefixes.frameGt.get(Materials.Aluminium) });
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/Extractor.java b/src/main/java/tectech/loader/recipe/Extractor.java
new file mode 100644
index 0000000000..690cf4585f
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/Extractor.java
@@ -0,0 +1,67 @@
+package tectech.loader.recipe;
+
+import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GTOreDictUnificator;
+import tectech.thing.CustomItemList;
+
+public class Extractor implements Runnable {
+
+ @Override
+ public void run() {
+ // LV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 0))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 4))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ // MV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 1))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 6))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ // HV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 2))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 8))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ // EV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 3))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 10))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ // IV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 4))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 12))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ // LuV Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 5))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 14))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+ // ZPM Tesla Capacitor
+ GTValues.RA.stdBuilder()
+ .itemInputs(CustomItemList.teslaCapacitor.getWithDamage(1, 6))
+ .itemOutputs(GTOreDictUnificator.get(OrePrefixes.itemCasing, Materials.BatteryAlloy, 16))
+ .duration(15 * SECONDS)
+ .eut(2)
+ .addTo(extractorRecipes);
+
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/Godforge.java b/src/main/java/tectech/loader/recipe/Godforge.java
new file mode 100644
index 0000000000..20db967ec4
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/Godforge.java
@@ -0,0 +1,675 @@
+package tectech.loader.recipe;
+
+import static gregtech.api.enums.Mods.EternalSingularity;
+import static gregtech.api.enums.Mods.GalaxySpace;
+import static gregtech.api.util.GTModHandler.getModItem;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+import static gregtech.api.util.GTRecipeBuilder.TICKS;
+import static gregtech.api.util.GTRecipeConstants.FOG_EXOTIC_TIER;
+import static gregtech.api.util.GTRecipeConstants.FOG_PLASMA_TIER;
+import static tectech.recipe.TecTechRecipeMaps.godforgeExoticMatterRecipes;
+import static tectech.recipe.TecTechRecipeMaps.godforgePlasmaRecipes;
+import static tectech.util.GodforgeMath.getRandomIntInRange;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import goodgenerator.items.GGMaterial;
+import goodgenerator.util.ItemRefer;
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.MaterialsUEVplus;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GTOreDictUnificator;
+import gregtech.api.util.GTUtility;
+import gtPlusPlus.core.material.MaterialsAlloy;
+import gtPlusPlus.core.material.MaterialsElements;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import tectech.thing.CustomItemList;
+
+public class Godforge implements Runnable {
+
+ public static final ArrayList<Materials> plasmaGTMaterialList = new ArrayList<>();
+ public static final ArrayList<Integer> plasmaGTWeightList = new ArrayList<>();
+ public static final HashMap<ItemStack, Integer> exoticModulePlasmaItemMap = new HashMap<>();
+ public static final HashMap<FluidStack, Integer> exoticModulePlasmaFluidMap = new HashMap<>();
+ public static final HashMap<ItemStack, Integer> exoticModuleMagmatterItemMap = new HashMap<>();
+ public static final HashMap<Integer, ItemStack[]> godforgeUpgradeMats = new HashMap<>();
+ public static final List<ItemStack> quarkGluonFluidItemsForNEI = new ArrayList<>();
+ public static final List<ItemStack> quarkGluonItemsForNEI = new ArrayList<>();
+ public static final List<ItemStack> magmatterTimeFluidItemsForNEI = new ArrayList<>();
+ public static final List<ItemStack> magmatterSpaceFluidItemsForNEI = new ArrayList<>();
+ public static final List<ItemStack> magmatterItemsForNEI = new ArrayList<>();
+
+ @Override
+ public void run() {
+ if (!tectech.TecTech.configTecTech.ENABLE_GOD_FORGE) return;
+ // Solid to plasma recipes
+ {
+ // Fusion tier 1-3
+ {
+ // Single step
+ ItemStack[] solids_t0_1step = { Materials.Aluminium.getDust(1), Materials.Iron.getDust(1),
+ Materials.Calcium.getDust(1), Materials.Sulfur.getDust(1), Materials.Zinc.getDust(1),
+ Materials.Niobium.getDust(1), Materials.Tin.getDust(1), Materials.Titanium.getDust(1),
+ Materials.Nickel.getDust(1), Materials.Silver.getDust(1), Materials.Americium.getDust(1),
+ Materials.Antimony.getDust(1), Materials.Ardite.getDust(1), Materials.Arsenic.getDust(1),
+ Materials.Barium.getDust(1), Materials.Beryllium.getDust(1), Materials.Caesium.getDust(1),
+ Materials.Cadmium.getDust(1), Materials.Carbon.getDust(1), Materials.Cerium.getDust(1),
+ Materials.Cobalt.getDust(1), Materials.Copper.getDust(1), Materials.Desh.getDust(1),
+ Materials.Dysprosium.getDust(1), Materials.Erbium.getDust(1), Materials.Europium.getDust(1),
+ Materials.Gadolinium.getDust(1), Materials.Gallium.getDust(1), Materials.Gold.getDust(1),
+ Materials.Holmium.getDust(1), Materials.Indium.getDust(1), Materials.Lanthanum.getDust(1),
+ Materials.Lithium.getDust(1), Materials.Lutetium.getDust(1), Materials.Magnesium.getDust(1),
+ Materials.Manganese.getDust(1), Materials.MeteoricIron.getDust(1), Materials.Molybdenum.getDust(1),
+ Materials.Neodymium.getDust(1), Materials.Oriharukon.getDust(1), Materials.Palladium.getDust(1),
+ Materials.Phosphorus.getDust(1), Materials.Potassium.getDust(1), Materials.Praseodymium.getDust(1),
+ Materials.Promethium.getDust(1), Materials.Rubidium.getDust(1), Materials.Samarium.getDust(1),
+ Materials.Silicon.getDust(1), Materials.Sodium.getDust(1), Materials.Strontium.getDust(1),
+ Materials.Tantalum.getDust(1), Materials.Tellurium.getDust(1), Materials.Terbium.getDust(1),
+ Materials.Thulium.getDust(1), Materials.Tungsten.getDust(1), Materials.Uranium.getDust(1),
+ Materials.Uranium235.getDust(1), Materials.Vanadium.getDust(1), Materials.Ytterbium.getDust(1),
+ Materials.Yttrium.getDust(1), MaterialsElements.getInstance().ZIRCONIUM.getDust(1),
+ MaterialsElements.getInstance().THORIUM232.getDust(1),
+ MaterialsElements.getInstance().GERMANIUM.getDust(1),
+ MaterialsElements.getInstance().THALLIUM.getDust(1),
+ MaterialsElements.getInstance().RUTHENIUM.getDust(1),
+ MaterialsElements.getInstance().RHENIUM.getDust(1),
+ MaterialsElements.getInstance().RHODIUM.getDust(1),
+ MaterialsElements.getInstance().IODINE.getDust(1),
+ MaterialsElements.getInstance().HAFNIUM.getDust(1),
+ MaterialsElements.getInstance().CURIUM.getDust(1) };
+ FluidStack[] solid_plasmas_t0_1step = { Materials.Aluminium.getPlasma(144),
+ Materials.Iron.getPlasma(144), Materials.Calcium.getPlasma(144), Materials.Sulfur.getPlasma(144),
+ Materials.Zinc.getPlasma(144), Materials.Niobium.getPlasma(144), Materials.Tin.getPlasma(144),
+ Materials.Titanium.getPlasma(144), Materials.Nickel.getPlasma(144), Materials.Silver.getPlasma(144),
+ Materials.Americium.getPlasma(144), Materials.Antimony.getPlasma(144),
+ Materials.Ardite.getPlasma(144), Materials.Arsenic.getPlasma(144), Materials.Barium.getPlasma(144),
+ Materials.Beryllium.getPlasma(144), Materials.Caesium.getPlasma(144),
+ Materials.Cadmium.getPlasma(144), Materials.Carbon.getPlasma(144), Materials.Cerium.getPlasma(144),
+ Materials.Cobalt.getPlasma(144), Materials.Copper.getPlasma(144), Materials.Desh.getPlasma(144),
+ Materials.Dysprosium.getPlasma(144), Materials.Erbium.getPlasma(144),
+ Materials.Europium.getPlasma(144), Materials.Gadolinium.getPlasma(144),
+ Materials.Gallium.getPlasma(144), Materials.Gold.getPlasma(144), Materials.Holmium.getPlasma(144),
+ Materials.Indium.getPlasma(144), Materials.Lanthanum.getPlasma(144),
+ Materials.Lithium.getPlasma(144), Materials.Lutetium.getPlasma(144),
+ Materials.Magnesium.getPlasma(144), Materials.Manganese.getPlasma(144),
+ Materials.MeteoricIron.getPlasma(144), Materials.Molybdenum.getPlasma(144),
+ Materials.Neodymium.getPlasma(144), Materials.Oriharukon.getPlasma(144),
+ Materials.Palladium.getPlasma(144), Materials.Phosphorus.getPlasma(144),
+ Materials.Potassium.getPlasma(144), Materials.Praseodymium.getPlasma(144),
+ Materials.Promethium.getPlasma(144), Materials.Rubidium.getPlasma(144),
+ Materials.Samarium.getPlasma(144), Materials.Silicon.getPlasma(144),
+ Materials.Sodium.getPlasma(144), Materials.Strontium.getPlasma(144),
+ Materials.Tantalum.getPlasma(144), Materials.Tellurium.getPlasma(144),
+ Materials.Terbium.getPlasma(144), Materials.Thulium.getPlasma(144),
+ Materials.Tungsten.getPlasma(144), Materials.Uranium.getPlasma(144),
+ Materials.Uranium235.getPlasma(144), Materials.Vanadium.getPlasma(144),
+ Materials.Ytterbium.getPlasma(144), Materials.Yttrium.getPlasma(144),
+ new FluidStack(MaterialsElements.getInstance().ZIRCONIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().THORIUM232.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().GERMANIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().THALLIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().RUTHENIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().RHENIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().RHODIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().IODINE.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().HAFNIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().CURIUM.getPlasma(), 144) };
+
+ for (int i = 0; i < solids_t0_1step.length; i++) {
+ boolean multistep = false;
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t0_1step[i])
+ .fluidOutputs(solid_plasmas_t0_1step[i])
+ .duration(10 * TICKS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 0)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+
+ // Multi-step
+ ItemStack[] solids_t0_xstep = { Materials.Force.getDust(1), Materials.Bismuth.getDust(1),
+ MaterialsElements.STANDALONE.ADVANCED_NITINOL.getDust(1), Materials.Boron.getDust(1),
+ MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getDust(1),
+ MaterialsElements.STANDALONE.RUNITE.getDust(1),
+ MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1), Materials.Iridium.getDust(1),
+ Materials.Naquadah.getDust(1), Materials.Osmium.getDust(1), Materials.Platinum.getDust(1),
+ Materials.Plutonium.getDust(1), MaterialsElements.getInstance().CALIFORNIUM.getDust(1),
+ Materials.Chrome.getDust(1) };
+ FluidStack[] solid_plasmas_t0_xstep = {
+ new FluidStack(MaterialsElements.STANDALONE.FORCE.getPlasma(), 144),
+ Materials.Bismuth.getPlasma(144),
+ new FluidStack(MaterialsElements.STANDALONE.ADVANCED_NITINOL.getPlasma(), 144),
+ Materials.Boron.getPlasma(144),
+ new FluidStack(MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.STANDALONE.RUNITE.getPlasma(), 144),
+ new FluidStack(MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 144),
+ Materials.Iridium.getPlasma(144), Materials.Naquadah.getPlasma(144),
+ Materials.Osmium.getPlasma(144), Materials.Platinum.getPlasma(144),
+ Materials.Plutonium.getPlasma(144),
+ new FluidStack(MaterialsElements.getInstance().CALIFORNIUM.getPlasma(), 144),
+ Materials.Chrome.getPlasma(144), };
+
+ for (int i = 0; i < solids_t0_xstep.length; i++) {
+ boolean multistep = true;
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t0_xstep[i])
+ .fluidOutputs(solid_plasmas_t0_xstep[i])
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 0)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+ }
+ // Fusion tier 4-5
+ {
+ // Single step
+ ItemStack[] solids_t1_1step = { Materials.Lead.getDust(1), Materials.Plutonium241.getDust(1),
+ Materials.Thorium.getDust(1) };
+ FluidStack[] solid_plasmas_t1_1step = { Materials.Lead.getPlasma(144),
+ Materials.Plutonium241.getPlasma(144), Materials.Thorium.getPlasma(144) };
+
+ for (int i = 0; i < solids_t1_1step.length; i++) {
+ boolean multistep = false;
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t1_1step[i])
+ .fluidOutputs(solid_plasmas_t1_1step[i])
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 1)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+
+ // Multi-step
+ ItemStack[] solids_t1_xstep = { MaterialsElements.getInstance().NEPTUNIUM.getDust(1),
+ MaterialsElements.getInstance().FERMIUM.getDust(1) };
+ FluidStack[] solid_plasmas_t1_xstep = {
+ new FluidStack(MaterialsElements.getInstance().NEPTUNIUM.getPlasma(), 144),
+ new FluidStack(MaterialsElements.getInstance().FERMIUM.getPlasma(), 144) };
+
+ for (int i = 0; i < solids_t1_xstep.length; i++) {
+ boolean multistep = true;
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t1_xstep[i])
+ .fluidOutputs(solid_plasmas_t1_xstep[i])
+ .duration(7 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 1)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+ }
+ // Exotic Plasmas
+ {
+ // Single step
+ ItemStack[] solids_t2_1step = { MaterialsElements.STANDALONE.RHUGNOR.getDust(1),
+ MaterialsElements.STANDALONE.DRAGON_METAL.getDust(1),
+ MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getDust(1), Materials.CosmicNeutronium.getDust(1),
+ Materials.Draconium.getDust(1), Materials.DraconiumAwakened.getDust(1),
+ Materials.Ichorium.getDust(1) };
+ FluidStack[] solid_plasmas_t2_1step = {
+ new FluidStack(MaterialsElements.STANDALONE.RHUGNOR.getPlasma(), 144),
+ new FluidStack(MaterialsElements.STANDALONE.DRAGON_METAL.getPlasma(), 144),
+ new FluidStack(MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getPlasma(), 144),
+ Materials.CosmicNeutronium.getPlasma(144), Materials.Draconium.getPlasma(144),
+ Materials.DraconiumAwakened.getPlasma(144), Materials.Ichorium.getPlasma(144) };
+
+ for (int i = 0; i < solids_t2_1step.length; i++) {
+ boolean multistep = false;
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t2_1step[i])
+ .fluidOutputs(solid_plasmas_t2_1step[i])
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 2)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+
+ // Multi-step
+ ItemStack[] solids_t2_xstep = { MaterialsElements.STANDALONE.HYPOGEN.getDust(1),
+ Materials.Tritanium.getDust(1), Materials.Flerovium.getDust(1), Materials.Neutronium.getDust(1), };
+ FluidStack[] solid_plasmas_t2_xstep = {
+ new FluidStack(MaterialsElements.STANDALONE.HYPOGEN.getPlasma(), 144),
+ Materials.Tritanium.getPlasma(144), Materials.Flerovium.getPlasma(144),
+ Materials.Neutronium.getPlasma(144), };
+
+ for (int i = 0; i < solids_t2_xstep.length; i++) {
+ boolean multistep = true;
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t2_xstep[i])
+ .fluidOutputs(solid_plasmas_t2_xstep[i])
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 2)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+
+ }
+
+ }
+
+ // Fluid to plasma recipes
+ {
+ // Fusion tier 1-3
+ {
+ // Single step
+ FluidStack[] fluids_t0_1step = { Materials.Helium.getGas(500), Materials.Nitrogen.getGas(500),
+ Materials.Argon.getGas(500), Materials.Chlorine.getGas(500), Materials.Deuterium.getGas(500),
+ Materials.Fluorine.getGas(500), Materials.Hydrogen.getGas(500), Materials.Radon.getGas(500),
+ Materials.Tritium.getGas(500), Materials.Mercury.getFluid(500) };
+ FluidStack[] fluid_plasmas_t0_1step = { Materials.Helium.getPlasma(500),
+ Materials.Nitrogen.getPlasma(500), Materials.Argon.getPlasma(500),
+ Materials.Chlorine.getPlasma(500), Materials.Deuterium.getPlasma(500),
+ Materials.Fluorine.getPlasma(500), Materials.Hydrogen.getPlasma(500),
+ Materials.Radon.getPlasma(500), Materials.Tritium.getPlasma(500),
+ Materials.Mercury.getPlasma(500) };
+
+ for (int i = 0; i < fluids_t0_1step.length; i++) {
+ boolean multistep = false;
+ GTValues.RA.stdBuilder()
+ .fluidInputs(fluids_t0_1step[i])
+ .fluidOutputs(fluid_plasmas_t0_1step[i])
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 0)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+
+ // Multi-step
+ FluidStack[] fluids_t0_xstep = { MaterialsElements.getInstance().NEON.getFluidStack(500),
+ Materials.Oxygen.getGas(500), MaterialsElements.getInstance().KRYPTON.getFluidStack(500),
+ MaterialsElements.getInstance().XENON.getFluidStack(500) };
+ FluidStack[] fluid_plasmas_t0_xstep = {
+ new FluidStack(MaterialsElements.getInstance().NEON.getPlasma(), 500),
+ Materials.Oxygen.getPlasma(500),
+ new FluidStack(MaterialsElements.getInstance().KRYPTON.getPlasma(), 500),
+ new FluidStack(MaterialsElements.getInstance().XENON.getPlasma(), 500) };
+
+ for (int i = 0; i < fluids_t0_xstep.length; i++) {
+ boolean multistep = true;
+ GTValues.RA.stdBuilder()
+ .fluidInputs(fluids_t0_xstep[i])
+ .fluidOutputs(fluid_plasmas_t0_xstep[i])
+ .duration(3 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .special(multistep)
+ .metadata(FOG_PLASMA_TIER, 0)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+ }
+ }
+ // Fusion tier 4-5
+ {
+ // Single step
+ // None yet
+
+ // Multi-step
+ // None yet
+ }
+ // Exotic
+ {
+ // None yet
+ }
+ }
+
+ // Exotic module fake recipes
+ {
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.Iron.getDust(1))
+ .fluidInputs(Materials.Iron.getMolten(1))
+ .fluidOutputs(MaterialsUEVplus.QuarkGluonPlasma.getFluid(1000))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_EXOTIC_TIER, 1)
+ .ignoreCollision()
+ .fake()
+ .addTo(godforgeExoticMatterRecipes);
+
+ GTValues.RA.stdBuilder()
+ .itemInputs(Materials.Iron.getDust(1))
+ .fluidInputs(Materials.Iron.getMolten(1), Materials.Bismuth.getMolten(1))
+ .fluidOutputs(MaterialsUEVplus.MagMatter.getMolten(144))
+ .duration(10 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_EXOTIC_TIER, 1)
+ .ignoreCollision()
+ .fake()
+ .addTo(godforgeExoticMatterRecipes);
+ }
+
+ // Exotic module plasma material maps
+ // GT materials
+ plasmaGTMaterialList.addAll(
+ Arrays.asList(
+ Materials.Aluminium,
+ Materials.Americium,
+ Materials.Antimony,
+ Materials.Ardite,
+ Materials.Argon,
+ Materials.Arsenic,
+ Materials.Barium,
+ Materials.Beryllium,
+ Materials.Bismuth,
+ Materials.Boron,
+ Materials.Caesium,
+ Materials.Calcium,
+ Materials.Cadmium,
+ Materials.Carbon,
+ Materials.Cerium,
+ Materials.Chlorine,
+ Materials.Chrome,
+ Materials.Cobalt,
+ Materials.Copper,
+ Materials.Desh,
+ Materials.Deuterium,
+ Materials.Dysprosium,
+ Materials.Erbium,
+ Materials.Europium,
+ Materials.Fluorine,
+ Materials.Gadolinium,
+ Materials.Gallium,
+ Materials.Gold,
+ Materials.Helium,
+ Materials.Holmium,
+ Materials.Hydrogen,
+ Materials.Indium,
+ Materials.Iridium,
+ Materials.Iron,
+ Materials.Lanthanum,
+ Materials.Lead,
+ Materials.Lithium,
+ Materials.Lutetium,
+ Materials.Magnesium,
+ Materials.Manganese,
+ Materials.MeteoricIron,
+ Materials.Molybdenum,
+ Materials.Naquadah,
+ Materials.Neodymium,
+ Materials.Nickel,
+ Materials.Niobium,
+ Materials.Nitrogen,
+ Materials.Oriharukon,
+ Materials.Osmium,
+ Materials.Oxygen,
+ Materials.Palladium,
+ Materials.Phosphorus,
+ Materials.Platinum,
+ Materials.Plutonium,
+ Materials.Plutonium241,
+ Materials.Potassium,
+ Materials.Praseodymium,
+ Materials.Promethium,
+ Materials.Radon,
+ Materials.Rubidium,
+ Materials.Samarium,
+ Materials.Silicon,
+ Materials.Silver,
+ Materials.Sodium,
+ Materials.Strontium,
+ Materials.Sulfur,
+ Materials.Tantalum,
+ Materials.Tellurium,
+ Materials.Terbium,
+ Materials.Thorium,
+ Materials.Thulium,
+ Materials.Tin,
+ Materials.Titanium,
+ Materials.Tritium,
+ Materials.Tungsten,
+ Materials.Uranium235,
+ Materials.Uranium,
+ Materials.Vanadium,
+ Materials.Ytterbium,
+ Materials.Yttrium,
+ Materials.Zinc));
+
+ plasmaGTWeightList.addAll(
+ Arrays.asList(
+ 6000 /* Aluminium */,
+ 10000 /* Americium */,
+ 6000 /* Antimony */,
+ 6000 /* Ardite */,
+ 6000 /* Argon */,
+ 6000 /* Arsenic */,
+ 6000 /* Barium */,
+ 6000 /* Beryllium */,
+ 8000 /* Bismuth */,
+ 8000 /* Boron */,
+ 6000 /* Caesium */,
+ 10000 /* Calcium */,
+ 6000 /* Cadmium */,
+ 6000 /* Carbon */,
+ 6000 /* Cerium */,
+ 6000 /* Chlorine */,
+ 6000 /* Chrome */,
+ 6000 /* Cobalt */,
+ 6000 /* Copper */,
+ 6000 /* Desh */,
+ 6000 /* Deuterium */,
+ 2000 /* Dysprosium */,
+ 2000 /* Erbium */,
+ 6000 /* Europium */,
+ 6000 /* Fluorine */,
+ 2000 /* Gadolinium */,
+ 6000 /* Gallium */,
+ 6000 /* Gold */,
+ 10000 /* Helium */,
+ 6000 /* Holmium */,
+ 10000 /* Hydrogen */,
+ 6000 /* Indium */,
+ 6000 /* Iridium */,
+ 10000 /* Iron */,
+ 6000 /* Lanthanum */,
+ 500 /* Lead */,
+ 6000 /* Lithium */,
+ 6000 /* Lutetium */,
+ 6000 /* Magnesium */,
+ 6000 /* Manganese */,
+ 6000 /* Meteoric Iron */,
+ 6000 /* Molybdenum */,
+ 6000 /* Naquadah */,
+ 6000 /* Neodymium */,
+ 10000 /* Nickel */,
+ 10000 /* Niobium */,
+ 10000 /* Nitrogen */,
+ 6000 /* Oriharukon */,
+ 6000 /* Osmium */,
+ 8000 /* Oxygen */,
+ 6000 /* Palladium */,
+ 6000 /* Phosphorus */,
+ 6000 /* Platinum */,
+ 6000 /* Plutonium 239 */,
+ 500 /* Plutonium 241 */,
+ 6000 /* Potassium */,
+ 6000 /* Praseodymium */,
+ 2000 /* Promethium */,
+ 10000 /* Radon */,
+ 2000 /* Rubidium */,
+ 6000 /* Samarium */,
+ 6000 /* Raw Silicon */,
+ 10000 /* Silver */,
+ 6000 /* Sodium */,
+ 2000 /* Strontium */,
+ 10000 /* Sulfur */,
+ 6000 /* Tantalum */,
+ 2000 /* Tellurium */,
+ 1000 /* Terbium */,
+ 500 /* Thorium */,
+ 6000 /* Thulium */,
+ 10000 /* Tin */,
+ 10000 /* Titanium */,
+ 6000 /* Tritium */,
+ 6000 /* Tungsten */,
+ 6000 /* Uranium 235 */,
+ 6000 /* Uranium 238 */,
+ 6000 /* Vanadium */,
+ 2000 /* Ytterbium */,
+ 6000 /* Yttrium */,
+ 6000 /* Zinc */));
+
+ // GT++ materials
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().ZIRCONIUM.getTinyDust(1), 6000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().THORIUM232.getTinyDust(1), 6000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().GERMANIUM.getTinyDust(1), 2000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().THALLIUM.getTinyDust(1), 2000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().RUTHENIUM.getTinyDust(1), 6000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().RHENIUM.getTinyDust(1), 2000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().RHODIUM.getTinyDust(1), 6000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().IODINE.getTinyDust(1), 6000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getTinyDust(1), 8000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.STANDALONE.ADVANCED_NITINOL.getTinyDust(1), 8000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.STANDALONE.FORCE.getTinyDust(1), 8000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().HAFNIUM.getTinyDust(1), 6000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().CALIFORNIUM.getTinyDust(1), 1000);
+ exoticModulePlasmaItemMap.put(MaterialsElements.STANDALONE.RUNITE.getTinyDust(1), 8000);
+
+ exoticModulePlasmaFluidMap.put(new FluidStack(MaterialsElements.getInstance().XENON.getFluid(), 1), 8000);
+ exoticModulePlasmaFluidMap.put(new FluidStack(MaterialsElements.getInstance().KRYPTON.getFluid(), 1), 8000);
+ exoticModulePlasmaFluidMap.put(new FluidStack(MaterialsElements.getInstance().NEON.getFluid(), 1), 8000);
+ // These are here because they cant be solidified
+ exoticModulePlasmaFluidMap.put(new FluidStack(MaterialsElements.getInstance().CURIUM.getFluid(), 1), 10000);
+ exoticModulePlasmaFluidMap.put(new FluidStack(MaterialsElements.getInstance().NEPTUNIUM.getFluid(), 1), 800);
+ exoticModulePlasmaFluidMap.put(new FluidStack(MaterialsElements.getInstance().FERMIUM.getFluid(), 1), 800);
+ // Mercury is weird, it has neither dust nor gas, so it needs to be added separately
+ exoticModulePlasmaFluidMap.put(Materials.Mercury.getFluid(1), 6000);
+
+ // Loop for adding all GT plasma materials
+ for (int i = 0; i < plasmaGTMaterialList.size(); i++) {
+ if (plasmaGTMaterialList.get(i)
+ .getDustTiny(1) != null) {
+ exoticModulePlasmaItemMap.put(
+ plasmaGTMaterialList.get(i)
+ .getDustTiny(1),
+ plasmaGTWeightList.get(i));
+ } else {
+ exoticModulePlasmaFluidMap.put(
+ plasmaGTMaterialList.get(i)
+ .getGas(1),
+ plasmaGTWeightList.get(i));
+ }
+ }
+
+ // Magmatter map
+ // GT materials
+ exoticModuleMagmatterItemMap.put(Materials.CosmicNeutronium.getDustTiny(1), 100000);
+ exoticModuleMagmatterItemMap.put(Materials.Draconium.getDustTiny(1), 100000);
+ exoticModuleMagmatterItemMap.put(Materials.DraconiumAwakened.getDustTiny(1), 100000);
+ exoticModuleMagmatterItemMap.put(Materials.Ichorium.getDustTiny(1), 100000);
+ exoticModuleMagmatterItemMap.put(Materials.Neutronium.getDustTiny(1), 100000);
+ exoticModuleMagmatterItemMap.put(Materials.Flerovium.getDustTiny(1), 100000);
+
+ // GT++ materials
+ exoticModuleMagmatterItemMap.put(MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getTinyDust(1), 100000);
+ exoticModuleMagmatterItemMap.put(MaterialsElements.STANDALONE.HYPOGEN.getTinyDust(1), 100000);
+ exoticModuleMagmatterItemMap.put(MaterialsElements.STANDALONE.RHUGNOR.getTinyDust(1), 100000);
+ exoticModuleMagmatterItemMap.put(MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getTinyDust(1), 100000);
+ exoticModuleMagmatterItemMap.put(MaterialsElements.STANDALONE.DRAGON_METAL.getTinyDust(1), 100000);
+
+ // For NEI
+ for (FluidStack fluid : exoticModulePlasmaFluidMap.keySet()) {
+ fluid.amount = getRandomIntInRange(1, 64);
+ quarkGluonFluidItemsForNEI.add(GTUtility.getFluidDisplayStack(fluid, true));
+ }
+ for (ItemStack item : exoticModulePlasmaItemMap.keySet()) {
+ item.stackSize = getRandomIntInRange(1, 64);
+ quarkGluonItemsForNEI.add(item);
+ }
+ for (int i = 0; i < 21; i++) {
+ magmatterTimeFluidItemsForNEI
+ .add(GTUtility.getFluidDisplayStack(MaterialsUEVplus.Time.getMolten(getRandomIntInRange(1, 50)), true));
+ magmatterSpaceFluidItemsForNEI.add(
+ GTUtility.getFluidDisplayStack(MaterialsUEVplus.Space.getMolten(getRandomIntInRange(51, 100)), true));
+ }
+ magmatterItemsForNEI.addAll(exoticModuleMagmatterItemMap.keySet());
+
+ // Godforge upgrade materials
+ if (EternalSingularity.isModLoaded() && GalaxySpace.isModLoaded()) {
+ godforgeUpgradeMats.put(
+ 0,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUIVBase, 64),
+ ItemList.SuperconductorComposite.get(32),
+ GGMaterial.metastableOganesson.get(OrePrefixes.gearGt, 16),
+ getModItem(EternalSingularity.ID, "eternal_singularity", 8L), ItemList.Robot_Arm_UIV.get(64L),
+ ItemList.Field_Generator_UEV.get(64L) });
+
+ godforgeUpgradeMats.put(
+ 5,
+ new ItemStack[] { GregtechItemList.Mega_AlloyBlastSmelter.get(16L),
+ ItemList.Casing_Coil_Hypogen.get(64L),
+ CustomItemList.Godforge_HarmonicPhononTransmissionConduit.get(32L),
+ getModItem(EternalSingularity.ID, "eternal_singularity", 16L),
+ ItemRefer.Field_Restriction_Coil_T3.get(48), ItemList.Robot_Arm_UIV.get(64L),
+ ItemList.Field_Generator_UEV.get(64L) });
+
+ godforgeUpgradeMats.put(
+ 7,
+ new ItemStack[] { CustomItemList.Godforge_StellarEnergySiphonCasing.get(8),
+ GregtechItemList.FusionComputer_UV3.get(8), GregtechItemList.Casing_Fusion_Internal2.get(64),
+ getModItem(GalaxySpace.ID, "item.DysonSwarmParts", 64, 3), MaterialsAlloy.QUANTUM.getPlateDense(48),
+ MaterialsElements.STANDALONE.RHUGNOR.getGear(32),
+ getModItem(EternalSingularity.ID, "eternal_singularity", 16L), ItemList.Robot_Arm_UIV.get(64L),
+ ItemList.Field_Generator_UEV.get(64L) });
+
+ godforgeUpgradeMats.put(
+ 11,
+ new ItemStack[] { CustomItemList.Godforge_StellarEnergySiphonCasing.get(16),
+ ItemRefer.Compact_Fusion_MK5.get(2), ItemRefer.Compact_Fusion_Coil_T4.get(64),
+ CustomItemList.Godforge_HarmonicPhononTransmissionConduit.get(16),
+ ItemList.Machine_Multi_TranscendentPlasmaMixer.get(4),
+ MaterialsElements.STANDALONE.RHUGNOR.getGear(64),
+ GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Ichorium, 64),
+ getModItem(EternalSingularity.ID, "eternal_singularity", 32L), ItemList.Robot_Arm_UIV.get(64L),
+ ItemList.Field_Generator_UEV.get(64L) });
+
+ godforgeUpgradeMats.put(
+ 26,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 64),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUMVBase, 64),
+ MaterialsElements.STANDALONE.HYPOGEN.getFrameBox(64),
+ MaterialsElements.STANDALONE.DRAGON_METAL.getFrameBox(64),
+ CustomItemList.EOH_Reinforced_Spatial_Casing.get(64),
+ CustomItemList.EOH_Infinite_Energy_Casing.get(8), ItemList.ZPM6.get(4),
+ ItemList.Field_Generator_UMV.get(32) });
+
+ godforgeUpgradeMats.put(
+ 29,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.WhiteDwarfMatter, 64),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.BlackDwarfMatter, 64),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Eternity, 16),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Universium, 4),
+ CustomItemList.EOH_Infinite_Energy_Casing.get(64),
+ CustomItemList.StabilisationFieldGeneratorTier5.get(16), ItemList.ZPM6.get(16),
+ ItemList.Field_Generator_UMV.get(64) });
+
+ godforgeUpgradeMats.put(
+ 30,
+ new ItemStack[] { CustomItemList.Machine_Multi_QuarkGluonPlasmaModule.get(32),
+ CustomItemList.Godforge_StellarEnergySiphonCasing.get(64),
+ CustomItemList.StabilisationFieldGeneratorTier6.get(48),
+ ItemList.Transdimensional_Alignment_Matrix.get(8), ItemList.ZPM6.get(16),
+ ItemList.Robot_Arm_UMV.get(64), ItemList.Conveyor_Module_UMV.get(64) });
+ }
+
+ }
+}
diff --git a/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java b/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java
new file mode 100644
index 0000000000..7a8cad71b9
--- /dev/null
+++ b/src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java
@@ -0,0 +1,3709 @@
+package tectech.loader.recipe;
+
+import static com.google.common.math.LongMath.pow;
+import static goodgenerator.loader.Loaders.compactFusionCoil;
+import static goodgenerator.loader.Loaders.yottaFluidTankCell;
+import static gregtech.api.enums.Mods.*;
+import static gregtech.api.enums.Mods.Avaritia;
+import static gregtech.api.enums.Mods.AvaritiaAddons;
+import static gregtech.api.enums.Mods.BloodMagic;
+import static gregtech.api.enums.Mods.DraconicEvolution;
+import static gregtech.api.enums.Mods.EternalSingularity;
+import static gregtech.api.enums.Mods.ExtraUtilities;
+import static gregtech.api.enums.Mods.GTNHIntergalactic;
+import static gregtech.api.enums.Mods.GTPlusPlusEverglades;
+import static gregtech.api.enums.Mods.GalacticraftAmunRa;
+import static gregtech.api.enums.Mods.GalaxySpace;
+import static gregtech.api.enums.Mods.GraviSuite;
+import static gregtech.api.enums.Mods.IndustrialCraft2;
+import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.enums.Mods.SGCraft;
+import static gregtech.api.enums.Mods.SuperSolarPanels;
+import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.enums.Mods.TinkersGregworks;
+import static gregtech.api.util.GTModHandler.getModItem;
+import static gregtech.api.util.GTRecipeBuilder.INGOTS;
+import static gregtech.api.util.GTRecipeBuilder.MINUTES;
+import static gregtech.api.util.GTRecipeBuilder.SECONDS;
+import static gtPlusPlus.core.material.MaterialsAlloy.ABYSSAL;
+import static gtPlusPlus.core.material.MaterialsAlloy.CINOBITE;
+import static gtPlusPlus.core.material.MaterialsAlloy.LAFIUM;
+import static gtPlusPlus.core.material.MaterialsAlloy.LAURENIUM;
+import static gtPlusPlus.core.material.MaterialsAlloy.PIKYONIUM;
+import static gtPlusPlus.core.material.MaterialsAlloy.QUANTUM;
+import static gtPlusPlus.core.material.MaterialsAlloy.TITANSTEEL;
+import static gtPlusPlus.core.material.MaterialsAlloy.TRINIUM_REINFORCED_STEEL;
+import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.ASTRAL_TITANIUM;
+import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN;
+import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.CHRONOMATIC_GLASS;
+import static gtPlusPlus.core.material.MaterialsElements.STANDALONE.HYPOGEN;
+import static kekztech.common.Blocks.lscLapotronicEnergyUnit;
+import static kubatech.api.enums.ItemList.DEFCAwakenedSchematic;
+import static kubatech.api.enums.ItemList.DEFCChaoticSchematic;
+import static kubatech.api.enums.ItemList.DEFCDraconicSchematic;
+import static kubatech.api.enums.ItemList.DEFCWyvernSchematic;
+import static kubatech.api.enums.ItemList.DraconicEvolutionFusionCrafter;
+import static kubatech.loaders.BlockLoader.defcCasingBlock;
+import static tectech.loader.recipe.BaseRecipeLoader.getItemContainer;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
+import net.minecraftforge.fluids.FluidStack;
+
+import com.rwtema.extrautils.ExtraUtils;
+
+import bartworks.common.loaders.ItemRegistry;
+import bartworks.system.material.WerkstoffLoader;
+import fox.spiteful.avaritia.compat.ticon.Tonkers;
+import goodgenerator.items.GGMaterial;
+import goodgenerator.util.ItemRefer;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.MaterialsBotania;
+import gregtech.api.enums.MaterialsKevlar;
+import gregtech.api.enums.MaterialsUEVplus;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.enums.TierEU;
+import gregtech.api.util.GTModHandler;
+import gregtech.api.util.GTOreDictUnificator;
+import gregtech.api.util.GTUtility;
+import gtPlusPlus.core.material.MaterialMisc;
+import gtPlusPlus.core.material.MaterialsAlloy;
+import gtPlusPlus.core.material.MaterialsElements;
+import gtPlusPlus.core.material.Particle;
+import gtPlusPlus.core.util.minecraft.FluidUtils;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import kekztech.common.Blocks;
+import kekztech.common.TileEntities;
+import tconstruct.tools.TinkerTools;
+import tectech.recipe.TTRecipeAdder;
+import tectech.thing.CustomItemList;
+import tectech.thing.block.BlockGodforgeGlass;
+import tectech.thing.block.BlockQuantumGlass;
+import vexatos.tgregworks.reference.PartTypes;
+import vexatos.tgregworks.util.TGregUtils;
+
+public class ResearchStationAssemblyLine implements Runnable {
+
+ @Override
+ public void run() {
+ itemPartsUHVAsslineRecipes();
+ itemPartsUEVAsslineRecipes();
+ itemPartsUIVAsslineRecipes();
+ itemPartsUMVAsslineRecipes();
+ itemPartsUXVAsslineRecipes();
+ addWirelessEnergyRecipes();
+ addGodforgeRecipes();
+
+ if (TinkersGregworks.isModLoaded() && Avaritia.isModLoaded() // Infinity, Cosmic Neutronium
+ && ExtraUtilities.isModLoaded() // Bedrockium
+ ) {
+ addEOHRecipes();
+ }
+
+ Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null
+ ? FluidRegistry.getFluid("molten.indalloy140")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ // Infinite Oil Rig
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.OilDrill4.get(1),
+ 16777216,
+ 2048,
+ (int) TierEU.RECIPE_UHV,
+ 4,
+ new Object[] { ItemList.OilDrill4.get(1),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 4),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 4L }, ItemList.Electric_Motor_UHV.get(4),
+ ItemList.Electric_Pump_UHV.get(4), GTOreDictUnificator.get(OrePrefixes.gearGt, Materials.Neutronium, 4),
+ ItemList.Sensor_UHV.get(3), ItemList.Field_Generator_UHV.get(3),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.Neutronium, 12) },
+ new FluidStack[] { new FluidStack(solderUEV, 1296), Materials.Neutronium.getMolten(576) },
+ ItemList.OilDrillInfinite.get(1),
+ 6000,
+ (int) TierEU.RECIPE_UHV);
+
+ // Infinity Coil
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Coil_AwakenedDraconium.get(1),
+ 16_777_216,
+ 2048,
+ (int) TierEU.RECIPE_UEV,
+ 1,
+ new Object[] { new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L },
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.Infinity, 8),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 8),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 32, 0) },
+ new FluidStack[] { Materials.DraconiumAwakened.getMolten(576), },
+ ItemList.Casing_Coil_Infinity.get(1),
+ 60 * 20,
+ (int) TierEU.RECIPE_UEV);
+
+ // Hypogen Coil
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Coil_Infinity.get(1),
+ 16_777_216 * 2,
+ 2048 * 2,
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ GTOreDictUnificator.get("wireGt02Hypogen", 8L), HYPOGEN.getScrew(8),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0), },
+ new FluidStack[] { Materials.Infinity.getMolten(576), },
+ ItemList.Casing_Coil_Hypogen.get(1),
+ 60 * 20,
+ (int) TierEU.RECIPE_UIV);
+
+ // Eternal coil
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Coil_Hypogen.get(1),
+ 16_777_216 * 4,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 1,
+ new Object[] { new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, MaterialsUEVplus.SpaceTime, 8),
+ GTOreDictUnificator.get(OrePrefixes.screw, MaterialsUEVplus.SpaceTime, 8),
+ getModItem(EternalSingularity.ID, "eternal_singularity", 1L),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0),
+ getModItem(NewHorizonsCoreMod.ID, "item.MicaInsulatorFoil", 64, 0), },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("molten.hypogen"), 576), },
+ ItemList.Casing_Coil_Eternal.get(1),
+ 60 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ // UHV-UMV Energy Hatch & Dynamo
+ {
+ // Energy Hatches
+ {
+ // Energy Hatch UHV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Energy_UV.get(1L),
+ 24000,
+ 16,
+ 50000,
+ 2,
+ new Object[] { ItemList.Hull_MAX.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 2L),
+ ItemList.Circuit_Chip_QPIC.get(2L), new Object[] { OrePrefixes.circuit.get(Materials.UHV), 2L },
+ ItemList.UHV_Coil.get(2L),
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ ItemList.Electric_Pump_UHV.get(1L) },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000),
+ new FluidStack(solderIndalloy, 40 * 144) },
+ ItemList.Hatch_Energy_UHV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UHV);
+
+ // Energy Hatch UEV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Energy_UHV.get(1L),
+ 48000,
+ 32,
+ 100000,
+ 4,
+ new Object[] { ItemList.Hull_UEV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 2L),
+ ItemList.Circuit_Chip_QPIC.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UEV), 2L },
+ ItemList.UHV_Coil.get(4L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Electric_Pump_UEV.get(1L) },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000),
+ new FluidStack(solderUEV, 20 * 144), Materials.UUMatter.getFluid(8000L) },
+ ItemList.Hatch_Energy_UEV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UEV);
+
+ // Energy Hatch UIV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Energy_UEV.get(1L),
+ 96_000,
+ 64,
+ 200_000,
+ 8,
+ new Object[] { ItemList.Hull_UIV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUIV, 2L),
+ ItemList.Circuit_Chip_QPIC.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UIV), 2L },
+ ItemList.UHV_Coil.get(8L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Electric_Pump_UIV.get(1L) },
+ new FluidStack[] { Materials.SuperCoolant.getFluid(16_000L), new FluidStack(solderUEV, 20 * 144),
+ Materials.UUMatter.getFluid(16_000L) },
+ ItemList.Hatch_Energy_UIV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UIV);
+
+ // Energy Hatch UMV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Energy_UIV.get(1L),
+ 192000,
+ 128,
+ 400000,
+ 16,
+ new Object[] { ItemList.Hull_UMV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUMV, 2L),
+ ItemList.Circuit_Chip_QPIC.get(4L),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UMV, 2), ItemList.UHV_Coil.get(16L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Electric_Pump_UMV.get(1L) },
+ new FluidStack[] { Materials.SuperCoolant.getFluid(32_000L), new FluidStack(solderUEV, 40 * 144),
+ Materials.UUMatter.getFluid(32000L) },
+ ItemList.Hatch_Energy_UMV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UMV);
+
+ // Energy Hatch UXV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Energy_UMV.get(1L),
+ 384000,
+ 256,
+ 800000,
+ 32,
+ new Object[] { ItemList.Hull_UXV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUMV, 4L),
+ ItemList.Circuit_Chip_QPIC.get(16L),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 2), ItemList.UHV_Coil.get(32L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Electric_Pump_UXV.get(1L) },
+ new FluidStack[] { Materials.SuperCoolant.getFluid(64_000L), new FluidStack(solderUEV, 80 * 144),
+ Materials.UUMatter.getFluid(64000L) },
+ ItemList.Hatch_Energy_UXV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UXV);
+ }
+
+ // Dynamo Hatch
+ {
+ // Dynamo Hatch UHV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Dynamo_UV.get(1L),
+ 48000,
+ 32,
+ 100000,
+ 4,
+ new Object[] { ItemList.Hull_MAX.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.spring, Materials.Longasssuperconductornameforuhvwire, 8L),
+ ItemList.Circuit_Chip_QPIC.get(2L), new Object[] { OrePrefixes.circuit.get(Materials.UHV), 2L },
+ ItemList.UHV_Coil.get(2L),
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ new ItemStack[] { ItemList.Reactor_Coolant_He_6.get(1L), ItemList.Reactor_Coolant_NaK_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_2.get(1L) },
+ ItemList.Electric_Pump_UHV.get(1L) },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000),
+ new FluidStack(solderIndalloy, 40 * 144) },
+ ItemList.Hatch_Dynamo_UHV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UHV);
+
+ // Dynamo Hatch UEV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Dynamo_UHV.get(1L),
+ 96000,
+ 64,
+ 200000,
+ 8,
+ new Object[] { ItemList.Hull_UEV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUEVBase, 8L),
+ ItemList.Circuit_Chip_QPIC.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UEV), 2L },
+ ItemList.UHV_Coil.get(4L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Electric_Pump_UEV.get(1L) },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000),
+ new FluidStack(solderUEV, 20 * 144), Materials.UUMatter.getFluid(8000L) },
+ ItemList.Hatch_Dynamo_UEV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UEV);
+
+ // Dynamo Hatch UIV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Dynamo_UEV.get(1L),
+ 192_000,
+ 128,
+ 400_000,
+ 16,
+ new Object[] { ItemList.Hull_UIV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUIVBase, 8L),
+ ItemList.Circuit_Chip_QPIC.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UIV), 2L },
+ ItemList.UHV_Coil.get(8L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Electric_Pump_UIV.get(1L) },
+ new FluidStack[] { Materials.SuperCoolant.getFluid(16_000L), new FluidStack(solderUEV, 20 * 144),
+ Materials.UUMatter.getFluid(16_000L) },
+ ItemList.Hatch_Dynamo_UIV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UIV);
+
+ // Dynamo Hatch UMV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Dynamo_UIV.get(1L),
+ 384000,
+ 256,
+ 800000,
+ 32,
+ new Object[] { ItemList.Hull_UMV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 8L),
+ ItemList.Circuit_Chip_QPIC.get(4L),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UMV, 2), ItemList.UHV_Coil.get(16L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Electric_Pump_UMV.get(1L) },
+ new FluidStack[] { Materials.SuperCoolant.getFluid(32_000L), new FluidStack(solderUEV, 40 * 144),
+ Materials.UUMatter.getFluid(32000L) },
+ ItemList.Hatch_Dynamo_UMV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UMV);
+
+ // Dynamo Hatch UXV
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_Dynamo_UMV.get(1L),
+ 384000,
+ 256,
+ 800000,
+ 32,
+ new Object[] { ItemList.Hull_UXV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.spring, Materials.SuperconductorUMVBase, 16L),
+ ItemList.Circuit_Chip_QPIC.get(16L),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 2), ItemList.UHV_Coil.get(32L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Electric_Pump_UXV.get(1L) },
+ new FluidStack[] { Materials.SuperCoolant.getFluid(64_000L), new FluidStack(solderUEV, 80 * 144),
+ Materials.UUMatter.getFluid(64000L) },
+ ItemList.Hatch_Dynamo_UXV.get(1L),
+ 1000,
+ (int) TierEU.RECIPE_UXV);
+ }
+ }
+
+ // UHV Circuit Wetwaremainframe
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Circuit_Wetwaresupercomputer.get(1L),
+ 24000,
+ 64,
+ 50000,
+ 4,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 2),
+ ItemList.Circuit_Wetwaresupercomputer.get(2L),
+ new ItemStack[] { ItemList.Circuit_Parts_InductorASMD.get(16L),
+ ItemList.Circuit_Parts_InductorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_CapacitorASMD.get(16L),
+ ItemList.Circuit_Parts_CapacitorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_ResistorASMD.get(16L),
+ ItemList.Circuit_Parts_ResistorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_TransistorASMD.get(16L),
+ ItemList.Circuit_Parts_TransistorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) },
+ ItemList.Circuit_Chip_Ram.get(48L),
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 32L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 16L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEV, 8L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUIV, 4L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMV, 2L) },
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L }, },
+ new FluidStack[] { new FluidStack(solderIndalloy, 2880),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 10000), Materials.Radon.getGas(2500L), },
+ ItemList.Circuit_Wetwaremainframe.get(1L),
+ 2000,
+ 300000);
+
+ // Bioware SuperComputer
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Circuit_Biowarecomputer.get(1L),
+ 48000,
+ 128,
+ (int) TierEU.RECIPE_UV,
+ 8,
+ new Object[] { ItemList.Circuit_Board_Bio_Ultra.get(2L), ItemList.Circuit_Biowarecomputer.get(2L),
+ new ItemStack[] { ItemList.Circuit_Parts_TransistorASMD.get(16L),
+ ItemList.Circuit_Parts_TransistorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_ResistorASMD.get(16L),
+ ItemList.Circuit_Parts_ResistorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_CapacitorASMD.get(16L),
+ ItemList.Circuit_Parts_CapacitorXSMD.get(4L) },
+ new ItemStack[] { ItemList.Circuit_Parts_DiodeASMD.get(16L), ItemList.Circuit_Parts_DiodeXSMD.get(4L) },
+ ItemList.Circuit_Chip_NOR.get(32L), ItemList.Circuit_Chip_Ram.get(64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.NiobiumTitanium, 32L),
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L }, },
+ new FluidStack[] { new FluidStack(solderUEV, 1440), Materials.BioMediumSterilized.getFluid(1440L),
+ Materials.SuperCoolant.getFluid(10_000L), },
+ ItemList.Circuit_Biowaresupercomputer.get(1L),
+ 4000,
+ (int) TierEU.RECIPE_UV);
+
+ // Bio Mainframe
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Circuit_Biowaresupercomputer.get(1L),
+ 96000,
+ 256,
+ 1000000,
+ 16,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 4L),
+ ItemList.Circuit_Biowaresupercomputer.get(2L),
+ new ItemStack[] { ItemList.Circuit_Parts_InductorASMD.get(24L),
+ ItemList.Circuit_Parts_InductorXSMD.get(6L) },
+ new ItemStack[] { ItemList.Circuit_Parts_TransistorASMD.get(24L),
+ ItemList.Circuit_Parts_TransistorXSMD.get(6L) },
+ new ItemStack[] { ItemList.Circuit_Parts_ResistorASMD.get(24L),
+ ItemList.Circuit_Parts_ResistorXSMD.get(6L) },
+ new ItemStack[] { ItemList.Circuit_Parts_CapacitorASMD.get(24L),
+ ItemList.Circuit_Parts_CapacitorXSMD.get(6L) },
+ new ItemStack[] { ItemList.Circuit_Parts_DiodeASMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(6L) },
+ ItemList.Circuit_Chip_Ram.get(64L),
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEV, 32L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUIV, 16L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMV, 8L) },
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 2880), Materials.BioMediumSterilized.getFluid(2880L),
+ Materials.SuperCoolant.getFluid(20_000L), },
+ ItemList.Circuit_Biomainframe.get(1L),
+ 6000,
+ (int) TierEU.RECIPE_UHV);
+
+ // Optical Assembly
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Circuit_OpticalProcessor.get(1L),
+ 192_000,
+ 256,
+ (int) TierEU.RECIPE_UHV,
+ 16,
+ new Object[] { ItemList.Circuit_Board_Optical.get(1L), ItemList.Circuit_OpticalProcessor.get(2L),
+ ItemList.Circuit_Parts_InductorXSMD.get(16L), ItemList.Circuit_Parts_CapacitorXSMD.get(20L),
+ ItemList.Circuit_Parts_ResistorXSMD.get(20L), ItemList.Circuit_Chip_NOR.get(32L),
+ ItemList.Circuit_Chip_Ram.get(64L),
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.wireFine), 24, 10101), // Fine
+ // Lumiium
+ // Wire
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L }, },
+ new FluidStack[] { new FluidStack(solderUEV, 1440), Materials.Radon.getPlasma(1440L),
+ Materials.SuperCoolant.getFluid(10_000L), new FluidStack(FluidRegistry.getFluid("oganesson"), 500) },
+ ItemList.Circuit_OpticalAssembly.get(1L),
+ 20 * 20,
+ (int) TierEU.RECIPE_UHV);
+
+ // Optical Computer
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Circuit_OpticalAssembly.get(1L),
+ 384_000,
+ 512,
+ 4_000_000,
+ 32,
+ new Object[] { ItemList.Circuit_Board_Optical.get(2L), ItemList.Circuit_OpticalAssembly.get(2L),
+ ItemList.Circuit_Parts_TransistorXSMD.get(24L), ItemList.Circuit_Parts_ResistorXSMD.get(24L),
+ ItemList.Circuit_Parts_CapacitorXSMD.get(24L), ItemList.Circuit_Parts_DiodeXSMD.get(24L),
+ ItemList.Circuit_Chip_NOR.get(64L), ItemList.Circuit_Chip_SoC2.get(32L),
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.wireFine), 32, 10101), // Fine
+ // Lumiium
+ // Wire
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64), },
+ new FluidStack[] { new FluidStack(solderUEV, 1440 * 2), Materials.Radon.getPlasma(1440L * 2),
+ Materials.SuperCoolant.getFluid(10_000L * 2),
+ new FluidStack(FluidRegistry.getFluid("oganesson"), 500 * 2) },
+ ItemList.Circuit_OpticalComputer.get(1L),
+ 200 * 20,
+ (int) TierEU.RECIPE_UHV);
+
+ // Optical Mainframe
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Circuit_OpticalComputer.get(1L),
+ 768_000,
+ 1024,
+ (int) TierEU.RECIPE_UEV,
+ 64,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Tritanium, 8),
+ ItemList.Circuit_OpticalComputer.get(2L), ItemList.Circuit_Parts_InductorXSMD.get(32L),
+ ItemList.Circuit_Parts_TransistorXSMD.get(32L), ItemList.Circuit_Parts_ResistorXSMD.get(32L),
+ ItemList.Circuit_Parts_CapacitorXSMD.get(32L), ItemList.Circuit_Parts_DiodeXSMD.get(32L),
+ ItemList.Circuit_Chip_SoC2.get(64L),
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUEV, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUIV, 32L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUMV, 16L) },
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L },
+ new Object[] { OrePrefixes.foil.get(Materials.AnySyntheticRubber), 64L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.Polybenzimidazole, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 1440 * 4), Materials.Radon.getPlasma(1440L * 4),
+ Materials.SuperCoolant.getFluid(10_000L * 4),
+ new FluidStack(FluidRegistry.getFluid("oganesson"), 500 * 4) },
+ ItemList.Circuit_OpticalMainframe.get(1L),
+ 300 * 20,
+ (int) TierEU.RECIPE_UEV);
+
+ // Laser Vacuum Mirror
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.LASERpipe.get(1L),
+ 20_000,
+ 16,
+ 40_000,
+ 2,
+ new Object[] { CustomItemList.eM_Power.get(1L), CustomItemList.LASERpipe.get(4L),
+ CHRONOMATIC_GLASS.getPlateDense(1), ItemList.Circuit_Chip_QPIC.get(2L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L } },
+ new FluidStack[] { Materials.Grade4PurifiedWater.getFluid(4000L) },
+ CustomItemList.LASERpipeSmart.get(1L),
+ 10 * 20,
+ (int) TierEU.RECIPE_UHV);
+
+ // Transcendent Plasma Mixer - TPM.
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel6_UEV.get(1),
+ 32_000_000,
+ 4096,
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { CustomItemList.eM_energyTunnel6_UEV.get(4),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 32L }, ItemList.Electric_Pump_UIV.get(16),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.TranscendentMetal, 64),
+
+ GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.TranscendentMetal, 16),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.TranscendentMetal, 64),
+ GTOreDictUnificator.get(OrePrefixes.screw, MaterialsUEVplus.TranscendentMetal, 64),
+ ItemList.EnergisedTesseract.get(32),
+
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L), },
+ new FluidStack[] { MaterialsUEVplus.ExcitedDTCC.getFluid(2_048_000),
+ MaterialsUEVplus.ExcitedDTPC.getFluid(2_048_000), MaterialsUEVplus.ExcitedDTRC.getFluid(2_048_000),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(2_048_000), },
+ ItemList.Machine_Multi_TranscendentPlasmaMixer.get(1),
+ 5 * MINUTES,
+ (int) TierEU.RECIPE_UIV);
+
+ // Stargate Recipes
+ if (EternalSingularity.isModLoaded() && SGCraft.isModLoaded()) {
+
+ final int baseStargateTime = 125_000 * 20;
+
+ // Stargate shield foil
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1L),
+ (int) TierEU.RECIPE_MAX,
+ 32768,
+ (int) TierEU.RECIPE_UXV,
+ 64,
+ new ItemStack[] { ItemList.Casing_Dim_Bridge.get(64),
+ CustomItemList.StabilisationFieldGeneratorTier8.get(64),
+ GTOreDictUnificator.get("blockShirabon", 64L), GTOreDictUnificator.get("blockShirabon", 64L),
+ GTOreDictUnificator.get(OrePrefixes.block, MaterialsUEVplus.SpaceTime, 64L),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 16L),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Universium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 8L),
+ GTOreDictUnificator.get("plateDenseShirabon", 8L), ItemList.Sensor_UXV.get(16L),
+ ItemList.Emitter_UXV.get(16L), getModItem(EternalSingularity.ID, "eternal_singularity", 16L),
+ MaterialsUEVplus.Universium.getNanite(16), MaterialsUEVplus.BlackDwarfMatter.getNanite(16),
+ MaterialsUEVplus.WhiteDwarfMatter.getNanite(16) },
+ new FluidStack[] { Materials.Neutronium.getMolten(32_768_000L),
+ MaterialsUEVplus.SpaceTime.getMolten(4 * 36864L),
+ Materials.SuperconductorUMVBase.getMolten(4 * 36864L),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(4 * 36864L) },
+ getItemContainer("StargateShieldingFoil").get(1L),
+ baseStargateTime,
+ (int) TierEU.RECIPE_UMV);
+
+ // Stargate chevron
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ getItemContainer("StargateShieldingFoil").get(1L),
+ (int) TierEU.RECIPE_MAX,
+ 32_768,
+ (int) TierEU.RECIPE_UXV,
+ 64,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.block, MaterialsUEVplus.TranscendentMetal, 64L),
+ GTOreDictUnificator.get("blockShirabon", 64), CustomItemList.EOH_Reinforced_Spatial_Casing.get(64),
+ CustomItemList.EOH_Reinforced_Spatial_Casing.get(64),
+
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 16L),
+ GTOreDictUnificator
+ .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 16L),
+ GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Ruby, 16L),
+ GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Jasper, 16L),
+
+ GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Opal, 16L),
+ GTOreDictUnificator.get(OrePrefixes.gemExquisite, Materials.Sapphire, 16L),
+ GTOreDictUnificator
+ .get(OrePrefixes.plateDense, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ GTOreDictUnificator.get("plateDenseShirabon", 8),
+
+ ItemList.Electric_Motor_UXV.get(64L), ItemList.Electric_Piston_UXV.get(64L),
+ ItemList.Field_Generator_UXV.get(16L),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 1L)
+ .splitStack(32) },
+ new FluidStack[] { Materials.Neutronium.getMolten(32_768_000L),
+ MaterialsUEVplus.SpaceTime.getMolten(4 * 36864L),
+ MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(36864L),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(4 * 36864L) },
+ getItemContainer("StargateChevron").get(1L),
+ baseStargateTime,
+ (int) TierEU.RECIPE_UMV);
+
+ // Stargate Frame Part
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1L),
+ (int) TierEU.RECIPE_MAX,
+ 32_768,
+ (int) TierEU.RECIPE_UXV,
+ 64,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.SpaceTime, 64L),
+ GTOreDictUnificator
+ .get(OrePrefixes.stickLong, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Neutronium, 64L),
+
+ GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Osmiridium, 64L),
+ GTOreDictUnificator.get("stickLongShirabon", 64),
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.stickLong), 64, 39), QUANTUM.getLongRod(64),
+ HYPOGEN.getLongRod(64), CELESTIAL_TUNGSTEN.getLongRod(64),
+ new ItemStack(WerkstoffLoader.items.get(OrePrefixes.stickLong), 64, 10106),
+ ASTRAL_TITANIUM.getLongRod(64),
+
+ GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.SuperconductorUMVBase, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.Universium, 64L),
+ ABYSSAL.getLongRod(64),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.TranscendentMetal, 64L), },
+ new FluidStack[] { Materials.Neutronium.getMolten(32_768_000L),
+ MaterialsUEVplus.SpaceTime.getMolten(4 * 36864L), MaterialsUEVplus.Universium.getMolten(4 * 36864L),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(4 * 36864L) },
+ getItemContainer("StargateFramePart").get(1L),
+ baseStargateTime,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ // Dimensionally Transcendent Plasma Forge (DTPF)
+ if (EternalSingularity.isModLoaded()) {
+
+ // DTPF Controller.
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Dim_Bridge.get(1),
+ 32_000_000,
+ 4096,
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { ItemList.Casing_Dim_Bridge.get(4),
+ GTUtility.copyAmount(16, ItemRegistry.megaMachines[0]), ItemList.Hatch_Energy_UEV.get(4L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUEV, 6),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 20L }, ItemList.Field_Generator_UEV.get(4),
+ getModItem(EternalSingularity.ID, "eternal_singularity", 4L),
+ GregtechItemList.Laser_Lens_Special.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 64L),
+ ItemList.Electric_Pump_UEV.get(4), ItemList.ZPM3.get(1),
+ getModItem(IndustrialCraft2.ID, "blockMachine2", 1, 0) },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("oganesson"), 128000),
+ new FluidStack(solderUEV, 36864 * 2),
+ new FluidStack(FluidRegistry.getFluid("molten.californium"), 36864),
+ Materials.NaquadahEnriched.getMolten(36864L) },
+ ItemList.Machine_Multi_PlasmaForge.get(1),
+ 5 * MINUTES,
+ (int) TierEU.RECIPE_UIV);
+
+ // Dimensional bridge.
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Dim_Injector.get(1),
+ 8_000_000,
+ 4096,
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { ItemList.Casing_Dim_Trans.get(1), ItemList.MicroTransmitter_UV.get(1),
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 2L },
+ getModItem(Avaritia.ID, "Singularity", 2L, 0),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 6),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 2, 0), ItemList.Field_Generator_UHV.get(1L) },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("oganesson"), 8000),
+ new FluidStack(solderUEV, 1152 * 8), Materials.NaquadahEnriched.getMolten(1296L) },
+ ItemList.Casing_Dim_Bridge.get(1),
+ 240 * 20,
+ (int) TierEU.RECIPE_UIV);
+
+ // Dimensional injection casing.
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Dim_Trans.get(1),
+ 2_000_000,
+ 2048,
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 4),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Ledox, 1),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.CallistoIce, 1),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), LAURENIUM.getScrew(12),
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 2L },
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 2),
+ ItemList.Super_Chest_IV.get(1), ItemList.Super_Tank_IV.get(1),
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 1, 0), },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("oganesson"), 1000),
+ new FluidStack(solderUEV, 576), Materials.NaquadahEnriched.getMolten(288L) },
+ ItemList.Casing_Dim_Injector.get(1),
+ 20 * 20,
+ (int) TierEU.RECIPE_UIV);
+
+ // Dimensionally Transcendent Casing.
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ getModItem(Avaritia.ID, "Singularity", 1L, 0),
+ 2_000_000,
+ 2048,
+ (int) TierEU.RECIPE_UIV,
+ 1,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Osmiridium, 6),
+ LAURENIUM.getScrew(12), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 1), },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("oganesson"), 500),
+ new FluidStack(solderUEV, 288), Materials.NaquadahEnriched.getMolten(144L) },
+ ItemList.Casing_Dim_Trans.get(1),
+ 20 * 20,
+ (int) TierEU.RECIPE_UIV);
+
+ // Transdimensional Alignment Matrix
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.MicroTransmitter_UV.get(1),
+ 32_000_000,
+ 8192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.EOH_Infinite_Energy_Casing.get(1),
+ GregtechItemList.SpaceTimeContinuumRipper.get(4), ItemList.Robot_Arm_UMV.get(64),
+ ItemList.Sensor_UMV.get(16), ItemList.Field_Generator_UMV.get(4), ItemList.ZPM5.get(1),
+ ItemList.EnergisedTesseract.get(32),
+ GTOreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.TranscendentMetal, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Flerovium, 64),
+ GGMaterial.metastableOganesson.get(OrePrefixes.plateDense, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1024 * 144), Materials.Lead.getPlasma(64 * 144),
+ MaterialsUEVplus.Space.getMolten(64 * 144) },
+ ItemList.Transdimensional_Alignment_Matrix.get(1),
+ 50 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ // Deep Dark Portal
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ getModItem(NewHorizonsCoreMod.ID, "item.HeavyDutyPlateTier8", 1, 0),
+ 16_777_216,
+ 2048,
+ (int) TierEU.RECIPE_UHV,
+ 64,
+ new Object[] { getModItem(ExtraUtilities.ID, "cobblestone_compressed", 1, 7),
+ getModItem(IndustrialCraft2.ID, "blockMachine2", 1, 0),
+ GTOreDictUnificator.get(OrePrefixes.block, Materials.Infinity, 4L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 32, 0), ItemList.Robot_Arm_UMV.get(4),
+ ItemList.Emitter_UMV.get(4), ItemList.Sensor_UMV.get(4), },
+ new FluidStack[] { new FluidStack(FluidRegistry.getFluid("oganesson"), 50000),
+ Materials.Infinity.getMolten(144L * 512), Materials.Cheese.getMolten(232000L), },
+ ItemList.Block_BedrockiumCompressed.get(1),
+ 10000,
+ 5000000);
+
+ // Batteries
+ {
+
+ // Ultimate Battery
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Energy_Cluster.get(1L),
+ 12000,
+ 16,
+ 100000,
+ 3,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 64L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L }, ItemList.Energy_Cluster.get(8L),
+ ItemList.Field_Generator_UV.get(2), ItemList.Circuit_Wafer_HPIC.get(64),
+ ItemList.Circuit_Wafer_HPIC.get(64), ItemList.Circuit_Parts_DiodeASMD.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUHV, 32), },
+ new FluidStack[] { new FluidStack(solderIndalloy, 2880),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 16000) },
+ ItemList.ZPM2.get(1),
+ 3000,
+ 400000);
+
+ // Really Ultimate Battery
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.ZPM2.get(1L),
+ 24000,
+ 64,
+ 200000,
+ 6,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L),
+ GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.Neutronium, 32L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L }, ItemList.ZPM2.get(8),
+ ItemList.Field_Generator_UHV.get(4), ItemList.Circuit_Wafer_UHPIC.get(64),
+ ItemList.Circuit_Wafer_UHPIC.get(64), ItemList.Circuit_Wafer_SoC2.get(32),
+ ItemList.Circuit_Parts_DiodeASMD.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt02, Materials.SuperconductorUHV, 64), },
+ new FluidStack[] { new FluidStack(solderUEV, 4608), Materials.Naquadria.getMolten(9216),
+ new FluidStack(FluidRegistry.getFluid("ic2coolant"), 32000) },
+ ItemList.ZPM3.get(1),
+ 4000,
+ 1600000);
+
+ // Extremely Ultimate Battery
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.ZPM3.get(1L),
+ 1_200_000,
+ 128,
+ (int) TierEU.RECIPE_UEV,
+ 16,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.InfinityCatalyst, 32L),
+ GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.InfinityCatalyst, 32L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L }, ItemList.ZPM3.get(8),
+ ItemList.Field_Generator_UEV.get(4), ItemList.Circuit_Wafer_PPIC.get(64),
+ ItemList.Circuit_Wafer_PPIC.get(64), ItemList.Circuit_Wafer_SoC2.get(64),
+ ItemList.Circuit_Parts_DiodeXSMD.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 64), },
+ new FluidStack[] { new FluidStack(solderUEV, 9216), Materials.Quantium.getMolten(18_432),
+ Materials.Naquadria.getMolten(9_216 * 2), Materials.SuperCoolant.getFluid(64_000) },
+ ItemList.ZPM4.get(1),
+ 250 * 20,
+ 6_400_000);
+
+ if (GTPlusPlusEverglades.isModLoaded()) {
+ // Insanely Ultimate Battery
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.ZPM4.get(1),
+ 24_000_000,
+ 1_280,
+ (int) TierEU.RECIPE_UIV,
+ 32,
+ new Object[] { HYPOGEN.getPlateDouble(32), HYPOGEN.getPlateDouble(32),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 1 }, ItemList.ZPM4.get(8L),
+ ItemList.Field_Generator_UIV.get(4), ItemList.Circuit_Wafer_QPIC.get(64),
+ ItemList.Circuit_Wafer_QPIC.get(64),
+ GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.RawPicoWafer", 64),
+ ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(32),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUIV, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 18_432),
+ MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getFluidStack(18_432),
+ Materials.Quantium.getMolten(18_432), Materials.SuperCoolant.getFluid(128_000) },
+ ItemList.ZPM5.get(1),
+ 300 * 20,
+ (int) TierEU.RECIPE_UIV);
+
+ // Mega Ultimate Battery
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.ZPM5.get(1L),
+ 480_000_000,
+ 12_288,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { MaterialsElements.STANDALONE.DRAGON_METAL.getPlateDouble(32),
+ MaterialsElements.STANDALONE.DRAGON_METAL.getPlateDouble(32),
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1 }, ItemList.ZPM5.get(8L),
+ ItemList.Field_Generator_UMV.get(4), ItemList.Circuit_Wafer_QPIC.get(64),
+ ItemList.Circuit_Wafer_QPIC.get(64),
+ GTModHandler.getModItem(NewHorizonsCoreMod.ID, "item.PicoWafer", 64),
+ ItemList.Circuit_Parts_DiodeXSMD.get(64), ItemList.Circuit_Parts_InductorXSMD.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 36_864),
+ MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getFluidStack(36_864),
+ MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getFluidStack(36_864),
+ Materials.SuperCoolant.getFluid(256_000) },
+ ItemList.ZPM6.get(1),
+ 350 * 20,
+ (int) TierEU.RECIPE_UMV);
+ }
+ }
+
+ // MK4 Computer
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.Compressed_Fusion_Reactor.get(1),
+ 320000,
+ 512,
+ (int) TierEU.RECIPE_UHV,
+ 1,
+ new Object[] { GregtechItemList.Casing_Fusion_Internal.get(1),
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Neutronium, 4),
+ ItemList.Field_Generator_UHV.get(2), ItemList.Circuit_Wafer_QPIC.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUHV, 32) },
+ new FluidStack[] { Materials.UUMatter.getFluid(50000), CINOBITE.getFluidStack(9216),
+ MaterialsAlloy.OCTIRON.getFluidStack(9216),
+ MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getFluidStack(9216), },
+ GregtechItemList.FusionComputer_UV2.get(1),
+ 6000,
+ (int) TierEU.RECIPE_UHV);
+
+ // MK4 Coils
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Fusion_Coil.get(1L),
+ 160000,
+ 512,
+ (int) TierEU.RECIPE_UHV,
+ 1,
+ new Object[] { ItemList.Energy_LapotronicOrb2.get(16L),
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 16L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), ItemList.Emitter_UHV.get(1),
+ ItemList.Sensor_UHV.get(1), ItemList.Casing_Fusion_Coil.get(1L), },
+ new FluidStack[] { Materials.UUMatter.getFluid(8000L), CINOBITE.getFluidStack(2304),
+ MaterialsAlloy.OCTIRON.getFluidStack(2304),
+ MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getFluidStack(2304), },
+ GregtechItemList.Casing_Fusion_Internal.get(1),
+ 1200,
+ (int) TierEU.RECIPE_UHV);
+
+ // MK4 Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Casing_Fusion2.get(1L),
+ 80000,
+ 512,
+ (int) TierEU.RECIPE_UHV,
+ 1,
+ new Object[] { new Object[] { OrePrefixes.circuit.get(Materials.EV), 16L },
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.block, Materials.TungstenCarbide, 8),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 8), ItemList.Electric_Motor_UHV.get(2),
+ ItemList.Electric_Piston_UHV.get(1), ItemList.Casing_Fusion2.get(1L), },
+ new FluidStack[] { Materials.UUMatter.getFluid(1000L), CINOBITE.getFluidStack(576),
+ MaterialsAlloy.OCTIRON.getFluidStack(576),
+ MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getFluidStack(576), },
+ GregtechItemList.Casing_Fusion_External.get(1),
+ 300,
+ (int) TierEU.RECIPE_UHV);
+
+ // MK5 Computer
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.FusionComputer_UV2.get(1),
+ 2560000,
+ 4096,
+ (int) TierEU.RECIPE_UEV,
+ 8,
+ new Object[] { GregtechItemList.Casing_Fusion_Internal2.get(1),
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ GTOreDictUnificator.get("plateDenseMetastableOganesson", 4), ItemList.Field_Generator_UEV.get(2),
+ getItemContainer("PicoWafer").get(64L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.SuperconductorUEV, 32) },
+ new FluidStack[] { MaterialsElements.getInstance().CURIUM.getFluidStack(9216),
+ MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getFluidStack(9216),
+ MaterialsAlloy.ABYSSAL.getFluidStack(9216),
+ MaterialsElements.STANDALONE.DRAGON_METAL.getFluidStack(9216) },
+ GregtechItemList.FusionComputer_UV3.get(1),
+ 6000,
+ (int) TierEU.RECIPE_UEV);
+
+ // MK5 Coils
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.Casing_Fusion_Internal.get(1),
+ 2560000,
+ 4096,
+ (int) TierEU.RECIPE_UEV,
+ 8,
+ new Object[] { ItemList.Energy_Module.get(16), new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 16L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 8L },
+ MaterialsElements.STANDALONE.RHUGNOR.getPlate(8), ItemList.Emitter_UEV.get(1),
+ ItemList.Sensor_UEV.get(1), new ItemStack(compactFusionCoil, 1, 2) },
+ new FluidStack[] { MaterialsElements.getInstance().NEPTUNIUM.getFluidStack(2304),
+ MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getFluidStack(2304),
+ MaterialsAlloy.ABYSSAL.getFluidStack(2304),
+ MaterialsElements.STANDALONE.DRAGON_METAL.getFluidStack(2304) },
+ GregtechItemList.Casing_Fusion_Internal2.get(1),
+ 1200,
+ (int) TierEU.RECIPE_UEV);
+
+ // MK5 Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.Casing_Fusion_External.get(1L),
+ 2560000,
+ 4096,
+ (int) TierEU.RECIPE_UEV,
+ 8,
+ new Object[] { new Object[] { OrePrefixes.circuit.get(Materials.IV), 16L },
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.block, Materials.NaquadahAlloy, 8),
+ MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getPlate(8), ItemList.Electric_Motor_UEV.get(2),
+ ItemList.Electric_Piston_UEV.get(1), GregtechItemList.Casing_Fusion_External.get(1L) },
+ new FluidStack[] { MaterialsElements.getInstance().FERMIUM.getFluidStack(1152),
+ MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getFluidStack(1152),
+ MaterialsAlloy.ABYSSAL.getFluidStack(1152),
+ MaterialsElements.STANDALONE.DRAGON_METAL.getFluidStack(1152) },
+ GregtechItemList.Casing_Fusion_External2.get(1),
+ 300,
+ (int) TierEU.RECIPE_UEV);
+
+ if (BloodMagic.isModLoaded() && DraconicEvolution.isModLoaded()) {
+ // Draconic Evolution Fusion Crafter Controller
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ new ItemStack(defcCasingBlock, 1, 8),
+ 16_777_216,
+ 1024,
+ (int) TierEU.RECIPE_UHV,
+ 8,
+ new Object[] { ItemList.AssemblingMachineUHV.get(1), new ItemStack(defcCasingBlock, 1, 8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsBotania.GaiaSpirit, 1L),
+ ItemList.Casing_Coil_AwakenedDraconium.get(8L), ItemList.Electric_Motor_UHV.get(8L),
+ ItemList.Robot_Arm_UHV.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UHV), 4 },
+ ItemList.Gravistar.get(4, new Object() {}), getModItem(Thaumcraft.ID, "ItemEldritchObject", 1, 3),
+ getModItem(BloodMagic.ID, "bloodMagicBaseItems", 8, 29),
+ getModItem(BloodMagic.ID, "bloodMagicBaseItems", 8, 28), },
+ new FluidStack[] { new FluidStack(solderIndalloy, 2880), Materials.Void.getMolten(2880L),
+ Materials.DraconiumAwakened.getMolten(1440), },
+ DraconicEvolutionFusionCrafter.get(1),
+ 1500,
+ (int) TierEU.RECIPE_UEV);
+ // DE Schematics Cores Tier 1
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ new ItemStack(defcCasingBlock, 1, 9),
+ 5_000_000,
+ 512,
+ 1_000_000,
+ 4,
+ new Object[] { getModItem(DraconicEvolution.ID, "draconicCore", 1, 0),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Ichorium, 1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1 }, },
+ new FluidStack[] { Materials.Sunnarium.getMolten(14400L), Materials.Void.getMolten(28800L), },
+ DEFCDraconicSchematic.get(1),
+ 6000,
+ (int) TierEU.RECIPE_UV);
+
+ // DE Schematics Cores Tier 2
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ getModItem(DraconicEvolution.ID, "draconicCore", 1, 0),
+ 10_000_000,
+ 1024,
+ 4_000_000,
+ 8,
+ new Object[] { getModItem(DraconicEvolution.ID, "draconicCore", 4, 0),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Draconium, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1 }, },
+ new FluidStack[] { Materials.Neutronium.getMolten(14400L), Materials.Void.getMolten(57600L), },
+ DEFCWyvernSchematic.get(1),
+ 12000,
+ (int) TierEU.RECIPE_UHV);
+
+ // DE Schematics Cores Tier 3
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ getModItem(DraconicEvolution.ID, "wyvernCore", 1, 0),
+ 20_000_000,
+ 2048,
+ 16_000_000,
+ 16,
+ new Object[] { getModItem(DraconicEvolution.ID, "wyvernCore", 4, 0),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L } },
+ new FluidStack[] { Materials.Infinity.getMolten(14400L), Materials.Void.getMolten(115200L), },
+ DEFCAwakenedSchematic.get(1),
+ 24000,
+ (int) TierEU.RECIPE_UEV);
+
+ // DE Schematics Cores Tier 4
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ getModItem(DraconicEvolution.ID, "awakenedCore", 1, 0),
+ 40_000_000,
+ 4096,
+ 64_000_000,
+ 64,
+ new Object[] { getModItem(DraconicEvolution.ID, "awakenedCore", 8, 0),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.DraconiumAwakened, 4L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 1 }, },
+ new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(14400L), Materials.Void.getMolten(230400L), },
+ DEFCChaoticSchematic.get(1),
+ 36000,
+ (int) TierEU.RECIPE_UIV);
+ }
+
+ // Debug maintenance hatch
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Hatch_AutoMaintenance.get(1L),
+ 2764800,
+ 128,
+ (int) TierEU.RECIPE_UV,
+ 6,
+ new Object[] { ItemList.Hatch_AutoMaintenance.get(1L), ItemList.Robot_Arm_UV.get(1L),
+ ItemList.Electric_Pump_UV.get(1L), ItemList.Conveyor_Module_UV.get(1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 4L }, ItemList.Energy_LapotronicOrb2.get(1L),
+ ItemList.Duct_Tape.get(64L), ItemList.Duct_Tape.get(64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Americium, 64L), },
+ new FluidStack[] { Materials.Lubricant.getFluid(256000), new FluidStack(solderIndalloy, 1296), },
+ CustomItemList.hatch_CreativeMaintenance.get(1),
+ 6000,
+ (int) TierEU.RECIPE_UV);
+
+ // Debug uncertainty resolver
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.UncertaintyX_Hatch.get(1L),
+ 72_000_000,
+ 5_120,
+ 16_000_000,
+ 6,
+ new Object[] { CustomItemList.eM_Computer_Bus.get(1), CustomItemList.hatch_CreativeMaintenance.get(1),
+ ItemList.Field_Generator_UIV.get(1L), GregtechItemList.Laser_Lens_Special.get(4),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 2 }, CustomItemList.DATApipe.get(64),
+ CustomItemList.DATApipe.get(64), ItemList.Cover_Screen.get(1) },
+ new FluidStack[] { Materials.Iridium.getMolten(INGOTS * 100), new FluidStack(solderUEV, 2592),
+ new FluidStack(MaterialsElements.getInstance().NEPTUNIUM.getPlasma(), 20000),
+ new FluidStack(MaterialsElements.getInstance().FERMIUM.getPlasma(), 20000) },
+ CustomItemList.hatch_CreativeUncertainty.get(1),
+ 200 * 20,
+ (int) TierEU.RECIPE_UIV);
+ }
+
+ private void itemPartsUHVAsslineRecipes() {
+
+ // ----------------------------------------------------------------------
+ // ------------------------- Set up information -------------------------
+ // ----------------------------------------------------------------------
+
+ Fluid solderIndalloy = FluidRegistry.getFluid("molten.indalloy140") != null
+ ? FluidRegistry.getFluid("molten.indalloy140")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ int total_computation = 24000;
+ int comp_per_second = 32;
+ int research_eu_per_tick = (int) TierEU.RECIPE_UV;
+ int research_amperage = 1;
+
+ FluidStack fluid_0 = Materials.Naquadria.getMolten(2592);
+ FluidStack fluid_1 = new FluidStack(solderIndalloy, 2592);
+ FluidStack fluid_2 = Materials.Lubricant.getFluid(4000);
+
+ int crafting_time_in_ticks = 1000;
+ int crafting_eu_per_tick = (int) TierEU.RECIPE_UV;
+
+ // -------------------------------------------------------------
+
+ // ------------------------- UHV Motor -------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Motor_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.SamariumMagnetic, 4L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 32L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Motor_UHV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // --------------------- UHV Electric Pump ---------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Pump_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UHV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Neutronium, 2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 4L),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.CosmicNeutronium, 16L),
+ new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 32L },
+ GTOreDictUnificator.get(OrePrefixes.rotor, Materials.CosmicNeutronium, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Pump_UHV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ----------------------- UHV Conveyor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Conveyor_Module_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UHV.get(2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 2L),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 2L),
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 40L } },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Conveyor_Module_UHV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UHV Robot Arm --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Robot_Arm_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.CosmicNeutronium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 6L),
+ ItemList.Electric_Motor_UHV.get(2L), ItemList.Electric_Piston_UHV.get(1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 2L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 4L },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 8L },
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 6L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Robot_Arm_UHV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UHV Electric Piston --------------------
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Piston_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { ItemList.Electric_Motor_UHV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.CosmicNeutronium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, Materials.CosmicNeutronium, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.CosmicNeutronium, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 4L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Piston_UHV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UHV Emitter ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Emitter_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L),
+ ItemList.Electric_Motor_UHV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.stick, Materials.CosmicNeutronium, 8L), ItemList.Gravistar.get(8L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 4L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Emitter_UHV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UHV Sensor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Sensor_UV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L),
+ ItemList.Electric_Motor_UHV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 8L), ItemList.Gravistar.get(8L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 4L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.ElectrumFlux, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 7L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Sensor_UHV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // ---------------------------------------------------------------------
+
+ // ------------------------ UHV Field Generator ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Field_Generator_UV.get(1),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.CosmicNeutronium, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 6L), ItemList.Gravistar.get(4L),
+ ItemList.Emitter_UHV.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UEV), 4L },
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Bedrockium, 8L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Field_Generator_UHV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+ }
+
+ private void itemPartsUEVAsslineRecipes() {
+
+ // ----------------------------------------------------------------------
+ // ------------------------- Set up information -------------------------
+ // ----------------------------------------------------------------------
+
+ Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ int total_computation = 48_000;
+ int comp_per_second = 64;
+ int research_eu_per_tick = (int) TierEU.RECIPE_UHV;
+ int research_amperage = 1;
+
+ FluidStack fluid_0 = Materials.Quantium.getMolten(2592);
+ FluidStack fluid_1 = new FluidStack(mutated_living_solder, 2592);
+ FluidStack fluid_2 = Materials.Lubricant.getFluid(4000);
+
+ int crafting_time_in_ticks = 1000;
+ int crafting_eu_per_tick = (int) TierEU.RECIPE_UHV;
+
+ // -------------------------------------------------------------
+
+ // ------------------------- UEV Motor -------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Motor_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.TengamAttuned, 8L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 16L),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 32L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Motor_UEV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // --------------------- UEV Electric Pump ---------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Pump_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UEV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 4L),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.Infinity, 16L),
+ new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L },
+ GTOreDictUnificator.get(OrePrefixes.rotor, Materials.Infinity, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Pump_UEV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ----------------------- UEV Conveyor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Conveyor_Module_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UEV.get(2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 2L),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 2L),
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L },
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L } },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Conveyor_Module_UEV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UEV Robot Arm --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Robot_Arm_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Infinity, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, Materials.Infinity, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 6L),
+ ItemList.Electric_Motor_UEV.get(2L), ItemList.Electric_Piston_UEV.get(1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 2L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 4L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 6L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Robot_Arm_UEV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UEV Electric Piston --------------------
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Piston_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { ItemList.Electric_Motor_UEV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L),
+ GTOreDictUnificator.get(OrePrefixes.ring, Materials.Infinity, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, Materials.Infinity, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, Materials.Infinity, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 4L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Piston_UEV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UEV Emitter ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Emitter_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L),
+ ItemList.Electric_Motor_UEV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.stick, Materials.Infinity, 16L), ItemList.Gravistar.get(16L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 4L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Emitter_UEV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UEV Sensor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Sensor_UHV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L),
+ ItemList.Electric_Motor_UEV.get(1), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 8L),
+ ItemList.Gravistar.get(16), new Object[] { OrePrefixes.circuit.get(Materials.UEV), 4L },
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.foil, Materials.InfinityCatalyst, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 7L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Sensor_UEV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // ---------------------------------------------------------------------
+
+ // ------------------------ UEV Field Generator ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Field_Generator_UHV.get(1),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 6L), ItemList.Gravistar.get(8L),
+ ItemList.Emitter_UEV.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UIV), 4L },
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Draconium, 8L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Field_Generator_UEV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+ }
+
+ private void itemPartsUIVAsslineRecipes() {
+
+ // ----------------------------------------------------------------------
+ // ------------------------- Set up information -------------------------
+ // ----------------------------------------------------------------------
+
+ Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+ Fluid celestialTungsten = FluidRegistry.getFluid("molten.celestialtungsten");
+
+ int total_computation = 96_000;
+ int comp_per_second = 128;
+ int research_eu_per_tick = (int) TierEU.RECIPE_UEV;
+ int research_amperage = 1;
+
+ FluidStack fluid_0 = celestialTungsten != null ? new FluidStack(celestialTungsten, 576) : null;
+ FluidStack fluid_1 = new FluidStack(mutated_living_solder, 2592);
+ FluidStack fluid_2 = Materials.Lubricant.getFluid(4000);
+
+ int crafting_time_in_ticks = 1000;
+ int crafting_eu_per_tick = (int) TierEU.RECIPE_UEV;
+
+ // -------------------------------------------------------------
+
+ // ------------------------- UIV Motor -------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Motor_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.TengamAttuned, 16L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.TranscendentMetal, 16L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsUEVplus.TranscendentMetal, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.TranscendentMetal, 32L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Motor_UIV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // --------------------- UIV Electric Pump ---------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Pump_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UIV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.DraconiumAwakened, 2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.TranscendentMetal, 4L),
+ GTOreDictUnificator.get(OrePrefixes.screw, MaterialsUEVplus.TranscendentMetal, 16L),
+ new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L },
+ GTOreDictUnificator.get(OrePrefixes.rotor, MaterialsUEVplus.TranscendentMetal, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Pump_UIV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ----------------------- UIV Conveyor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Conveyor_Module_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UIV.get(2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.TranscendentMetal, 2L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsUEVplus.TranscendentMetal, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.TranscendentMetal, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 2L),
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L },
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L } },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Conveyor_Module_UIV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UIV Robot Arm --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Robot_Arm_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.TranscendentMetal, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, MaterialsUEVplus.TranscendentMetal, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.TranscendentMetal, 6L),
+ ItemList.Electric_Motor_UIV.get(2L), ItemList.Electric_Piston_UIV.get(1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 2L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 4L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 6L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Robot_Arm_UIV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UIV Electric Piston --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Piston_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { ItemList.Electric_Motor_UIV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.TranscendentMetal, 6L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsUEVplus.TranscendentMetal, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.TranscendentMetal, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stick, MaterialsUEVplus.TranscendentMetal, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, MaterialsUEVplus.TranscendentMetal, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.TranscendentMetal, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 4L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Electric_Piston_UIV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UIV Emitter ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Emitter_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1L),
+ ItemList.Electric_Motor_UIV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.stick, MaterialsUEVplus.TranscendentMetal, 16L),
+ ItemList.Gravistar.get(32L), new Object[] { OrePrefixes.circuit.get(Materials.UIV), 4L },
+ TRINIUM_REINFORCED_STEEL.getFoil(64), LAFIUM.getFoil(64), CINOBITE.getFoil(64), PIKYONIUM.getFoil(64),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Emitter_UIV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UIV Sensor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Sensor_UEV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1L),
+ ItemList.Electric_Motor_UIV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.TranscendentMetal, 8L),
+ ItemList.Gravistar.get(32), new Object[] { OrePrefixes.circuit.get(Materials.UIV), 4L },
+ TRINIUM_REINFORCED_STEEL.getFoil(64), LAFIUM.getFoil(64), CINOBITE.getFoil(64), PIKYONIUM.getFoil(64),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 7L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Sensor_UIV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // ---------------------------------------------------------------------
+
+ // ------------------------ UIV Field Generator ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Field_Generator_UEV.get(1),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.TranscendentMetal, 6L),
+ ItemList.Gravistar.get(16L), ItemList.Emitter_UIV.get(4L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 4 },
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8L) },
+ new FluidStack[] { fluid_0, fluid_1 },
+ ItemList.Field_Generator_UIV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // ---------------------------------------------------------------------
+
+ }
+
+ private void itemPartsUMVAsslineRecipes() {
+
+ // ----------------------------------------------------------------------
+ // ------------------------- Set up information -------------------------
+ // ----------------------------------------------------------------------
+
+ Fluid mutated_living_solder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+ Fluid hypogen = FluidRegistry.getFluid("molten.hypogen");
+ Fluid celestialTungsten = FluidRegistry.getFluid("molten.celestialtungsten");
+
+ int total_computation = 192_000;
+ int comp_per_second = 256;
+ int research_eu_per_tick = (int) TierEU.RECIPE_UIV;
+ int research_amperage = 1;
+
+ FluidStack fluid_0 = hypogen != null ? new FluidStack(hypogen, 576) : null;
+ FluidStack fluid_1 = celestialTungsten != null ? new FluidStack(celestialTungsten, 576) : null;
+ FluidStack fluid_2 = new FluidStack(mutated_living_solder, 2592);
+ FluidStack fluid_3 = Materials.Lubricant.getFluid(4000);
+
+ int crafting_time_in_ticks = 1000;
+ int crafting_eu_per_tick = (int) TierEU.RECIPE_UIV;
+
+ // -------------------------------------------------------------
+
+ // ------------------------- UMV Motor -------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Motor_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.TengamAttuned, 32L),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.SpaceTime, 16L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.SpaceTime, 32L), HYPOGEN.getFineWire(64),
+ HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64),
+ HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 },
+ ItemList.Electric_Motor_UMV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // --------------------- UMV Electric Pump ---------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Pump_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UMV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Infinity, 2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 4L),
+ GTOreDictUnificator.get(OrePrefixes.screw, MaterialsUEVplus.SpaceTime, 16L),
+ new Object[] { OrePrefixes.ring.get(Materials.AnySyntheticRubber), 64L },
+ GTOreDictUnificator.get(OrePrefixes.rotor, MaterialsUEVplus.SpaceTime, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 },
+ ItemList.Electric_Pump_UMV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ----------------------- UMV Conveyor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Conveyor_Module_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { ItemList.Electric_Motor_UMV.get(2L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.SpaceTime, 64L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 2L),
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 64L },
+ new Object[] { OrePrefixes.plate.get(Materials.AnySyntheticRubber), 16L } },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 },
+ ItemList.Conveyor_Module_UMV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UMV Robot Arm --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Robot_Arm_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.SpaceTime, 6L),
+ ItemList.Electric_Motor_UMV.get(2L), ItemList.Electric_Piston_UMV.get(1L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 2L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 4L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 6L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 },
+ ItemList.Robot_Arm_UMV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UMV Electric Piston --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Piston_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new ItemStack[] { ItemList.Electric_Motor_UMV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.round, MaterialsUEVplus.SpaceTime, 64L),
+ GTOreDictUnificator.get(OrePrefixes.stick, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.gear, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.SpaceTime, 4L),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 4L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2, fluid_3 },
+ ItemList.Electric_Piston_UMV.get(1),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UMV Emitter ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Emitter_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1L),
+ ItemList.Electric_Motor_UMV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.stick, MaterialsUEVplus.SpaceTime, 16L), ItemList.Gravistar.get(64),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 4L }, CELESTIAL_TUNGSTEN.getFoil(64),
+ QUANTUM.getFoil(64), ASTRAL_TITANIUM.getFoil(64), TITANSTEEL.getFoil(64),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Emitter_UMV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UMV Sensor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Sensor_UIV.get(1L),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1L),
+ ItemList.Electric_Motor_UMV.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 8L), ItemList.Gravistar.get(64),
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 4L }, CELESTIAL_TUNGSTEN.getFoil(64),
+ QUANTUM.getFoil(64), ASTRAL_TITANIUM.getFoil(64), TITANSTEEL.getFoil(64),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 7L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Sensor_UMV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // ---------------------------------------------------------------------
+
+ // ------------------------ UMV Field Generator ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Field_Generator_UIV.get(1),
+ total_computation,
+ comp_per_second,
+ research_eu_per_tick,
+ research_amperage,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 1L),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 6L), ItemList.Gravistar.get(32L),
+ ItemList.Emitter_UMV.get(4L), new Object[] { OrePrefixes.circuit.get(Materials.UXV), 4 },
+ HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64),
+ HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64), HYPOGEN.getFineWire(64),
+ GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8L) },
+ new FluidStack[] { fluid_0, fluid_1, fluid_2 },
+ ItemList.Field_Generator_UMV.get(1L),
+ crafting_time_in_ticks,
+ crafting_eu_per_tick);
+
+ // ---------------------------------------------------------------------
+
+ }
+
+ private void itemPartsUXVAsslineRecipes() {
+
+ // ----------------------------------------------------------------------
+ // ------------------------- Set up information -------------------------
+ // ----------------------------------------------------------------------
+
+ Fluid mutatedLivingSolder = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ FluidStack moltenMHDCSM_576 = MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter.getMolten(576);
+ FluidStack moltenSpaceTime_576 = MaterialsUEVplus.SpaceTime.getMolten(576);
+ FluidStack moltenUniversium_576 = MaterialsUEVplus.Universium.getMolten(576);
+ FluidStack lubricantFluid_8000 = Materials.Lubricant.getFluid(8000);
+ FluidStack solderingAlloy_14_400 = new FluidStack(mutatedLivingSolder, 14_400);
+
+ int totalComputation = 384_000;
+ int compPerSecond = 512;
+ int researchEuPerTick = 64_000_000;
+ int researchAmperage = 2;
+
+ int craftingTimeInTicks = 1000;
+ int craftingEuPerTick = (int) TierEU.RECIPE_UMV;
+
+ // -------------------------------------------------------------
+
+ // ------------------------- UXV Motor -------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Motor_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new ItemStack[] { ItemList.EnergisedTesseract.get(1),
+ GTOreDictUnificator
+ .get(OrePrefixes.stickLong, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 16L),
+ GTOreDictUnificator
+ .get(OrePrefixes.ring, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ GTOreDictUnificator
+ .get(OrePrefixes.round, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 32L),
+
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.SuperconductorUMVBase, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.SuperconductorUMVBase, 64L),
+
+ GTOreDictUnificator
+ .get(OrePrefixes.wireFine, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+ GTOreDictUnificator
+ .get(OrePrefixes.wireFine, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+
+ GTOreDictUnificator.get(OrePrefixes.wireFine, MaterialsUEVplus.Universium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, MaterialsUEVplus.Universium, 64L),
+
+ GTOreDictUnificator.get("wireFineShirabon", 64L), GTOreDictUnificator.get("wireFineShirabon", 64L),
+
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 2L),
+ Materials.Neutronium.getNanite(4) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 },
+ ItemList.Electric_Motor_UXV.get(1L),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // -------------------------------------------------------------
+
+ // --------------------- UXV Electric Pump ---------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Pump_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] { ItemList.Electric_Motor_UXV.get(1L),
+ GTOreDictUnificator.get(OrePrefixes.pipeLarge, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 4L),
+ GTOreDictUnificator
+ .get(OrePrefixes.screw, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 16L),
+ GTOreDictUnificator.get(OrePrefixes.ring, MaterialsKevlar.Kevlar, 64L),
+ GTOreDictUnificator.get("ringRadoxPoly", 64L),
+ GTOreDictUnificator
+ .get(OrePrefixes.rotor, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 4L),
+ GTOreDictUnificator.get("rotorShirabon", 4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 2L),
+ Materials.Neutronium.getNanite(4) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 },
+ ItemList.Electric_Pump_UXV.get(1),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // -------------------------------------------------------------
+
+ // ----------------------- UXV Conveyor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Conveyor_Module_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] { ItemList.Electric_Motor_UXV.get(2L),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2L),
+ GTOreDictUnificator
+ .get(OrePrefixes.ring, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ GTOreDictUnificator
+ .get(OrePrefixes.round, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 2L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 2L),
+ MaterialsKevlar.Kevlar.getPlates(64), MaterialsKevlar.Kevlar.getPlates(16),
+ GTOreDictUnificator.get("plateRadoxPoly", 64L), GTOreDictUnificator.get("plateRadoxPoly", 16L),
+ Materials.Neutronium.getNanite(4) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 },
+ ItemList.Conveyor_Module_UXV.get(1),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UXV Robot Arm --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Robot_Arm_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] {
+ GTOreDictUnificator
+ .get(OrePrefixes.stickLong, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ GTOreDictUnificator
+ .get(OrePrefixes.gear, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2L),
+ GTOreDictUnificator.get("gearGtShirabon", 2L),
+ GTOreDictUnificator
+ .get(OrePrefixes.gearGtSmall, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 6L),
+ GTOreDictUnificator.get("gearGtSmallShirabon", 6L), ItemList.Electric_Motor_UXV.get(2L),
+ ItemList.Electric_Piston_UXV.get(1L), new Object[] { OrePrefixes.circuit.get(Materials.UXV), 2L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 4L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 8L },
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 6L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 6L),
+ Materials.Neutronium.getNanite(8) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 },
+ ItemList.Robot_Arm_UXV.get(1L),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // -------------------------------------------------------------
+
+ // -------------------- UXV Electric Piston --------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Electric_Piston_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new ItemStack[] { ItemList.Electric_Motor_UXV.get(1L),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 6L),
+ GTOreDictUnificator
+ .get(OrePrefixes.ring, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ GTOreDictUnificator
+ .get(OrePrefixes.round, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+ GTOreDictUnificator
+ .get(OrePrefixes.stick, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ GTOreDictUnificator
+ .get(OrePrefixes.gear, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2L),
+ GTOreDictUnificator.get("gearGtShirabon", 2L),
+ GTOreDictUnificator
+ .get(OrePrefixes.gearGtSmall, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 4L),
+ GTOreDictUnificator.get("gearGtSmallShirabon", 4L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 4L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 4L),
+ Materials.Neutronium.getNanite(4) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, lubricantFluid_8000 },
+ ItemList.Electric_Piston_UXV.get(1),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UXV Emitter ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Emitter_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] {
+ GTOreDictUnificator
+ .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1L),
+ ItemList.Electric_Motor_UXV.get(1L),
+ GTOreDictUnificator
+ .get(OrePrefixes.stick, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 16L),
+ ItemList.NuclearStar.get(16), new Object[] { OrePrefixes.circuit.get(Materials.UXV), 4L },
+ GTOreDictUnificator
+ .get(OrePrefixes.foil, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64),
+ GTOreDictUnificator.get("foilShirabon", 64),
+ GTOreDictUnificator.get(OrePrefixes.foil, MaterialsUEVplus.SpaceTime, 64),
+ GTOreDictUnificator.get(OrePrefixes.foil, MaterialsUEVplus.Universium, 64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 7L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 7L), Materials.Neutronium.getNanite(8)
+
+ },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, solderingAlloy_14_400 },
+ ItemList.Emitter_UXV.get(1L),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // -------------------------------------------------------------
+
+ // ------------------------ UXV Sensor ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Sensor_UMV.get(1L),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] {
+ GTOreDictUnificator
+ .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1L),
+ ItemList.Electric_Motor_UXV.get(1L),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8L),
+ ItemList.NuclearStar.get(16), new Object[] { OrePrefixes.circuit.get(Materials.UXV), 4L },
+ GTOreDictUnificator
+ .get(OrePrefixes.foil, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64),
+ GTOreDictUnificator.get("foilShirabon", 64),
+ GTOreDictUnificator.get(OrePrefixes.foil, MaterialsUEVplus.SpaceTime, 64),
+ GTOreDictUnificator.get(OrePrefixes.foil, MaterialsUEVplus.Universium, 64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 7L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 7L),
+ Materials.Neutronium.getNanite(8) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, solderingAlloy_14_400 },
+ ItemList.Sensor_UXV.get(1L),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // ---------------------------------------------------------------------
+
+ // ------------------------ UXV Field Generator ------------------------
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Field_Generator_UMV.get(1),
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] {
+ GTOreDictUnificator
+ .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1L),
+ GTOreDictUnificator
+ .get(OrePrefixes.plate, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 6L),
+ ItemList.NuclearStar.get(64L), ItemList.Emitter_UXV.get(4L),
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 8 },
+
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.SuperconductorUMVBase, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.SuperconductorUMVBase, 64L),
+ GTOreDictUnificator
+ .get(OrePrefixes.wireFine, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+ GTOreDictUnificator
+ .get(OrePrefixes.wireFine, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, MaterialsUEVplus.Universium, 64L),
+ GTOreDictUnificator.get(OrePrefixes.wireFine, MaterialsUEVplus.Universium, 64L),
+ GTOreDictUnificator.get("wireFineShirabon", 64L), GTOreDictUnificator.get("wireFineShirabon", 64L),
+
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 8L),
+ GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 8L),
+ Materials.Neutronium.getNanite(12) },
+ new FluidStack[] { moltenMHDCSM_576, moltenSpaceTime_576, moltenUniversium_576, solderingAlloy_14_400 },
+ ItemList.Field_Generator_UXV.get(1L),
+ craftingTimeInTicks,
+ craftingEuPerTick);
+
+ // ---------------------------------------------------------------------
+
+ }
+
+ private void addEOHRecipes() {
+ Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+ ItemStack largeShirabonPlate = TGregUtils.newItemStack(Materials.get("Shirabon"), PartTypes.LargePlate, 1);
+ ItemStack largeInfinityPlate = new ItemStack(TinkerTools.largePlate, 1, Tonkers.infinityMetalId);
+ ItemStack largeBedrockiumPlate = new ItemStack(TinkerTools.largePlate, 1, ExtraUtils.tcon_bedrock_material_id);
+ ItemStack largeCosmicNeutroniumPlate = new ItemStack(TinkerTools.largePlate, 1, Tonkers.neutroniumId);
+
+ final FluidStack[] specialFluid = new FluidStack[] { MaterialsUEVplus.SpaceTime.getMolten(1_440),
+ MaterialsUEVplus.SpaceTime.getMolten(1_440), MaterialsUEVplus.SpaceTime.getMolten(1_440),
+ MaterialsUEVplus.SpaceTime.getMolten(1_440), MaterialsUEVplus.SpaceTime.getMolten(1_440),
+ MaterialsUEVplus.SpaceTime.getMolten(1_440), MaterialsUEVplus.SpaceTime.getMolten(1_440),
+ MaterialsUEVplus.SpaceTime.getMolten(1_440), MaterialsUEVplus.SpaceTime.getMolten(1_440) };
+
+ final ItemStack[] plateList = new ItemStack[] {
+ // Dense Shirabon plate.
+ GTOreDictUnificator.get("boltShirabon", 2),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.WhiteDwarfMatter, 2),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.WhiteDwarfMatter, 8),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.WhiteDwarfMatter, 32),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.BlackDwarfMatter, 2),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.BlackDwarfMatter, 8),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.BlackDwarfMatter, 32),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2),
+ GTOreDictUnificator
+ .get(OrePrefixes.bolt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8) };
+
+ // EOH Controller Recipe.
+ {
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Machine_Multi_PlasmaForge.get(1),
+ 512_000_000, // total comp
+ 2 * 16_384, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ 64, // amperage
+ new Object[] {
+ // Space elevator controller.
+ ItemList.SpaceElevatorController.get(16), ItemList.Machine_Multi_PlasmaForge.get(4),
+
+ CustomItemList.EOH_Infinite_Energy_Casing.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier0.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier0.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier0.get(1),
+
+ CustomItemList.Machine_Multi_Computer.get(64), ItemList.AcceleratorUV.get(1),
+ ItemList.Quantum_Chest_IV.get(64),
+ // Void miner III.
+ GTUtility.copyAmount(64, ItemRegistry.voidminer[2]),
+
+ ItemList.Field_Generator_UMV.get(16), ItemList.Robot_Arm_UMV.get(16), ItemList.ZPM4.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 64) },
+ new FluidStack[] { MaterialsUEVplus.Time.getMolten(144_000), MaterialsUEVplus.Space.getMolten(144_000),
+ FluidUtils.getFluidStack("molten.metastable oganesson", 144 * 256 * 4),
+ FluidUtils.getFluidStack("molten.shirabon", 144 * 256 * 4), },
+ CustomItemList.Machine_Multi_EyeOfHarmony.get(1),
+ 400 * MINUTES,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ // EOH Spatial Individual Casing
+ {
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ // Dyson Swarm Module Deployment Unit Base Casing
+ getModItem(GalaxySpace.ID, "dysonswarmparts", 1, 2),
+ 256_000_000, // total comp
+ 16_384, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ 32, // amperage
+ new Object[] {
+ // Space elevator blocks.
+ getModItem(GTNHIntergalactic.ID, "gt.blockcasingsSE", 64, 0),
+ // Cosmic neutronium block.
+ getModItem(Avaritia.ID, "Resource_Block", 64, 0),
+ GTOreDictUnificator.get(OrePrefixes.block, Materials.Neutronium, 64),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Neutronium, 48), largeBedrockiumPlate,
+ largeCosmicNeutroniumPlate, largeShirabonPlate, largeInfinityPlate,
+ // UV Solar panel
+ getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0), ItemList.Quantum_Chest_IV.get(1),
+ // Gravitation Engine
+ getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3), ItemList.EnergisedTesseract.get(1) },
+
+ new FluidStack[] { Materials.Neutronium.getMolten(144 * 256 * 4),
+ Materials.CosmicNeutronium.getMolten(144 * 256 * 4), new FluidStack(solderUEV, 144 * 256 * 2),
+ MaterialsUEVplus.Space.getMolten(1_440) },
+ CustomItemList.EOH_Reinforced_Spatial_Casing.get(4),
+ 10_000,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ // EOH Spacetime Compression
+ {
+ // ME Digital singularity.
+ final ItemStack ME_Singularity = getModItem(
+ "appliedenergistics2",
+ "item.ItemExtremeStorageCell.Singularity",
+ 1);
+ final ItemStack baseCasing = CustomItemList.EOH_Reinforced_Spatial_Casing.get(1);
+
+ int baseCompPerSec = 16_384;
+
+ int set;
+ int tier;
+ int absoluteTier;
+
+ // T0 - Shirabon
+ // T1 - White Dwarf Matter
+ // T2 - White Dwarf Matter
+ // T3 - White Dwarf Matter
+ // T4 - Black Dwarf Matter
+ // T5 - Black Dwarf Matter
+ // T6 - Black Dwarf Matter
+ // T7 - Black Dwarf Matter
+ // T8 - MHDCSM.
+
+ {
+ tier = 1;
+ set = 1;
+
+ absoluteTier = 0;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.EOH_Reinforced_Spatial_Casing.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T7 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Cosmic fabric manipulator
+ GregtechItemList.CosmicFabricManipulator.get(tier), ME_Singularity, plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier] },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier0.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ tier++;
+ absoluteTier = 1;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier0.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T7 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Cosmic fabric manipulator
+ GregtechItemList.CosmicFabricManipulator.get(tier), ME_Singularity, ME_Singularity,
+ plateList[absoluteTier], GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier] },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier1.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ tier++;
+ absoluteTier = 2;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier1.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T7 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Cosmic fabric manipulator
+ GregtechItemList.CosmicFabricManipulator.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier2.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ {
+ tier = 1;
+ set = 2;
+ absoluteTier = 3;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier2.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T8 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Infinity infused manipulator
+ GregtechItemList.InfinityInfusedManipulator.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, ME_Singularity, plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier3.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ tier++;
+ absoluteTier = 4;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier3.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T8 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Infinity infused manipulator
+ GregtechItemList.InfinityInfusedManipulator.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, ME_Singularity, ME_Singularity, plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier4.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ tier++;
+ absoluteTier = 5;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier4.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T8 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Infinity infused manipulator
+ GregtechItemList.InfinityInfusedManipulator.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity, plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier5.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ {
+ tier = 1;
+ set = 3;
+ absoluteTier = 6;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier5.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T9 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Spacetime continuum ripper
+ GregtechItemList.SpaceTimeContinuumRipper.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity,
+ plateList[absoluteTier], GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier6.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ tier++;
+ absoluteTier = 7;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier6.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T9 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Spacetime continuum ripper
+ GregtechItemList.SpaceTimeContinuumRipper.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity,
+ plateList[absoluteTier], GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier7.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+
+ tier++;
+ absoluteTier = 8;
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier7.get(1),
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing,
+ // T9 Yotta cell.
+ new ItemStack(yottaFluidTankCell, tier, (5 + set)),
+ // quantum tank V (max tier)
+ ItemList.Quantum_Tank_IV.get(4 * (1 + absoluteTier)),
+ // Inf chest
+ getModItem(AvaritiaAddons.ID, "InfinityChest", absoluteTier + 1),
+ // Spacetime continuum ripper
+ GregtechItemList.SpaceTimeContinuumRipper.get(tier), ME_Singularity, ME_Singularity,
+ ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity, ME_Singularity,
+ ME_Singularity, plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, set) },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier], },
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.get(1),
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+ }
+ }
+
+ // EOH Time Dilation Field Generators.
+ {
+ final ItemStack baseCasing = CustomItemList.EOH_Reinforced_Temporal_Casing.get(1);
+
+ int baseCompPerSec = 16_384;
+
+ // T0 - Shirabon
+ // T1 - White Dwarf Matter
+ // T2 - White Dwarf Matter
+ // T3 - White Dwarf Matter
+ // T4 - Black Dwarf Matter
+ // T5 - Black Dwarf Matter
+ // T6 - Black Dwarf Matter
+ // T7 - Black Dwarf Matter
+ // T8 - MHDCSM.
+
+ final ItemStack[] fusionReactors = new ItemStack[] { ItemList.FusionComputer_ZPMV.get(1),
+ ItemList.FusionComputer_ZPMV.get(2), ItemList.FusionComputer_ZPMV.get(3),
+ ItemList.FusionComputer_UV.get(1), ItemList.FusionComputer_UV.get(2), ItemList.FusionComputer_UV.get(3),
+ // MK4 Fusion Computer.
+ GregtechItemList.FusionComputer_UV2.get(1), GregtechItemList.FusionComputer_UV2.get(2),
+ GregtechItemList.FusionComputer_UV2.get(3) };
+
+ final ItemStack[] fusionCoils = new ItemStack[] { new ItemStack(compactFusionCoil, 1, 1),
+ new ItemStack(compactFusionCoil, 2, 1), new ItemStack(compactFusionCoil, 3, 1),
+ new ItemStack(compactFusionCoil, 1, 2), new ItemStack(compactFusionCoil, 2, 2),
+ new ItemStack(compactFusionCoil, 3, 2), new ItemStack(compactFusionCoil, 1, 3),
+ new ItemStack(compactFusionCoil, 2, 3), new ItemStack(compactFusionCoil, 3, 3) };
+
+ final ItemStack[] researchStuff = new ItemStack[] { baseCasing,
+ CustomItemList.TimeAccelerationFieldGeneratorTier0.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier1.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier2.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier3.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier4.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier5.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier6.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier7.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier8.get(1) };
+
+ // Spectral Components
+ // Cycling should fix issues with conflicting recipes for T1-T2, T4-T5 & T7-T8
+ final ItemStack[] spectralComponents = new ItemStack[] {
+ // Red Spectral Component
+ getModItem(SuperSolarPanels.ID, "redcomponent", 64),
+ // Green Spectral Component
+ getModItem(SuperSolarPanels.ID, "greencomponent", 64),
+ // Blue Spectral Component
+ getModItem(SuperSolarPanels.ID, "bluecomponent", 64) };
+
+ for (int absoluteTier = 0; absoluteTier < 9; absoluteTier++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ researchStuff[absoluteTier],
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] { baseCasing, fusionReactors[absoluteTier], fusionCoils[absoluteTier],
+ // UV Solar panel
+ getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", absoluteTier + 1, 0),
+
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, absoluteTier + 1),
+ // Red Spectral Component
+ spectralComponents[absoluteTier % spectralComponents.length],
+ // Green Spectral Component
+ spectralComponents[(absoluteTier + 1) % spectralComponents.length],
+ // Blue Spectral Component
+ spectralComponents[(absoluteTier + 2) % spectralComponents.length],
+
+ plateList[absoluteTier],
+ // Dyson Swarm Module Deployment Unit Base Casing
+ getModItem(GalaxySpace.ID, "dysonswarmparts", (absoluteTier + 1) * 4, 2),
+ // Dyson Swarm Energy Receiver Dish Block
+ getModItem(GalaxySpace.ID, "dysonswarmparts", (absoluteTier + 1) * 4, 1),
+ ItemList.AcceleratorUV.get((absoluteTier + 1) * 4),
+
+ ItemList.Energy_Module.get(absoluteTier + 1), GTOreDictUnificator
+ .get(OrePrefixes.wireGt01, Materials.SuperconductorUMV, (absoluteTier + 1) * 4),
+
+ },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Time.getMolten(1_440 * (absoluteTier + 1)), specialFluid[absoluteTier] },
+ researchStuff[absoluteTier + 1],
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ }
+
+ // EOH Stabilisation Field Generators.
+ {
+ final ItemStack baseCasing = CustomItemList.EOH_Infinite_Energy_Casing.get(1);
+
+ int baseCompPerSec = 16_384;
+
+ // T0 - Shirabon
+ // T1 - White Dwarf Matter
+ // T2 - White Dwarf Matter
+ // T3 - White Dwarf Matter
+ // T4 - Black Dwarf Matter
+ // T5 - Black Dwarf Matter
+ // T6 - Black Dwarf Matter
+ // T7 - Black Dwarf Matter
+ // T8 - MHDCSM.
+
+ final ItemStack[] researchStuff = new ItemStack[] { baseCasing,
+ CustomItemList.StabilisationFieldGeneratorTier0.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier1.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier2.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier3.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier4.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier5.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier6.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier7.get(1),
+ CustomItemList.StabilisationFieldGeneratorTier8.get(1) };
+
+ final ItemStack[] timeCasings = new ItemStack[] { CustomItemList.TimeAccelerationFieldGeneratorTier0.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier1.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier2.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier3.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier4.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier5.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier6.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier7.get(1),
+ CustomItemList.TimeAccelerationFieldGeneratorTier8.get(1) };
+
+ final ItemStack[] spatialCasings = new ItemStack[] {
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier0.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier1.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier2.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier3.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier4.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier5.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier6.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier7.get(1),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.get(1) };
+
+ for (int absoluteTier = 0; absoluteTier < 9; absoluteTier++) {
+
+ // spotless:off
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ researchStuff[absoluteTier],
+ (absoluteTier + 1) * 48_000_000, // total comp
+ (absoluteTier + 1) * baseCompPerSec, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ (absoluteTier + 1) * 8, // amperage
+ new Object[] {
+ timeCasings[absoluteTier],
+ spatialCasings[absoluteTier],
+ baseCasing,
+ // Dyson Swarm Module.
+ getModItem(GalaxySpace.ID, "item.DysonSwarmParts", 4 * (absoluteTier + 1), 0),
+
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUMVBase, 4 * (absoluteTier + 1)),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUIVBase, 4 * (absoluteTier + 1)),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUEVBase, 4 * (absoluteTier + 1)),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, Materials.Longasssuperconductornameforuhvwire, 4 * (absoluteTier + 1)),
+
+ // Gravitation Engine
+ getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3),
+ getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3),
+ getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3),
+ getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3),
+
+ plateList[absoluteTier],
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 2 * (absoluteTier + 1)),
+ GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.SpaceTime, absoluteTier + 1),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.SpaceTime, absoluteTier + 1)
+
+
+ },
+ new FluidStack[] { new FluidStack(solderUEV, (int) (2_880 * pow(2L, absoluteTier))),
+ MaterialsUEVplus.Time.getMolten(1_440 * (absoluteTier + 1)),
+ MaterialsUEVplus.Space.getMolten(1_440 * (absoluteTier + 1)),
+ specialFluid[absoluteTier] },
+ researchStuff[absoluteTier + 1],
+ (absoluteTier + 1) * 4_000 * 20,
+ (int) TierEU.RECIPE_UMV);
+ // spotless:on
+ }
+
+ }
+
+ // EOH Reinforced Temporal casings
+ {
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.AcceleratorUV.get(1),
+ 256_000_000, // total comp
+ 16_384, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ 32, // amperage
+ new Object[] {
+ // Space elevator blocks.
+ getModItem(GTNHIntergalactic.ID, "gt.blockcasingsSE", 64, 0),
+ // Cosmic neutronium block.
+ getModItem(Avaritia.ID, "Resource_Block", 64, 0),
+ GTOreDictUnificator.get(OrePrefixes.block, Materials.Neutronium, 64),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Neutronium, 48),
+ // Large Bedrockium Plate
+ largeBedrockiumPlate, largeCosmicNeutroniumPlate, largeShirabonPlate, largeInfinityPlate,
+ // UV Solar panel
+ getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0),
+ // Ultimate Time Anomaly.
+ ItemList.AcceleratorUV.get(4),
+ // Gravitation Engine.
+ getModItem(GraviSuite.ID, "itemSimpleItem", 64, 3), ItemList.EnergisedTesseract.get(1) },
+
+ new FluidStack[] { Materials.Neutronium.getMolten(144 * 256 * 4),
+ Materials.CosmicNeutronium.getMolten(144 * 256 * 4), new FluidStack(solderUEV, 144 * 256 * 2),
+ MaterialsUEVplus.Time.getMolten(1_440) },
+ CustomItemList.EOH_Reinforced_Temporal_Casing.get(4),
+ 10_000,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ // EOH Infinite Spacetime Energy Boundary Casing
+ {
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 1),
+ 256_000_000, // total comp
+ 16_384, // comp/s
+ (int) TierEU.RECIPE_MAX, // eu/t
+ 32, // amperage
+ new Object[] { TileEntities.lsc.getStackForm(1),
+ // UV Solar panel
+ getModItem(SuperSolarPanels.ID, "PhotonicSolarPanel", 1, 0),
+ // UHV Capacitor block
+ new ItemStack(lscLapotronicEnergyUnit, 1, 5),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUMV, 4),
+
+ CustomItemList.Machine_Multi_Transformer.get(16), ItemList.Wireless_Hatch_Energy_UMV.get(4),
+ CustomItemList.eM_energyTunnel5_UMV.get(1),
+ // High Energy Flow Circuit.
+ getModItem(NewHorizonsCoreMod.ID, "item.HighEnergyFlowCircuit", 64, 0),
+
+ // Metastable Oganesson Plate.
+ GTOreDictUnificator.get("plateMetastableOganesson", 6),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.BlueTopaz, 6),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.CallistoIce, 6),
+ GTOreDictUnificator.get(OrePrefixes.plate, Materials.Ledox, 6),
+
+ // Metastable Oganesson Screw.
+ GTOreDictUnificator.get("screwMetastableOganesson", 6),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.BlueTopaz, 6),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.CallistoIce, 6),
+ GTOreDictUnificator.get(OrePrefixes.screw, Materials.Ledox, 6), },
+
+ new FluidStack[] { Materials.Neutronium.getMolten(144 * 256 * 16),
+ Materials.CosmicNeutronium.getMolten(144 * 256 * 16), new FluidStack(solderUEV, 144 * 256 * 8),
+ MaterialsUEVplus.SpaceTime.getMolten(16_000) },
+ CustomItemList.EOH_Infinite_Energy_Casing.get(1),
+ 10_000,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ // Astral Array Fabricator
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.get(1),
+ 480_000_000,
+ 32_768,
+ (int) TierEU.RECIPE_MAX,
+ 64,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.WhiteDwarfMatter, 8),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.BlackDwarfMatter, 8),
+ ItemList.EnergisedTesseract.get(32),
+ GTOreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.Eternity, 16),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.get(64),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.get(64),
+ CustomItemList.SpacetimeCompressionFieldGeneratorTier8.get(10),
+ CustomItemList.TimeAccelerationFieldGeneratorTier8.get(64),
+ CustomItemList.TimeAccelerationFieldGeneratorTier8.get(64),
+ CustomItemList.TimeAccelerationFieldGeneratorTier8.get(40),
+ CustomItemList.StabilisationFieldGeneratorTier8.get(48),
+ CustomItemList.EOH_Infinite_Energy_Casing.get(32),
+ CustomItemList.EOH_Reinforced_Temporal_Casing.get(64),
+ CustomItemList.EOH_Reinforced_Spatial_Casing.get(64), ItemList.Field_Generator_UMV.get(16) },
+ new FluidStack[] { MaterialsUEVplus.Space.getMolten(32_768L * 64),
+ MaterialsUEVplus.Eternity.getMolten(16_384L * 64), MaterialsUEVplus.ExcitedDTSC.getFluid(8_192L * 64) },
+ CustomItemList.astralArrayFabricator.get(1),
+ 300 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+ }
+
+ private void addGodforgeRecipes() {
+ if (!tectech.TecTech.configTecTech.ENABLE_GOD_FORGE) return;
+
+ if (EternalSingularity.isModLoaded()) {
+ // Controller
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_StellarEnergySiphonCasing.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_StellarEnergySiphonCasing.get(4), ItemList.ZPM4.get(2),
+ ItemList.Casing_Dim_Bridge.get(64), getModItem(EternalSingularity.ID, "eternal_singularity", 32L),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Mellion, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SixPhasedCopper, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 16),
+ GGMaterial.metastableOganesson.get(OrePrefixes.plateDense, 16),
+ new ItemStack(
+ Particle.getBaseParticle(Particle.GRAVITON)
+ .getItem(),
+ 64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 16),
+ ItemList.Sensor_UIV.get(32), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 64),
+ CustomItemList.eM_energyTunnel7_UIV.get(1), ItemRegistry.energyDistributor[11] },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(2048 * 144),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(8_192_000), Materials.Thorium.getPlasma(256 * 144),
+ MaterialsUEVplus.TranscendentMetal.getMolten(2048 * 144) },
+ CustomItemList.Machine_Multi_ForgeOfGods.get(1),
+ 300 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ }
+
+ // Magnetic Confinement Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 8),
+ WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.block, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.TengamAttuned, 32),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 16),
+ MaterialsElements.STANDALONE.HYPOGEN.getScrew(8),
+ GTOreDictUnificator.get(OrePrefixes.screw, MaterialsUEVplus.SixPhasedCopper, 8),
+ ItemList.SuperconductorComposite.get(1), ItemList.Emitter_UIV.get(2),
+ ItemList.Electromagnet_Tengam.get(1) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(16 * 144),
+ Materials.Plutonium241.getPlasma(16 * 144) },
+ CustomItemList.Godforge_MagneticConfinementCasing.get(8),
+ 50 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ if (GalacticraftAmunRa.isModLoaded()) {
+ // Structure Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_MagneticConfinementCasing.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Mellion, 16),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SixPhasedCopper, 16),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 8),
+ MaterialsElements.STANDALONE.ASTRAL_TITANIUM.getFrameBox(8),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 6),
+ new ItemStack(
+ Particle.getBaseParticle(Particle.GRAVITON)
+ .getItem(),
+ 8),
+ ItemList.Field_Generator_UEV.get(2),
+ // Artificial Gravity Generator
+ getModItem(GalacticraftAmunRa.ID, "tile.machines3", 4L, 1) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(16 * 144),
+ Materials.Lead.getPlasma(2 * 144) },
+ CustomItemList.Godforge_BoundlessStructureCasing.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+ }
+
+ // Guidance Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_BoundlessStructureCasing.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_BoundlessStructureCasing.get(1), ItemList.ZPM2.get(1),
+ GregtechItemList.CosmicFabricManipulator.get(1), ItemList.Field_Generator_UEV.get(2),
+ ItemList.Emitter_UIV.get(3), GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 6),
+ GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.Creon, 8),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.Mellion, 8) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(16 * 144),
+ Materials.Thorium.getPlasma(2 * 144) },
+ CustomItemList.Godforge_GuidanceCasing.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ // Energy Siphon Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_GuidanceCasing.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_BoundlessStructureCasing.get(1),
+ ItemList.Casing_Coil_Hypogen.get(64), ItemList.Casing_Coil_Hypogen.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt08, Materials.SuperconductorUIV, 32),
+ ItemList.neutroniumHeatCapacitor.get(1L), ItemList.neutroniumHeatCapacitor.get(1L),
+ ItemList.Reactor_Coolant_Sp_6.get(1L), ItemList.Reactor_Coolant_Sp_6.get(1L),
+ CustomItemList.eM_energyTunnel7_UIV.get(1), ItemList.Generator_Plasma_UV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 6),
+ MaterialsElements.STANDALONE.HYPOGEN.getPlate(6) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(16 * 144),
+ Materials.SuperconductorUIVBase.getMolten(32 * 144L), MaterialsUEVplus.ExcitedDTEC.getFluid(128_000L) },
+ CustomItemList.Godforge_StellarEnergySiphonCasing.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ // Gravitational Lens
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ new ItemStack(BlockQuantumGlass.INSTANCE, 1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { new ItemStack(BlockQuantumGlass.INSTANCE, 8),
+ new ItemStack(ItemRegistry.bw_glasses[1], 8, 0), GregtechItemList.ForceFieldGlass.get(8),
+ new ItemStack(
+ Particle.getBaseParticle(Particle.GRAVITON)
+ .getItem(),
+ 32),
+ getItemContainer("RadoxPolymerLens").get(6), getItemContainer("ChromaticLens").get(6),
+ getItemContainer("MysteriousCrystalLens").get(6),
+ WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.lens, 6),
+ MaterialsElements.STANDALONE.CHRONOMATIC_GLASS.getPlateDense(36),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.Creon, 6),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.Mellion, 6),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.SixPhasedCopper, 6) },
+ new FluidStack[] { MaterialsElements.STANDALONE.RHUGNOR.getFluidStack(16 * 144),
+ MaterialsUEVplus.Creon.getMolten(16 * 144),
+ MaterialsElements.STANDALONE.ADVANCED_NITINOL.getFluidStack(1024 * 144) },
+ new ItemStack(BlockGodforgeGlass.INSTANCE, 1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ // Graviton Modulator 1
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.Battery_Gem_4.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_MagneticConfinementCasing.get(2),
+ ItemRefer.Field_Restriction_Coil_T3.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 16),
+ GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.Mellion, 8),
+ GregtechItemList.Battery_Gem_4.get(2), GregtechItemList.Laser_Lens_Special.get(4),
+ ItemList.Emitter_UIV.get(4), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 16),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 2) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(32 * 144),
+ Materials.SuperconductorUIVBase.getMolten(32 * 144), Materials.Infinity.getMolten(32 * 144) },
+ CustomItemList.Godforge_GravitonFlowModulatorTier1.get(2),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ // Graviton Modulator 2
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_GravitonFlowModulatorTier1.get(1),
+ 96_000_000,
+ 16_384,
+ (int) TierEU.RECIPE_UXV,
+ 128,
+ new Object[] { CustomItemList.Godforge_MagneticConfinementCasing.get(1),
+ ItemRefer.Field_Restriction_Coil_T4.get(1),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 8),
+ GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.Mellion, 4),
+ GregtechItemList.Battery_Gem_4.get(4), GregtechItemList.Laser_Lens_Special.get(8),
+ ItemList.Emitter_UMV.get(4), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UMV, 8),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 2),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Gold, 2) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(64 * 144),
+ Materials.SuperconductorUMVBase.getMolten(64 * 144), MaterialsUEVplus.SpaceTime.getMolten(64 * 144) },
+ CustomItemList.Godforge_GravitonFlowModulatorTier2.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // Graviton Modulator 3
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_GravitonFlowModulatorTier2.get(1),
+ 192_000_000,
+ 32_768,
+ (int) TierEU.RECIPE_MAX,
+ 256,
+ new Object[] { CustomItemList.Godforge_MagneticConfinementCasing.get(1),
+ ItemRefer.Field_Restriction_Coil_T4.get(4),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 64),
+ GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.Mellion, 64),
+ GregtechItemList.SpaceTimeContinuumRipper.get(8), GregtechItemList.Battery_Gem_4.get(8),
+ GregtechItemList.Laser_Lens_Special.get(8), ItemList.Emitter_UXV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 8),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 8),
+ GTOreDictUnificator.get(OrePrefixes.nanite, Materials.Gold, 8),
+ GTOreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.SixPhasedCopper, 8),
+ GTOreDictUnificator.get(OrePrefixes.nanite, MaterialsUEVplus.Universium, 8) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(256 * 144),
+ Materials.SuperconductorUMVBase.getMolten(256 * 144),
+ MaterialsUEVplus.WhiteDwarfMatter.getMolten(256 * 144),
+ MaterialsUEVplus.Eternity.getMolten(256 * 144) },
+ CustomItemList.Godforge_GravitonFlowModulatorTier3.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // Phonon Transmission Conduit
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Relativistic_Heat_Capacitor.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1),
+ GTOreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.Creon, 12),
+ new ItemStack(Blocks.tfftStorageField, 1, 9), ItemList.Tesseract.get(8),
+ ItemList.Relativistic_Heat_Capacitor.get(4), ItemList.Thermal_Superconductor.get(6),
+ ItemList.Field_Generator_UEV.get(4),
+ GTOreDictUnificator.get(OrePrefixes.bolt, MaterialsUEVplus.SixPhasedCopper, 24) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(64 * 144),
+ MaterialsUEVplus.PhononMedium.getFluid(1000), Materials.Plutonium241.getPlasma(16 * 144) },
+ CustomItemList.Godforge_HarmonicPhononTransmissionConduit.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ ItemStack megaEBF = GTUtility.copyAmount(64, ItemRegistry.megaMachines[0]);
+
+ // Smelting Module Controller
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ // mega ebf controller
+ ItemRegistry.megaMachines[0],
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_SingularityShieldingCasing.get(4), megaEBF,
+ ItemList.Machine_Multi_Furnace.get(64), ItemList.ZPM4.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 16),
+ ItemList.Robot_Arm_UIV.get(16), ItemList.Conveyor_Module_UIV.get(32),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SixPhasedCopper, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Mellion, 8),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 32) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(1024 * 144),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(2_048_000), Materials.Lead.getPlasma(256 * 144),
+ MaterialsUEVplus.TranscendentMetal.getMolten(1024 * 144) },
+ CustomItemList.Machine_Multi_SmeltingModule.get(1),
+ 300 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // Molten Module Controller
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GregtechItemList.Mega_AlloyBlastSmelter.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_SingularityShieldingCasing.get(4), megaEBF,
+ GregtechItemList.Mega_AlloyBlastSmelter.get(64), ItemList.ZPM4.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 32),
+ ItemList.Robot_Arm_UIV.get(16), ItemList.Conveyor_Module_UIV.get(32),
+ ItemList.Electric_Pump_UIV.get(64), ItemList.Relativistic_Heat_Capacitor.get(8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SixPhasedCopper, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Mellion, 8),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 32) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(1024 * 144),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(2_048_000), MaterialsUEVplus.PhononMedium.getFluid(32000),
+ MaterialsUEVplus.TranscendentMetal.getMolten(1024 * 144) },
+ CustomItemList.Machine_Multi_MoltenModule.get(1),
+ 300 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // Plasma Module Controller
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.FluidHeaterUIV.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_SingularityShieldingCasing.get(4), ItemList.FluidHeaterUIV.get(64),
+ GregtechItemList.FusionComputer_UV3.get(8), ItemList.ZPM4.get(1),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 32),
+ ItemList.Robot_Arm_UIV.get(16), ItemList.Conveyor_Module_UIV.get(32),
+ ItemList.Electric_Pump_UIV.get(64), ItemList.Relativistic_Heat_Capacitor.get(8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SixPhasedCopper, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Mellion, 8),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 32) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(1024 * 144),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(2_048_000), MaterialsUEVplus.PhononMedium.getFluid(32000),
+ MaterialsUEVplus.TranscendentMetal.getMolten(1024 * 144) },
+ CustomItemList.Machine_Multi_PlasmaModule.get(1),
+ 300 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // Exotic Module Controller
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ ItemList.Machine_Multi_TranscendentPlasmaMixer.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { CustomItemList.Godforge_SingularityShieldingCasing.get(4),
+ ItemList.Machine_Multi_TranscendentPlasmaMixer.get(4), ItemRefer.Compact_Fusion_MK5.get(1),
+ ItemList.ZPM4.get(4), GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 64),
+ ItemList.Robot_Arm_UIV.get(16), ItemList.Conveyor_Module_UIV.get(32),
+ ItemList.Electric_Pump_UIV.get(64), CustomItemList.Godforge_HarmonicPhononTransmissionConduit.get(8),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SixPhasedCopper, 32),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Mellion, 16),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 64) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(1024 * 144),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(2_048_000), MaterialsUEVplus.PhononMedium.getFluid(64000),
+ MaterialsUEVplus.TranscendentMetal.getMolten(1024 * 144) },
+ CustomItemList.Machine_Multi_QuarkGluonPlasmaModule.get(1),
+ 300 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+ }
+
+ private void addWirelessEnergyRecipes() {
+
+ Fluid solderUEV = FluidRegistry.getFluid("molten.mutatedlivingsolder") != null
+ ? FluidRegistry.getFluid("molten.mutatedlivingsolder")
+ : FluidRegistry.getFluid("molten.solderingalloy");
+
+ int recipeDurationTicks = 20 * 20;
+ int recipeEuPerTick = (int) TierEU.RECIPE_UMV;
+
+ int researchEuPerTick = (int) TierEU.RECIPE_UMV;
+ int researchAmperage = 4;
+ int compPerSecond = 2000;
+ int totalComputation = 500_000;
+
+ ItemStack[] energyHatches = { ItemList.Hatch_Energy_ULV.get(1), ItemList.Hatch_Energy_LV.get(1),
+ ItemList.Hatch_Energy_MV.get(1), ItemList.Hatch_Energy_HV.get(1), ItemList.Hatch_Energy_EV.get(1),
+ ItemList.Hatch_Energy_IV.get(1), ItemList.Hatch_Energy_LuV.get(1), ItemList.Hatch_Energy_ZPM.get(1),
+ ItemList.Hatch_Energy_UV.get(1), ItemList.Hatch_Energy_UHV.get(1), ItemList.Hatch_Energy_UEV.get(1L),
+ ItemList.Hatch_Energy_UIV.get(1L), ItemList.Hatch_Energy_UMV.get(1L), ItemList.Hatch_Energy_UXV.get(1L) };
+
+ ItemStack[] energyHatches_4A = { CustomItemList.eM_energyMulti4_EV.get(1),
+ CustomItemList.eM_energyMulti4_IV.get(1), CustomItemList.eM_energyMulti4_LuV.get(1),
+ CustomItemList.eM_energyMulti4_ZPM.get(1), CustomItemList.eM_energyMulti4_UV.get(1),
+ CustomItemList.eM_energyMulti4_UHV.get(1), CustomItemList.eM_energyMulti4_UEV.get(1),
+ CustomItemList.eM_energyMulti4_UIV.get(1), CustomItemList.eM_energyMulti4_UMV.get(1),
+ CustomItemList.eM_energyMulti4_UXV.get(1) };
+
+ ItemStack[] energyHatches_16A = { CustomItemList.eM_energyMulti16_EV.get(1),
+ CustomItemList.eM_energyMulti16_IV.get(1), CustomItemList.eM_energyMulti16_LuV.get(1),
+ CustomItemList.eM_energyMulti16_ZPM.get(1), CustomItemList.eM_energyMulti16_UV.get(1),
+ CustomItemList.eM_energyMulti16_UHV.get(1), CustomItemList.eM_energyMulti16_UEV.get(1),
+ CustomItemList.eM_energyMulti16_UIV.get(1), CustomItemList.eM_energyMulti16_UMV.get(1),
+ CustomItemList.eM_energyMulti16_UXV.get(1) };
+
+ ItemStack[] energyHatches_64A = { CustomItemList.eM_energyMulti64_EV.get(1),
+ CustomItemList.eM_energyMulti64_IV.get(1), CustomItemList.eM_energyMulti64_LuV.get(1),
+ CustomItemList.eM_energyMulti64_ZPM.get(1), CustomItemList.eM_energyMulti64_UV.get(1),
+ CustomItemList.eM_energyMulti64_UHV.get(1), CustomItemList.eM_energyMulti64_UEV.get(1),
+ CustomItemList.eM_energyMulti64_UIV.get(1), CustomItemList.eM_energyMulti64_UMV.get(1),
+ CustomItemList.eM_energyMulti64_UXV.get(1) };
+
+ ItemStack[] laserTargets_UXV = { CustomItemList.eM_energyTunnel1_UXV.get(1),
+ CustomItemList.eM_energyTunnel2_UXV.get(1), CustomItemList.eM_energyTunnel3_UXV.get(1),
+ CustomItemList.eM_energyTunnel4_UXV.get(1), CustomItemList.eM_energyTunnel5_UXV.get(1),
+ CustomItemList.eM_energyTunnel6_UXV.get(1), CustomItemList.eM_energyTunnel7_UXV.get(1),
+ CustomItemList.eM_energyTunnel8_UXV.get(1), CustomItemList.eM_energyTunnel9_UXV.get(1) };
+
+ ItemStack[] dynamoHatches = { ItemList.Hatch_Dynamo_ULV.get(1), ItemList.Hatch_Dynamo_LV.get(1),
+ ItemList.Hatch_Dynamo_MV.get(1), ItemList.Hatch_Dynamo_HV.get(1), ItemList.Hatch_Dynamo_EV.get(1),
+ ItemList.Hatch_Dynamo_IV.get(1), ItemList.Hatch_Dynamo_LuV.get(1), ItemList.Hatch_Dynamo_ZPM.get(1),
+ ItemList.Hatch_Dynamo_UV.get(1), ItemList.Hatch_Dynamo_UHV.get(1), ItemList.Hatch_Dynamo_UEV.get(1L),
+ ItemList.Hatch_Dynamo_UIV.get(1L), ItemList.Hatch_Dynamo_UMV.get(1L), ItemList.Hatch_Dynamo_UXV.get(1L) };
+
+ Object[] circuitsTierPlusTwo = { new Object[] { OrePrefixes.circuit.get(Materials.MV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.HV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.EV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.IV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.LuV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.ZPM), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UHV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UEV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UIV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UMV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 1L },
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 4L }, // MAX (Technically not MAX, can be
+ // changed once MAX circuits become
+ // craftable)
+ new Object[] { OrePrefixes.circuit.get(Materials.UXV), 16L } // MAX (Technically not MAX, can be
+ // changed once MAX circuits become
+ // craftable)
+ };
+
+ ItemStack[] wirelessHatches = { ItemList.Wireless_Hatch_Energy_ULV.get(1),
+ ItemList.Wireless_Hatch_Energy_LV.get(1), ItemList.Wireless_Hatch_Energy_MV.get(1),
+ ItemList.Wireless_Hatch_Energy_HV.get(1), ItemList.Wireless_Hatch_Energy_EV.get(1),
+ ItemList.Wireless_Hatch_Energy_IV.get(1), ItemList.Wireless_Hatch_Energy_LuV.get(1),
+ ItemList.Wireless_Hatch_Energy_ZPM.get(1), ItemList.Wireless_Hatch_Energy_UV.get(1),
+ ItemList.Wireless_Hatch_Energy_UHV.get(1), ItemList.Wireless_Hatch_Energy_UEV.get(1),
+ ItemList.Wireless_Hatch_Energy_UIV.get(1), ItemList.Wireless_Hatch_Energy_UMV.get(1),
+ ItemList.Wireless_Hatch_Energy_UXV.get(1) };
+
+ ItemStack[] wirelessHatches_4A = { CustomItemList.eM_energyWirelessMulti4_EV.get(1),
+ CustomItemList.eM_energyWirelessMulti4_IV.get(1), CustomItemList.eM_energyWirelessMulti4_LuV.get(1),
+ CustomItemList.eM_energyWirelessMulti4_ZPM.get(1), CustomItemList.eM_energyWirelessMulti4_UV.get(1),
+ CustomItemList.eM_energyWirelessMulti4_UHV.get(1), CustomItemList.eM_energyWirelessMulti4_UEV.get(1),
+ CustomItemList.eM_energyWirelessMulti4_UIV.get(1), CustomItemList.eM_energyWirelessMulti4_UMV.get(1),
+ CustomItemList.eM_energyWirelessMulti4_UXV.get(1) };
+
+ ItemStack[] wirelessHatches_16A = { CustomItemList.eM_energyWirelessMulti16_EV.get(1),
+ CustomItemList.eM_energyWirelessMulti16_IV.get(1), CustomItemList.eM_energyWirelessMulti16_LuV.get(1),
+ CustomItemList.eM_energyWirelessMulti16_ZPM.get(1), CustomItemList.eM_energyWirelessMulti16_UV.get(1),
+ CustomItemList.eM_energyWirelessMulti16_UHV.get(1), CustomItemList.eM_energyWirelessMulti16_UEV.get(1),
+ CustomItemList.eM_energyWirelessMulti16_UIV.get(1), CustomItemList.eM_energyWirelessMulti16_UMV.get(1),
+ CustomItemList.eM_energyWirelessMulti16_UXV.get(1) };
+
+ ItemStack[] wirelessHatches_64A = { CustomItemList.eM_energyWirelessMulti64_EV.get(1),
+ CustomItemList.eM_energyWirelessMulti64_IV.get(1), CustomItemList.eM_energyWirelessMulti64_LuV.get(1),
+ CustomItemList.eM_energyWirelessMulti64_ZPM.get(1), CustomItemList.eM_energyWirelessMulti64_UV.get(1),
+ CustomItemList.eM_energyWirelessMulti64_UHV.get(1), CustomItemList.eM_energyWirelessMulti64_UEV.get(1),
+ CustomItemList.eM_energyWirelessMulti64_UIV.get(1), CustomItemList.eM_energyWirelessMulti64_UMV.get(1),
+ CustomItemList.eM_energyWirelessMulti64_UXV.get(1) };
+
+ ItemStack[] wirelessLasers = { CustomItemList.eM_energyWirelessTunnel1_UXV.get(1),
+ CustomItemList.eM_energyWirelessTunnel2_UXV.get(1), CustomItemList.eM_energyWirelessTunnel3_UXV.get(1),
+ CustomItemList.eM_energyWirelessTunnel4_UXV.get(1), CustomItemList.eM_energyWirelessTunnel5_UXV.get(1),
+ CustomItemList.eM_energyWirelessTunnel6_UXV.get(1), CustomItemList.eM_energyWirelessTunnel7_UXV.get(1),
+ CustomItemList.eM_energyWirelessTunnel8_UXV.get(1), CustomItemList.eM_energyWirelessTunnel9_UXV.get(1) };
+
+ ItemStack[] wirelessDynamos = { ItemList.Wireless_Dynamo_Energy_ULV.get(1),
+ ItemList.Wireless_Dynamo_Energy_LV.get(1), ItemList.Wireless_Dynamo_Energy_MV.get(1),
+ ItemList.Wireless_Dynamo_Energy_HV.get(1), ItemList.Wireless_Dynamo_Energy_EV.get(1),
+ ItemList.Wireless_Dynamo_Energy_IV.get(1), ItemList.Wireless_Dynamo_Energy_LuV.get(1),
+ ItemList.Wireless_Dynamo_Energy_ZPM.get(1), ItemList.Wireless_Dynamo_Energy_UV.get(1),
+ ItemList.Wireless_Dynamo_Energy_UHV.get(1), ItemList.Wireless_Dynamo_Energy_UEV.get(1),
+ ItemList.Wireless_Dynamo_Energy_UIV.get(1), ItemList.Wireless_Dynamo_Energy_UMV.get(1),
+ ItemList.Wireless_Dynamo_Energy_UXV.get(1) };
+
+ // ------------------------ Wireless EU hatches ------------------------
+
+ for (int i = 0; i < wirelessHatches.length; i++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ (i == 0) ? ItemList.Tesseract.get(1) : wirelessHatches[i - 1],
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] { energyHatches[i], new ItemStack(compactFusionCoil, 1),
+ ItemList.Casing_Coil_Superconductor.get(1), CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Power.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, MaterialsUEVplus.SpaceTime, 2),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), circuitsTierPlusTwo[i],
+ ItemList.EnergisedTesseract.get(1) },
+ new FluidStack[] { new FluidStack(solderUEV, 1296), MaterialsUEVplus.ExcitedDTEC.getFluid(500L) },
+ wirelessHatches[i],
+ recipeDurationTicks,
+ recipeEuPerTick);
+ }
+
+ // ------------------------ 4A Wireless EU hatches ------------------------
+
+ for (int i = 0; i < wirelessHatches_4A.length; i++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ energyHatches_4A[i],
+ totalComputation * 4,
+ compPerSecond * 4,
+ researchEuPerTick,
+ researchAmperage * 2,
+ new Object[] { energyHatches_4A[i], new ItemStack(compactFusionCoil, 1, 1),
+ ItemList.Casing_Coil_Superconductor.get(1), CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Power.get(4),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, MaterialsUEVplus.SpaceTime, 4),
+ GTOreDictUnificator.get("plateTripleShirabon", 4L),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Flerovium, 4), circuitsTierPlusTwo[i + 4],
+ ItemList.EnergisedTesseract.get(1) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 4),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(500L * 4) },
+ wirelessHatches_4A[i],
+ recipeDurationTicks,
+ recipeEuPerTick);
+ }
+
+ // ------------------------ 16A Wireless EU hatches ------------------------
+
+ for (int i = 0; i < wirelessHatches_16A.length; i++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ energyHatches_16A[i],
+ totalComputation * 16,
+ compPerSecond * 16,
+ researchEuPerTick,
+ researchAmperage * 4,
+ new Object[] { energyHatches_16A[i], new ItemStack(compactFusionCoil, 1, 2),
+ ItemList.Casing_Coil_Superconductor.get(1), CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Power.get(16),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, MaterialsUEVplus.SpaceTime, 16),
+ GTOreDictUnificator.get("plateTripleShirabon", 16L),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.TranscendentMetal, 4),
+ circuitsTierPlusTwo[i + 4], ItemList.EnergisedTesseract.get(1) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 16),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(500L * 16) },
+ wirelessHatches_16A[i],
+ recipeDurationTicks,
+ recipeEuPerTick);
+ }
+
+ // ------------------------ 64A Wireless EU hatches ------------------------
+
+ for (int i = 0; i < wirelessHatches_64A.length; i++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ energyHatches_64A[i],
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick,
+ researchAmperage * 8,
+ new Object[] { energyHatches_64A[i], new ItemStack(compactFusionCoil, 1, 3),
+ ItemList.Casing_Coil_Superconductor.get(1), CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Power.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, MaterialsUEVplus.SpaceTime, 64),
+ GTOreDictUnificator.get("plateTripleShirabon", 64L),
+ GTOreDictUnificator.get("plateDenseMetastableOganesson", 4), circuitsTierPlusTwo[i + 4],
+ ItemList.EnergisedTesseract.get(1) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64),
+ MaterialsUEVplus.ExcitedDTEC.getFluid(500L * 64) },
+ wirelessHatches_64A[i],
+ recipeDurationTicks,
+ recipeEuPerTick);
+ }
+
+ // ------------------------ Wireless UXV Lasers ------------------------
+
+ for (int i = 0; i < wirelessLasers.length; i++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ laserTargets_UXV[i],
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { laserTargets_UXV[i], new ItemStack(compactFusionCoil, 1, 4),
+ // Dyson Swarm Module Deployment Unit Superconducting Magnet
+ getModItem(GalaxySpace.ID, "dysonswarmparts", 1, 4),
+ CustomItemList.Machine_Multi_Transformer.get(1), CustomItemList.eM_Power.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, MaterialsUEVplus.SpaceTime, 64),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Eternity, 32),
+ GTOreDictUnificator
+ .get(OrePrefixes.plateDense, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 16),
+ GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UXV, 16L),
+ ItemList.EnergisedTesseract.get(1) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4),
+ MaterialsUEVplus.ExcitedDTSC.getFluid(500L * 64) },
+ wirelessLasers[i],
+ recipeDurationTicks,
+ recipeEuPerTick);
+ }
+
+ // ------------------------ 4MA+ Lasers ------------------------
+
+ // 4M UMV Target
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel7_UMV.get(1),
+ totalComputation * 48,
+ compPerSecond * 48,
+ researchEuPerTick * 3,
+ researchAmperage * 16,
+ new Object[] { ItemList.Hull_UMV.get(1), GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UMV.get(64),
+ ItemList.Emitter_UMV.get(64), ItemList.Electric_Pump_UMV.get(64), ItemList.Electric_Pump_UMV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_energyTunnel8_UMV.get(1),
+ 53 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // 4M UXV Target
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel8_UMV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { ItemList.Hull_UXV.get(1), GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64),
+ ItemList.Sensor_UXV.get(64), ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_energyTunnel8_UXV.get(1),
+ 106 * MINUTES + 40 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // 16M UXV Target
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_energyTunnel8_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { ItemList.Hull_UXV.get(1), GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64),
+ ItemList.Sensor_UXV.get(64), ItemList.Sensor_UXV.get(64), ItemList.Sensor_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 128 * 4) },
+ CustomItemList.eM_energyTunnel9_UXV.get(1),
+ 213 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // 4M UMV Source
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_dynamoTunnel7_UMV.get(1),
+ totalComputation * 48,
+ compPerSecond * 48,
+ researchEuPerTick * 3,
+ researchAmperage * 16,
+ new Object[] { ItemList.Hull_UMV.get(1), GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UMV.get(64),
+ ItemList.Sensor_UMV.get(64), ItemList.Electric_Pump_UMV.get(64), ItemList.Electric_Pump_UMV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.Quantium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_dynamoTunnel8_UMV.get(1),
+ 53 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UMV);
+
+ // 4M UXV Source
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_dynamoTunnel7_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { ItemList.Hull_UXV.get(1), GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Sensor_UXV.get(64),
+ ItemList.Sensor_UXV.get(64), ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 32) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 64 * 4) },
+ CustomItemList.eM_dynamoTunnel8_UXV.get(1),
+ 106 * MINUTES + 40 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // 16M UXV Source
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.eM_dynamoTunnel8_UXV.get(1),
+ totalComputation * 64,
+ compPerSecond * 64,
+ researchEuPerTick * 4,
+ researchAmperage * 16,
+ new Object[] { ItemList.Hull_UXV.get(1), GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64),
+ GTOreDictUnificator.get(OrePrefixes.lens, Materials.Diamond, 64), ItemList.Emitter_UXV.get(64),
+ ItemList.Emitter_UXV.get(64), ItemList.Emitter_UXV.get(64), ItemList.Emitter_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ ItemList.Electric_Pump_UXV.get(64), ItemList.Electric_Pump_UXV.get(64),
+ GTOreDictUnificator.get(OrePrefixes.wireGt16, Materials.BlackPlutonium, 64) },
+ new FluidStack[] { new FluidStack(solderUEV, 1_296 * 128 * 4) },
+ CustomItemList.eM_dynamoTunnel9_UXV.get(1),
+ 213 * MINUTES + 20 * SECONDS,
+ (int) TierEU.RECIPE_UXV);
+
+ // ------------------------ Wireless EU dynamos ------------------------
+
+ for (int i = 0; i < wirelessHatches.length; i++) {
+
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ (i == 0) ? ItemList.EnergisedTesseract.get(1) : wirelessDynamos[i - 1],
+ totalComputation,
+ compPerSecond,
+ researchEuPerTick,
+ researchAmperage,
+ new Object[] { dynamoHatches[i], new ItemStack(compactFusionCoil, 1),
+ ItemList.Casing_Coil_Superconductor.get(1), CustomItemList.Machine_Multi_Transformer.get(1),
+ CustomItemList.eM_Power.get(2),
+ GTOreDictUnificator.get(OrePrefixes.wireGt01, MaterialsUEVplus.SpaceTime, 2),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 1), circuitsTierPlusTwo[i],
+ ItemList.EnergisedTesseract.get(1) },
+ new FluidStack[] { new FluidStack(solderUEV, 1296), MaterialsUEVplus.ExcitedDTEC.getFluid(500L) },
+ wirelessDynamos[i],
+ recipeDurationTicks,
+ recipeEuPerTick);
+ }
+ }
+
+ public void runLateRecipes() {
+ if (tectech.TecTech.configTecTech.ENABLE_GOD_FORGE && EternalSingularity.isModLoaded()) {
+ // Shielding Casing
+ TTRecipeAdder.addResearchableAssemblylineRecipe(
+ GTOreDictUnificator.get(OrePrefixes.block, MaterialsUEVplus.TranscendentMetal, 1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SixPhasedCopper, 4),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.CosmicNeutronium, 16),
+ GGMaterial.tairitsu.get(OrePrefixes.plateDense, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, Materials.Infinity, 16),
+ GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.TranscendentMetal, 8),
+ getModItem(EternalSingularity.ID, "combined_singularity", 1L, 2),
+ getModItem(EternalSingularity.ID, "combined_singularity", 1L, 4),
+ ItemRefer.Advanced_Radiation_Protection_Plate.get(64),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Mellion, 16),
+ GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 16),
+ MaterialsAlloy.QUANTUM.getPlate(16), MaterialsAlloy.ABYSSAL.getFrameBox(4) },
+ new FluidStack[] { MaterialMisc.MUTATED_LIVING_SOLDER.getFluidStack(128 * 144),
+ Materials.Bedrockium.getMolten(16_384 * 144), Materials.Neutronium.getMolten(2_048 * 144) },
+ CustomItemList.Godforge_SingularityShieldingCasing.get(4),
+ 30 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+ }
+ }
+}
diff --git a/src/main/java/tectech/loader/thing/CoverLoader.java b/src/main/java/tectech/loader/thing/CoverLoader.java
new file mode 100644
index 0000000000..d5c203e91d
--- /dev/null
+++ b/src/main/java/tectech/loader/thing/CoverLoader.java
@@ -0,0 +1,47 @@
+package tectech.loader.thing;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.GregTechAPI;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.objects.GTRenderedTexture;
+import tectech.TecTech;
+import tectech.thing.cover.CoverEnderFluidLink;
+import tectech.thing.cover.CoverPowerPassUpgrade;
+import tectech.thing.cover.CoverTeslaCoil;
+import tectech.thing.cover.CoverTeslaCoilUltimate;
+import tectech.thing.item.ItemEnderFluidLinkCover;
+import tectech.thing.item.ItemPowerPassUpgradeCover;
+import tectech.thing.item.ItemTeslaCoilCover;
+
+public class CoverLoader implements Runnable {
+
+ public void run() {
+ final IIconContainer TESLA_OVERLAY = new Textures.BlockIcons.CustomIcon("iconsets/TESLA_OVERLAY");
+ final IIconContainer TESLA_OVERLAY_ULTIMATE = new Textures.BlockIcons.CustomIcon(
+ "iconsets/TESLA_OVERLAY_ULTIMATE");
+ final IIconContainer ENDERFLUIDLINK_OVERLAY = new Textures.BlockIcons.CustomIcon(
+ "iconsets/ENDERFLUIDLINK_OVERLAY");
+ final IIconContainer POWERPASSUPGRADE_OVERLAY = new Textures.BlockIcons.CustomIcon(
+ "iconsets/POWERPASSUPGRADE_OVERLAY");
+
+ GregTechAPI.registerCover(
+ new ItemStack(ItemTeslaCoilCover.INSTANCE, 1, 0),
+ new GTRenderedTexture(TESLA_OVERLAY),
+ new CoverTeslaCoil());
+ GregTechAPI.registerCover(
+ new ItemStack(ItemTeslaCoilCover.INSTANCE, 1, 1),
+ new GTRenderedTexture(TESLA_OVERLAY_ULTIMATE),
+ new CoverTeslaCoilUltimate());
+ GregTechAPI.registerCover(
+ new ItemStack(ItemEnderFluidLinkCover.INSTANCE, 1, 0),
+ new GTRenderedTexture(ENDERFLUIDLINK_OVERLAY),
+ new CoverEnderFluidLink());
+ GregTechAPI.registerCover(
+ new ItemStack(ItemPowerPassUpgradeCover.INSTANCE, 1, 0),
+ new GTRenderedTexture(POWERPASSUPGRADE_OVERLAY),
+ new CoverPowerPassUpgrade());
+ TecTech.LOGGER.info("Cover functionality registered");
+ }
+}
diff --git a/src/main/java/tectech/loader/thing/MachineLoader.java b/src/main/java/tectech/loader/thing/MachineLoader.java
new file mode 100644
index 0000000000..237ab8a849
--- /dev/null
+++ b/src/main/java/tectech/loader/thing/MachineLoader.java
@@ -0,0 +1,2532 @@
+package tectech.loader.thing;
+
+import static com.gtnewhorizon.gtnhlib.util.AnimatedTooltipHandler.addItemTooltip;
+import static gregtech.api.enums.GTValues.V;
+import static gregtech.api.enums.MetaTileEntityIDs.ActiveTransformer;
+import static gregtech.api.enums.MetaTileEntityIDs.AdvancedTeslaTransceiver1by1;
+import static gregtech.api.enums.MetaTileEntityIDs.AdvancedTeslaTransceiver2by2;
+import static gregtech.api.enums.MetaTileEntityIDs.AdvancedTeslaTransceiver3by3;
+import static gregtech.api.enums.MetaTileEntityIDs.AdvancedTeslaTransceiver4by4;
+import static gregtech.api.enums.MetaTileEntityIDs.AssemblylineSlaveConnector;
+import static gregtech.api.enums.MetaTileEntityIDs.AutoTapingMaintenanceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.BasicTeslaTransceiver1by1;
+import static gregtech.api.enums.MetaTileEntityIDs.BasicTeslaTransceiver2by2;
+import static gregtech.api.enums.MetaTileEntityIDs.BasicTeslaTransceiver3by3;
+import static gregtech.api.enums.MetaTileEntityIDs.BasicTeslaTransceiver4by4;
+import static gregtech.api.enums.MetaTileEntityIDs.CapacitorHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.CloudComputationClientHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.CloudComputationServerHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ComputerRack;
+import static gregtech.api.enums.MetaTileEntityIDs.DataBank;
+import static gregtech.api.enums.MetaTileEntityIDs.DataBankMasterConnector;
+import static gregtech.api.enums.MetaTileEntityIDs.DebugDataHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.DebugPollutionGenerator;
+import static gregtech.api.enums.MetaTileEntityIDs.DebugPowerGenerator;
+import static gregtech.api.enums.MetaTileEntityIDs.DebugStructureWriter;
+import static gregtech.api.enums.MetaTileEntityIDs.EV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.EnergyInfuser;
+import static gregtech.api.enums.MetaTileEntityIDs.EpycTeslaTransceiver1by1;
+import static gregtech.api.enums.MetaTileEntityIDs.EpycTeslaTransceiver2by2;
+import static gregtech.api.enums.MetaTileEntityIDs.EpycTeslaTransceiver3by3;
+import static gregtech.api.enums.MetaTileEntityIDs.EpycTeslaTransceiver4by4;
+import static gregtech.api.enums.MetaTileEntityIDs.ExtendedMegaUltimateBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.ExtremelyUltimateBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.EyeofHarmony;
+import static gregtech.api.enums.MetaTileEntityIDs.ForgeoftheGods;
+import static gregtech.api.enums.MetaTileEntityIDs.HelioflarePowerForge;
+import static gregtech.api.enums.MetaTileEntityIDs.HeliofluxMeltingCore;
+import static gregtech.api.enums.MetaTileEntityIDs.HeliofusionExoticizer;
+import static gregtech.api.enums.MetaTileEntityIDs.HeliothermalPlasmaFabricator;
+import static gregtech.api.enums.MetaTileEntityIDs.HighlyUltimateBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.IV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.IV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.InsaneBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.InsaneTeslaTransceiver1by1;
+import static gregtech.api.enums.MetaTileEntityIDs.InsaneTeslaTransceiver2by2;
+import static gregtech.api.enums.MetaTileEntityIDs.InsaneTeslaTransceiver3by3;
+import static gregtech.api.enums.MetaTileEntityIDs.InsaneTeslaTransceiver4by4;
+import static gregtech.api.enums.MetaTileEntityIDs.InsanelyUltimateBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.LaserVacuumMirror;
+import static gregtech.api.enums.MetaTileEntityIDs.LaserVacuumPipe;
+import static gregtech.api.enums.MetaTileEntityIDs.LaserVacuumPipeCasing;
+import static gregtech.api.enums.MetaTileEntityIDs.LegendaryLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LegendaryLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LuV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.LudicrousBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.MAX16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.MAX4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.MAX64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.MegaUltimateBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.MicrowaveGrinder;
+import static gregtech.api.enums.MetaTileEntityIDs.NetworkSwitchWithQoS;
+import static gregtech.api.enums.MetaTileEntityIDs.ObjectHolder;
+import static gregtech.api.enums.MetaTileEntityIDs.OpticalFiberCable;
+import static gregtech.api.enums.MetaTileEntityIDs.OpticalFiberCableCasing;
+import static gregtech.api.enums.MetaTileEntityIDs.OpticalMasterConnector;
+import static gregtech.api.enums.MetaTileEntityIDs.OpticalSlaveConnector;
+import static gregtech.api.enums.MetaTileEntityIDs.Ownerdetector;
+import static gregtech.api.enums.MetaTileEntityIDs.Parametrizer;
+import static gregtech.api.enums.MetaTileEntityIDs.ParametrizerX;
+import static gregtech.api.enums.MetaTileEntityIDs.ParametrizertXt;
+import static gregtech.api.enums.MetaTileEntityIDs.QuantumComputer;
+import static gregtech.api.enums.MetaTileEntityIDs.Researchstation;
+import static gregtech.api.enums.MetaTileEntityIDs.TeslaTower;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UEV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UHV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UIV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UMV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV1024AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV1048576AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV16384AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV256AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV262144AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV4096AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV65536AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UXV65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.UltimatePowerBuckConverter;
+import static gregtech.api.enums.MetaTileEntityIDs.UltimatePowerTeslaTransceiver1by1;
+import static gregtech.api.enums.MetaTileEntityIDs.UltimatePowerTeslaTransceiver2by2;
+import static gregtech.api.enums.MetaTileEntityIDs.UltimatePowerTeslaTransceiver3by3;
+import static gregtech.api.enums.MetaTileEntityIDs.UltimatePowerTeslaTransceiver4by4;
+import static gregtech.api.enums.MetaTileEntityIDs.UncertaintyResolution;
+import static gregtech.api.enums.MetaTileEntityIDs.UncertaintyResolver;
+import static gregtech.api.enums.MetaTileEntityIDs.UncertaintyResolverX;
+import static gregtech.api.enums.MetaTileEntityIDs.WirelessAssemblylineSlaveConnector;
+import static gregtech.api.enums.MetaTileEntityIDs.WirelessDataBankMasterConnector;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM1024AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM1024AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM1048576AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM1048576AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM16384AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM16384AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM16ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM16AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM16AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM256AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM256AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM262144AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM262144AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM4096AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM4096AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM4ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM4AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM4AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM64ADynamoHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM64AEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM64AWirelessEnergyHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM65536AtLaserSourceHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPM65536AtLaserTargetHatch;
+import static gregtech.api.enums.MetaTileEntityIDs.ZPMVoltageBuckConverter;
+import static tectech.thing.CustomItemList.DATApipe;
+import static tectech.thing.CustomItemList.DATApipeBlock;
+import static tectech.thing.CustomItemList.LASERpipe;
+import static tectech.thing.CustomItemList.LASERpipeBlock;
+import static tectech.thing.CustomItemList.LASERpipeSmart;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_IV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_LuV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_UEV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_UHV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_UIV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_UMV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_UV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_UXV;
+import static tectech.thing.CustomItemList.Machine_BuckConverter_ZPM;
+import static tectech.thing.CustomItemList.Machine_DebugGenny;
+import static tectech.thing.CustomItemList.Machine_DebugPollutor;
+import static tectech.thing.CustomItemList.Machine_DebugWriter;
+import static tectech.thing.CustomItemList.Machine_Multi_Computer;
+import static tectech.thing.CustomItemList.Machine_Multi_DataBank;
+import static tectech.thing.CustomItemList.Machine_Multi_EyeOfHarmony;
+import static tectech.thing.CustomItemList.Machine_Multi_ForgeOfGods;
+import static tectech.thing.CustomItemList.Machine_Multi_Infuser;
+import static tectech.thing.CustomItemList.Machine_Multi_Microwave;
+import static tectech.thing.CustomItemList.Machine_Multi_MoltenModule;
+import static tectech.thing.CustomItemList.Machine_Multi_PlasmaModule;
+import static tectech.thing.CustomItemList.Machine_Multi_QuarkGluonPlasmaModule;
+import static tectech.thing.CustomItemList.Machine_Multi_Research;
+import static tectech.thing.CustomItemList.Machine_Multi_SmeltingModule;
+import static tectech.thing.CustomItemList.Machine_Multi_Switch;
+import static tectech.thing.CustomItemList.Machine_Multi_TeslaCoil;
+import static tectech.thing.CustomItemList.Machine_Multi_Transformer;
+import static tectech.thing.CustomItemList.Machine_OwnerDetector;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_1by1_EV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_1by1_HV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_1by1_IV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_1by1_LV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_1by1_MV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_2by2_EV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_2by2_HV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_2by2_IV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_2by2_LV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_2by2_MV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_3by3_EV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_3by3_HV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_3by3_IV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_3by3_LV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_3by3_MV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_4by4_EV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_4by4_HV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_4by4_IV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_4by4_LV;
+import static tectech.thing.CustomItemList.Machine_TeslaCoil_4by4_MV;
+import static tectech.thing.CustomItemList.ParametrizerTXT_Hatch;
+import static tectech.thing.CustomItemList.ParametrizerX_Hatch;
+import static tectech.thing.CustomItemList.Parametrizer_Hatch;
+import static tectech.thing.CustomItemList.UncertaintyX_Hatch;
+import static tectech.thing.CustomItemList.Uncertainty_Hatch;
+import static tectech.thing.CustomItemList.UnusedStuff;
+import static tectech.thing.CustomItemList.capacitor_Hatch;
+import static tectech.thing.CustomItemList.dataInAss_Hatch;
+import static tectech.thing.CustomItemList.dataInAss_Wireless_Hatch;
+import static tectech.thing.CustomItemList.dataIn_Hatch;
+import static tectech.thing.CustomItemList.dataIn_Wireless_Hatch;
+import static tectech.thing.CustomItemList.dataOutAss_Hatch;
+import static tectech.thing.CustomItemList.dataOutAss_Wireless_Hatch;
+import static tectech.thing.CustomItemList.dataOut_Hatch;
+import static tectech.thing.CustomItemList.dataOut_Wireless_Hatch;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_EV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_IV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_UV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti16_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_EV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_IV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_UV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti4_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_EV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_IV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_UV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoMulti64_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel1_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel2_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel3_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel4_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel5_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel6_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_IV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_LuV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_UEV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_UHV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_UIV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_UV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel7_ZPM;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel8_UMV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel8_UXV;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel9001;
+import static tectech.thing.CustomItemList.eM_dynamoTunnel9_UXV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_EV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_IV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_LuV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_UEV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_UHV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_UIV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_UMV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_UV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_UXV;
+import static tectech.thing.CustomItemList.eM_energyMulti16_ZPM;
+import static tectech.thing.CustomItemList.eM_energyMulti4_EV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_IV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_LuV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_UEV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_UHV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_UIV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_UMV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_UV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_UXV;
+import static tectech.thing.CustomItemList.eM_energyMulti4_ZPM;
+import static tectech.thing.CustomItemList.eM_energyMulti64_EV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_IV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_LuV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_UEV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_UHV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_UIV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_UMV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_UV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_UXV;
+import static tectech.thing.CustomItemList.eM_energyMulti64_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel1_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel2_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel3_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel4_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel5_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel6_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_IV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_LuV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_UEV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_UHV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_UIV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_UV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel7_ZPM;
+import static tectech.thing.CustomItemList.eM_energyTunnel8_UMV;
+import static tectech.thing.CustomItemList.eM_energyTunnel8_UXV;
+import static tectech.thing.CustomItemList.eM_energyTunnel9001;
+import static tectech.thing.CustomItemList.eM_energyTunnel9_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_EV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_IV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_LuV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_MAX;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_UEV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_UHV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_UIV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_UMV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_UV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti16_ZPM;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_EV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_IV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_LuV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_MAX;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_UEV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_UHV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_UIV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_UMV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_UV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti4_ZPM;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_EV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_IV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_LuV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_MAX;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_UEV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_UHV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_UIV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_UMV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_UV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessMulti64_ZPM;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel1_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel2_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel3_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel4_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel5_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel6_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel7_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel8_UXV;
+import static tectech.thing.CustomItemList.eM_energyWirelessTunnel9_UXV;
+import static tectech.thing.CustomItemList.hatch_CreativeData;
+import static tectech.thing.CustomItemList.hatch_CreativeMaintenance;
+import static tectech.thing.CustomItemList.hatch_CreativeUncertainty;
+import static tectech.thing.CustomItemList.holder_Hatch;
+import static tectech.thing.CustomItemList.rack_Hatch;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.enums.GTValues;
+import gregtech.api.enums.MetaTileEntityIDs;
+import tectech.thing.metaTileEntity.hatch.MTEHatchCapacitor;
+import tectech.thing.metaTileEntity.hatch.MTEHatchCreativeData;
+import tectech.thing.metaTileEntity.hatch.MTEHatchCreativeMaintenance;
+import tectech.thing.metaTileEntity.hatch.MTEHatchCreativeUncertainty;
+import tectech.thing.metaTileEntity.hatch.MTEHatchDataInput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchDataItemsInput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchDataItemsOutput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchDataOutput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchDynamoMulti;
+import tectech.thing.metaTileEntity.hatch.MTEHatchDynamoTunnel;
+import tectech.thing.metaTileEntity.hatch.MTEHatchEnergyMulti;
+import tectech.thing.metaTileEntity.hatch.MTEHatchEnergyTunnel;
+import tectech.thing.metaTileEntity.hatch.MTEHatchObjectHolder;
+import tectech.thing.metaTileEntity.hatch.MTEHatchParam;
+import tectech.thing.metaTileEntity.hatch.MTEHatchParamText;
+import tectech.thing.metaTileEntity.hatch.MTEHatchRack;
+import tectech.thing.metaTileEntity.hatch.MTEHatchUncertainty;
+import tectech.thing.metaTileEntity.hatch.MTEHatchWirelessComputationInput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchWirelessComputationOutput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchWirelessDataItemsInput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchWirelessDataItemsOutput;
+import tectech.thing.metaTileEntity.hatch.MTEHatchWirelessMulti;
+import tectech.thing.metaTileEntity.multi.MTEActiveTransformer;
+import tectech.thing.metaTileEntity.multi.MTEDataBank;
+import tectech.thing.metaTileEntity.multi.MTEEnergyInfuser;
+import tectech.thing.metaTileEntity.multi.MTEEyeOfHarmony;
+import tectech.thing.metaTileEntity.multi.MTEForgeOfGods;
+import tectech.thing.metaTileEntity.multi.MTEMicrowave;
+import tectech.thing.metaTileEntity.multi.MTENetworkSwitch;
+import tectech.thing.metaTileEntity.multi.MTEQuantumComputer;
+import tectech.thing.metaTileEntity.multi.MTEResearchStation;
+import tectech.thing.metaTileEntity.multi.MTETeslaTower;
+import tectech.thing.metaTileEntity.multi.godforge_modules.MTEExoticModule;
+import tectech.thing.metaTileEntity.multi.godforge_modules.MTEMoltenModule;
+import tectech.thing.metaTileEntity.multi.godforge_modules.MTEPlasmaModule;
+import tectech.thing.metaTileEntity.multi.godforge_modules.MTESmeltingModule;
+import tectech.thing.metaTileEntity.pipe.MTEPipeBlockData;
+import tectech.thing.metaTileEntity.pipe.MTEPipeBlockEnergy;
+import tectech.thing.metaTileEntity.pipe.MTEPipeData;
+import tectech.thing.metaTileEntity.pipe.MTEPipeEnergy;
+import tectech.thing.metaTileEntity.pipe.MTEPipeEnergyMirror;
+import tectech.thing.metaTileEntity.single.MTEBuckConverter;
+import tectech.thing.metaTileEntity.single.MTEDebugPollutor;
+import tectech.thing.metaTileEntity.single.MTEDebugPowerGenerator;
+import tectech.thing.metaTileEntity.single.MTEDebugStructureWriter;
+import tectech.thing.metaTileEntity.single.MTEOwnerDetector;
+import tectech.thing.metaTileEntity.single.MTETeslaCoil;
+
+/**
+ * Created by danie_000 on 16.11.2016.
+ */
+public class MachineLoader implements Runnable {
+
+ @Override
+ public void run() {
+
+ // ===================================================================================================
+ // Multi AMP Power INPUTS
+ // ===================================================================================================
+ eM_energyMulti4_EV.set(
+ new MTEHatchEnergyMulti(EV4AEnergyHatch.ID, "hatch.energymulti04.tier.04", "EV 4A Energy Hatch", 4, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_EV.set(
+ new MTEHatchEnergyMulti(EV16AEnergyHatch.ID, "hatch.energymulti16.tier.04", "EV 16A Energy Hatch", 4, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_EV.set(
+ new MTEHatchEnergyMulti(EV64AEnergyHatch.ID, "hatch.energymulti64.tier.04", "EV 64A Energy Hatch", 4, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_IV.set(
+ new MTEHatchEnergyMulti(IV4AEnergyHatch.ID, "hatch.energymulti04.tier.05", "IV 4A Energy Hatch", 5, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_IV.set(
+ new MTEHatchEnergyMulti(IV16AEnergyHatch.ID, "hatch.energymulti16.tier.05", "IV 16A Energy Hatch", 5, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_IV.set(
+ new MTEHatchEnergyMulti(IV64AEnergyHatch.ID, "hatch.energymulti64.tier.05", "IV 64A Energy Hatch", 5, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_LuV.set(
+ new MTEHatchEnergyMulti(LuV4AEnergyHatch.ID, "hatch.energymulti04.tier.06", "LuV 4A Energy Hatch", 6, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_LuV.set(
+ new MTEHatchEnergyMulti(LuV16AEnergyHatch.ID, "hatch.energymulti16.tier.06", "LuV 16A Energy Hatch", 6, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_LuV.set(
+ new MTEHatchEnergyMulti(LuV64AEnergyHatch.ID, "hatch.energymulti64.tier.06", "LuV 64A Energy Hatch", 6, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_ZPM.set(
+ new MTEHatchEnergyMulti(ZPM4AEnergyHatch.ID, "hatch.energymulti04.tier.07", "ZPM 4A Energy Hatch", 7, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_ZPM.set(
+ new MTEHatchEnergyMulti(ZPM16AEnergyHatch.ID, "hatch.energymulti16.tier.07", "ZPM 16A Energy Hatch", 7, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_ZPM.set(
+ new MTEHatchEnergyMulti(ZPM64AEnergyHatch.ID, "hatch.energymulti64.tier.07", "ZPM 64A Energy Hatch", 7, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_UV.set(
+ new MTEHatchEnergyMulti(UV4AEnergyHatch.ID, "hatch.energymulti04.tier.08", "UV 4A Energy Hatch", 8, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_UV.set(
+ new MTEHatchEnergyMulti(UV16AEnergyHatch.ID, "hatch.energymulti16.tier.08", "UV 16A Energy Hatch", 8, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_UV.set(
+ new MTEHatchEnergyMulti(UV64AEnergyHatch.ID, "hatch.energymulti64.tier.08", "UV 64A Energy Hatch", 8, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_UHV.set(
+ new MTEHatchEnergyMulti(UHV4AEnergyHatch.ID, "hatch.energymulti04.tier.09", "UHV 4A Energy Hatch", 9, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_UHV.set(
+ new MTEHatchEnergyMulti(UHV16AEnergyHatch.ID, "hatch.energymulti16.tier.09", "UHV 16A Energy Hatch", 9, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_UHV.set(
+ new MTEHatchEnergyMulti(UHV64AEnergyHatch.ID, "hatch.energymulti64.tier.09", "UHV 64A Energy Hatch", 9, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_UEV.set(
+ new MTEHatchEnergyMulti(UEV4AEnergyHatch.ID, "hatch.energymulti04.tier.10", "UEV 4A Energy Hatch", 10, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_UEV.set(
+ new MTEHatchEnergyMulti(UEV16AEnergyHatch.ID, "hatch.energymulti16.tier.10", "UEV 16A Energy Hatch", 10, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_UEV.set(
+ new MTEHatchEnergyMulti(UEV64AEnergyHatch.ID, "hatch.energymulti64.tier.10", "UEV 64A Energy Hatch", 10, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_UIV.set(
+ new MTEHatchEnergyMulti(UIV4AEnergyHatch.ID, "hatch.energymulti04.tier.11", "UIV 4A Energy Hatch", 11, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_UIV.set(
+ new MTEHatchEnergyMulti(UIV16AEnergyHatch.ID, "hatch.energymulti16.tier.11", "UIV 16A Energy Hatch", 11, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_UIV.set(
+ new MTEHatchEnergyMulti(UIV64AEnergyHatch.ID, "hatch.energymulti64.tier.11", "UIV 64A Energy Hatch", 11, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_UMV.set(
+ new MTEHatchEnergyMulti(UMV4AEnergyHatch.ID, "hatch.energymulti04.tier.12", "UMV 4A Energy Hatch", 12, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_UMV.set(
+ new MTEHatchEnergyMulti(UMV16AEnergyHatch.ID, "hatch.energymulti16.tier.12", "UMV 16A Energy Hatch", 12, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_UMV.set(
+ new MTEHatchEnergyMulti(UMV64AEnergyHatch.ID, "hatch.energymulti64.tier.12", "UMV 64A Energy Hatch", 12, 64)
+ .getStackForm(1L));
+
+ eM_energyMulti4_UXV.set(
+ new MTEHatchEnergyMulti(UXV4AEnergyHatch.ID, "hatch.energymulti04.tier.13", "UXV 4A Energy Hatch", 13, 4)
+ .getStackForm(1L));
+ eM_energyMulti16_UXV.set(
+ new MTEHatchEnergyMulti(UXV16AEnergyHatch.ID, "hatch.energymulti16.tier.13", "UXV 16A Energy Hatch", 13, 16)
+ .getStackForm(1L));
+ eM_energyMulti64_UXV.set(
+ new MTEHatchEnergyMulti(UXV64AEnergyHatch.ID, "hatch.energymulti64.tier.13", "UXV 64A Energy Hatch", 13, 64)
+ .getStackForm(1L));
+ // ===================================================================================================
+ // Multi AMP Wireless INPUTS
+ // ===================================================================================================
+ eM_energyWirelessMulti4_EV.set(
+ new MTEHatchWirelessMulti(
+ EV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.04",
+ "EV 4A Wireless Energy Hatch",
+ 4,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_EV.set(
+ new MTEHatchWirelessMulti(
+ EV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.04",
+ "EV 16A Wireless Energy Hatch",
+ 4,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_EV.set(
+ new MTEHatchWirelessMulti(
+ EV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.04",
+ "EV 64A Wireless Energy Hatch",
+ 4,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_IV.set(
+ new MTEHatchWirelessMulti(
+ IV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.05",
+ "IV 4A Wireless Energy Hatch",
+ 5,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_IV.set(
+ new MTEHatchWirelessMulti(
+ IV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.05",
+ "IV 16A Wireless Energy Hatch",
+ 5,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_IV.set(
+ new MTEHatchWirelessMulti(
+ IV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.05",
+ "IV 64A Wireless Energy Hatch",
+ 5,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_LuV.set(
+ new MTEHatchWirelessMulti(
+ LuV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.06",
+ "LuV 4A Wireless Energy Hatch",
+ 6,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_LuV.set(
+ new MTEHatchWirelessMulti(
+ LuV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.06",
+ "LuV 16A Wireless Energy Hatch",
+ 6,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_LuV.set(
+ new MTEHatchWirelessMulti(
+ LuV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.06",
+ "LuV 64A Wireless Energy Hatch",
+ 6,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_ZPM.set(
+ new MTEHatchWirelessMulti(
+ ZPM4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.07",
+ "ZPM 4A Wireless Energy Hatch",
+ 7,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_ZPM.set(
+ new MTEHatchWirelessMulti(
+ ZPM16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.07",
+ "ZPM 16A Wireless Energy Hatch",
+ 7,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_ZPM.set(
+ new MTEHatchWirelessMulti(
+ ZPM64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.07",
+ "ZPM 64A Wireless Energy Hatch",
+ 7,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_UV.set(
+ new MTEHatchWirelessMulti(
+ UV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.08",
+ "UV 4A Wireless Energy Hatch",
+ 8,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_UV.set(
+ new MTEHatchWirelessMulti(
+ UV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.08",
+ "UV 16A Wireless Energy Hatch",
+ 8,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_UV.set(
+ new MTEHatchWirelessMulti(
+ UV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.08",
+ "UV 64A Wireless Energy Hatch",
+ 8,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_UHV.set(
+ new MTEHatchWirelessMulti(
+ UHV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.09",
+ "UHV 4A Wireless Energy Hatch",
+ 9,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_UHV.set(
+ new MTEHatchWirelessMulti(
+ UHV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.09",
+ "UHV 16A Wireless Energy Hatch",
+ 9,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_UHV.set(
+ new MTEHatchWirelessMulti(
+ UHV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.09",
+ "UHV 64A Wireless Energy Hatch",
+ 9,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_UEV.set(
+ new MTEHatchWirelessMulti(
+ UEV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.10",
+ "UEV 4A Wireless Energy Hatch",
+ 10,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_UEV.set(
+ new MTEHatchWirelessMulti(
+ UEV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.10",
+ "UEV 16A Wireless Energy Hatch",
+ 10,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_UEV.set(
+ new MTEHatchWirelessMulti(
+ UEV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.10",
+ "UEV 64A Wireless Energy Hatch",
+ 10,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_UIV.set(
+ new MTEHatchWirelessMulti(
+ UIV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.11",
+ "UIV 4A Wireless Energy Hatch",
+ 11,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_UIV.set(
+ new MTEHatchWirelessMulti(
+ UIV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.11",
+ "UIV 16A Wireless Energy Hatch",
+ 11,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_UIV.set(
+ new MTEHatchWirelessMulti(
+ UIV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.11",
+ "UIV 64A Wireless Energy Hatch",
+ 11,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_UMV.set(
+ new MTEHatchWirelessMulti(
+ UMV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.12",
+ "UMV 4A Wireless Energy Hatch",
+ 12,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_UMV.set(
+ new MTEHatchWirelessMulti(
+ UMV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.12",
+ "UMV 16A Wireless Energy Hatch",
+ 12,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_UMV.set(
+ new MTEHatchWirelessMulti(
+ UMV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.12",
+ "UMV 64A Wireless Energy Hatch",
+ 12,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.13",
+ "UXV 4A Wireless Energy Hatch",
+ 13,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.13",
+ "UXV 16A Wireless Energy Hatch",
+ 13,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.13",
+ "UXV 64A Wireless Energy Hatch",
+ 13,
+ 64).getStackForm(1L));
+ eM_energyWirelessMulti4_MAX.set(
+ new MTEHatchWirelessMulti(
+ MAX4AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti04.tier.14",
+ "MAX 4A Wireless Energy Hatch",
+ 14,
+ 4).getStackForm(1L));
+ eM_energyWirelessMulti16_MAX.set(
+ new MTEHatchWirelessMulti(
+ MAX16AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti16.tier.14",
+ "MAX 16A Wireless Energy Hatch",
+ 14,
+ 16).getStackForm(1L));
+ eM_energyWirelessMulti64_MAX.set(
+ new MTEHatchWirelessMulti(
+ MAX64AWirelessEnergyHatch.ID,
+ "hatch.energywirelessmulti64.tier.14",
+ "MAX 64A Wireless Energy Hatch",
+ 14,
+ 64).getStackForm(1L));
+ eM_energyWirelessTunnel1_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV256AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel1.tier.13",
+ "UXV 256A Wireless Energy Hatch",
+ 13,
+ 256).getStackForm(1L));
+ eM_energyWirelessTunnel2_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV1024AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel2.tier.13",
+ "UXV 1,024A Wireless Energy Hatch",
+ 13,
+ 1024).getStackForm(1L));
+ eM_energyWirelessTunnel3_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV4096AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel3.tier.13",
+ "UXV 4,096A Wireless Energy Hatch",
+ 13,
+ 4096).getStackForm(1L));
+ eM_energyWirelessTunnel4_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV16384AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel4.tier.13",
+ "UXV 16,384A Wireless Energy Hatch",
+ 13,
+ 16384).getStackForm(1L));
+ eM_energyWirelessTunnel5_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV65536AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel5.tier.13",
+ "UXV 65,536A Wireless Energy Hatch",
+ 13,
+ 65536).getStackForm(1L));
+ eM_energyWirelessTunnel6_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV262144AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel6.tier.13",
+ "UXV 262,144A Wireless Energy Hatch",
+ 13,
+ 262144).getStackForm(1L));
+ eM_energyWirelessTunnel7_UXV.set(
+ new MTEHatchWirelessMulti(
+ UXV1048576AWirelessEnergyHatch.ID,
+ "hatch.energywirelesstunnel7.tier.13",
+ "UXV 1,048,576A Wireless Energy Hatch",
+ 13,
+ 1048576).getStackForm(1L));
+ eM_energyWirelessTunnel8_UXV.set(
+ new MTEHatchWirelessMulti(
+ MetaTileEntityIDs.WIRELESS_LASER_UXV8.ID,
+ "hatch.energywirelesstunnel8.tier.13",
+ "UXV 4,194,304A Wireless Energy Hatch",
+ 13,
+ 4194304).getStackForm(1L));
+ eM_energyWirelessTunnel9_UXV.set(
+ new MTEHatchWirelessMulti(
+ MetaTileEntityIDs.WIRELESS_LASER_UXV9.ID,
+ "hatch.energywirelesstunnel9.tier.13",
+ "UXV 16,777,216A Wireless Energy Hatch",
+ 13,
+ 16777216).getStackForm(1L));
+ // ===================================================================================================
+ // Multi AMP Laser INPUTS
+ // ===================================================================================================
+
+ eM_energyTunnel1_IV.set(
+ new MTEHatchEnergyTunnel(
+ IV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.05",
+ "IV 256A/t Laser Target Hatch",
+ 5,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_IV
+ .set(
+ new MTEHatchEnergyTunnel(
+ IV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.05",
+ "IV 1,024A/t Laser Target Hatch",
+ 5,
+ 1024).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel3_IV
+ .set(
+ new MTEHatchEnergyTunnel(
+ IV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.05",
+ "IV 4,096A/t Laser Target Hatch",
+ 5,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel4_IV
+ .set(
+ new MTEHatchEnergyTunnel(
+ IV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.05",
+ "IV 16,384A/t Laser Target Hatch",
+ 5,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel5_IV
+ .set(
+ new MTEHatchEnergyTunnel(
+ IV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.05",
+ "IV 65,536A/t Laser Target Hatch",
+ 5,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_IV
+ .set(
+ new MTEHatchEnergyTunnel(
+ IV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.05",
+ "IV 262,144A/t Laser Target Hatch",
+ 5,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_IV
+ .set(
+ new MTEHatchEnergyTunnel(
+ IV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.05",
+ "IV 1,048,576A/t Laser Target Hatch",
+ 5,
+ 1048576).getStackForm(1L))
+ .hidden();
+
+ eM_energyTunnel1_LuV.set(
+ new MTEHatchEnergyTunnel(
+ LuV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.06",
+ "LuV 256A/t Laser Target Hatch",
+ 6,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_LuV.set(
+ new MTEHatchEnergyTunnel(
+ LuV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.06",
+ "LuV 1,024A/t Laser Target Hatch",
+ 6,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_LuV
+ .set(
+ new MTEHatchEnergyTunnel(
+ LuV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.06",
+ "LuV 4,096A/t Laser Target Hatch",
+ 6,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel4_LuV
+ .set(
+ new MTEHatchEnergyTunnel(
+ LuV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.06",
+ "LuV 16,384A/t Laser Target Hatch",
+ 6,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel5_LuV
+ .set(
+ new MTEHatchEnergyTunnel(
+ LuV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.06",
+ "LuV 65,536A/t Laser Target Hatch",
+ 6,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_LuV
+ .set(
+ new MTEHatchEnergyTunnel(
+ LuV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.06",
+ "LuV 262,144A/t Laser Target Hatch",
+ 6,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_LuV
+ .set(
+ new MTEHatchEnergyTunnel(
+ LuV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.06",
+ "LuV 1,048,576A/t Laser Target Hatch",
+ 6,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel1_ZPM.set(
+ new MTEHatchEnergyTunnel(
+ ZPM256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.07",
+ "ZPM 256A/t Laser Target Hatch",
+ 7,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_ZPM.set(
+ new MTEHatchEnergyTunnel(
+ ZPM1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.07",
+ "ZPM 1,024A/t Laser Target Hatch",
+ 7,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_ZPM.set(
+ new MTEHatchEnergyTunnel(
+ ZPM4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.07",
+ "ZPM 4,096A/t Laser Target Hatch",
+ 7,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_ZPM
+ .set(
+ new MTEHatchEnergyTunnel(
+ ZPM16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.07",
+ "ZPM 16,384A/t Laser Target Hatch",
+ 7,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel5_ZPM
+ .set(
+ new MTEHatchEnergyTunnel(
+ ZPM65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.07",
+ "ZPM 65,536A/t Laser Target Hatch",
+ 7,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_ZPM
+ .set(
+ new MTEHatchEnergyTunnel(
+ ZPM262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.07",
+ "ZPM 262,144A/t Laser Target Hatch",
+ 7,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_ZPM
+ .set(
+ new MTEHatchEnergyTunnel(
+ ZPM1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.07",
+ "ZPM 1,048,576A/t Laser Target Hatch",
+ 7,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel1_UV.set(
+ new MTEHatchEnergyTunnel(
+ UV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.08",
+ "UV 256A/t Laser Target Hatch",
+ 8,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_UV.set(
+ new MTEHatchEnergyTunnel(
+ UV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.08",
+ "UV 1,024A/t Laser Target Hatch",
+ 8,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_UV.set(
+ new MTEHatchEnergyTunnel(
+ UV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.08",
+ "UV 4,096A/t Laser Target Hatch",
+ 8,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_UV.set(
+ new MTEHatchEnergyTunnel(
+ UV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.08",
+ "UV 16,384A/t Laser Target Hatch",
+ 8,
+ 16384).getStackForm(1L));
+ eM_energyTunnel5_UV
+ .set(
+ new MTEHatchEnergyTunnel(
+ UV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.08",
+ "UV 65,536A/t Laser Target Hatch",
+ 8,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel6_UV
+ .set(
+ new MTEHatchEnergyTunnel(
+ UV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.08",
+ "UV 262,144A/t Laser Target Hatch",
+ 8,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_UV
+ .set(
+ new MTEHatchEnergyTunnel(
+ UV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.08",
+ "UV 1,048,576A/t Laser Target Hatch",
+ 8,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel1_UHV.set(
+ new MTEHatchEnergyTunnel(
+ UHV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.09",
+ "UHV 256A/t Laser Target Hatch",
+ 9,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_UHV.set(
+ new MTEHatchEnergyTunnel(
+ UHV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.09",
+ "UHV 1,024A/t Laser Target Hatch",
+ 9,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_UHV.set(
+ new MTEHatchEnergyTunnel(
+ UHV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.09",
+ "UHV 4,096A/t Laser Target Hatch",
+ 9,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_UHV.set(
+ new MTEHatchEnergyTunnel(
+ UHV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.09",
+ "UHV 16,384A/t Laser Target Hatch",
+ 9,
+ 16384).getStackForm(1L));
+ eM_energyTunnel5_UHV.set(
+ new MTEHatchEnergyTunnel(
+ UHV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.09",
+ "UHV 65,536A/t Laser Target Hatch",
+ 9,
+ 65536).getStackForm(1L));
+ eM_energyTunnel6_UHV
+ .set(
+ new MTEHatchEnergyTunnel(
+ UHV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.09",
+ "UHV 262,144A/t Laser Target Hatch",
+ 9,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel7_UHV
+ .set(
+ new MTEHatchEnergyTunnel(
+ UHV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.09",
+ "UHV 1,048,576A/t Laser Target Hatch",
+ 9,
+ 1048576).getStackForm(1L))
+ .hidden();
+
+ eM_energyTunnel1_UEV.set(
+ new MTEHatchEnergyTunnel(
+ UEV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.10",
+ "UEV 256A/t Laser Target Hatch",
+ 10,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_UEV.set(
+ new MTEHatchEnergyTunnel(
+ UEV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.10",
+ "UEV 1,024A/t Laser Target Hatch",
+ 10,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_UEV.set(
+ new MTEHatchEnergyTunnel(
+ UEV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.10",
+ "UEV 4,096A/t Laser Target Hatch",
+ 10,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_UEV.set(
+ new MTEHatchEnergyTunnel(
+ UEV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.10",
+ "UEV 16,384A/t Laser Target Hatch",
+ 10,
+ 16384).getStackForm(1L));
+ eM_energyTunnel5_UEV.set(
+ new MTEHatchEnergyTunnel(
+ UEV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.10",
+ "UEV 65,536A/t Laser Target Hatch",
+ 10,
+ 65536).getStackForm(1L));
+ eM_energyTunnel6_UEV.set(
+ new MTEHatchEnergyTunnel(
+ UEV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.10",
+ "UEV 262,144A/t Laser Target Hatch",
+ 10,
+ 262144).getStackForm(1L));
+ eM_energyTunnel7_UEV
+ .set(
+ new MTEHatchEnergyTunnel(
+ UEV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.10",
+ "UEV 1,048,576A/t Laser Target Hatch",
+ 10,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_energyTunnel1_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.11",
+ "UIV 256A/t Laser Target Hatch",
+ 11,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.11",
+ "UIV 1,024A/t Laser Target Hatch",
+ 11,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.11",
+ "UIV 4,096A/t Laser Target Hatch",
+ 11,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.11",
+ "UIV 16,384A/t Laser Target Hatch",
+ 11,
+ 16384).getStackForm(1L));
+ eM_energyTunnel5_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.11",
+ "UIV 65,536A/t Laser Target Hatch",
+ 11,
+ 65536).getStackForm(1L));
+ eM_energyTunnel6_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.11",
+ "UIV 262,144A/t Laser Target Hatch",
+ 11,
+ 262144).getStackForm(1L));
+ eM_energyTunnel7_UIV.set(
+ new MTEHatchEnergyTunnel(
+ UIV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.11",
+ "UIV 1,048,576A/t Laser Target Hatch",
+ 11,
+ 1048576).getStackForm(1L));
+ eM_energyTunnel1_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.12",
+ "UMV 256A/t Laser Target Hatch",
+ 12,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.12",
+ "UMV 1,024A/t Laser Target Hatch",
+ 12,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.12",
+ "UMV 4,096A/t Laser Target Hatch",
+ 12,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.12",
+ "UMV 16,384A/t Laser Target Hatch",
+ 12,
+ 16384).getStackForm(1L));
+ eM_energyTunnel5_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.12",
+ "UMV 65,536A/t Laser Target Hatch",
+ 12,
+ 65536).getStackForm(1L));
+ eM_energyTunnel6_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.12",
+ "UMV 262,144A/t Laser Target Hatch",
+ 12,
+ 262144).getStackForm(1L));
+ eM_energyTunnel7_UMV.set(
+ new MTEHatchEnergyTunnel(
+ UMV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.12",
+ "UMV 1,048,576A/t Laser Target Hatch",
+ 12,
+ 1048576).getStackForm(1L));
+ eM_energyTunnel8_UMV.set(
+ new MTEHatchEnergyTunnel(
+ MetaTileEntityIDs.LASER_TARGET_UMV8.ID,
+ "hatch.energytunnel8.tier.12",
+ "UMV 4,194,304A/t Laser Target Hatch",
+ 12,
+ 4194304).getStackForm(1L));
+ eM_energyTunnel1_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV256AtLaserTargetHatch.ID,
+ "hatch.energytunnel1.tier.13",
+ "UXV 256A/t Laser Target Hatch",
+ 13,
+ 256).getStackForm(1L));
+ eM_energyTunnel2_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV1024AtLaserTargetHatch.ID,
+ "hatch.energytunnel2.tier.13",
+ "UXV 1,024A/t Laser Target Hatch",
+ 13,
+ 1024).getStackForm(1L));
+ eM_energyTunnel3_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV4096AtLaserTargetHatch.ID,
+ "hatch.energytunnel3.tier.13",
+ "UXV 4,096A/t Laser Target Hatch",
+ 13,
+ 4096).getStackForm(1L));
+ eM_energyTunnel4_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV16384AtLaserTargetHatch.ID,
+ "hatch.energytunnel4.tier.13",
+ "UXV 16,384A/t Laser Target Hatch",
+ 13,
+ 16384).getStackForm(1L));
+ eM_energyTunnel5_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV65536AtLaserTargetHatch.ID,
+ "hatch.energytunnel5.tier.13",
+ "UXV 65,536A/t Laser Target Hatch",
+ 13,
+ 65536).getStackForm(1L));
+ eM_energyTunnel6_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV262144AtLaserTargetHatch.ID,
+ "hatch.energytunnel6.tier.13",
+ "UXV 262,144A/t Laser Target Hatch",
+ 13,
+ 262144).getStackForm(1L));
+ eM_energyTunnel7_UXV.set(
+ new MTEHatchEnergyTunnel(
+ UXV1048576AtLaserTargetHatch.ID,
+ "hatch.energytunnel7.tier.13",
+ "UXV 1,048,576A/t Laser Target Hatch",
+ 13,
+ 1048576).getStackForm(1L));
+ eM_energyTunnel8_UXV.set(
+ new MTEHatchEnergyTunnel(
+ MetaTileEntityIDs.LASER_TARGET_UXV8.ID,
+ "hatch.energytunnel8.tier.13",
+ "UXV 4,194,304A/t Laser Target Hatch",
+ 13,
+ 4194304).getStackForm(1L));
+ eM_energyTunnel9_UXV.set(
+ new MTEHatchEnergyTunnel(
+ MetaTileEntityIDs.LASER_TARGET_UXV9.ID,
+ "hatch.energytunnel9.tier.13",
+ "UXV 16,777,216A/t Laser Target Hatch",
+ 13,
+ 16777216).getStackForm(1L));
+ eM_energyTunnel9001.set(
+ new MTEHatchEnergyTunnel(
+ LegendaryLaserTargetHatch.ID,
+ "hatch.energytunnel.tier.14",
+ "Legendary Laser Target Hatch",
+ 13,
+ (int) V[13]).getStackForm(1L));
+
+ // ===================================================================================================
+ // Multi AMP Power OUTPUTS
+ // ===================================================================================================
+ eM_dynamoMulti4_EV.set(
+ new MTEHatchDynamoMulti(EV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.04", "EV 4A Dynamo Hatch", 4, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_EV.set(
+ new MTEHatchDynamoMulti(EV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.04", "EV 16A Dynamo Hatch", 4, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_EV.set(
+ new MTEHatchDynamoMulti(EV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.04", "EV 64A Dynamo Hatch", 4, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_IV.set(
+ new MTEHatchDynamoMulti(IV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.05", "IV 4A Dynamo Hatch", 5, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_IV.set(
+ new MTEHatchDynamoMulti(IV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.05", "IV 16A Dynamo Hatch", 5, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_IV.set(
+ new MTEHatchDynamoMulti(IV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.05", "IV 64A Dynamo Hatch", 5, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_LuV.set(
+ new MTEHatchDynamoMulti(LuV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.06", "LuV 4A Dynamo Hatch", 6, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_LuV.set(
+ new MTEHatchDynamoMulti(LuV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.06", "LuV 16A Dynamo Hatch", 6, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_LuV.set(
+ new MTEHatchDynamoMulti(LuV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.06", "LuV 64A Dynamo Hatch", 6, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_ZPM.set(
+ new MTEHatchDynamoMulti(ZPM4ADynamoHatch.ID, "hatch.dynamomulti04.tier.07", "ZPM 4A Dynamo Hatch", 7, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_ZPM.set(
+ new MTEHatchDynamoMulti(ZPM16ADynamoHatch.ID, "hatch.dynamomulti16.tier.07", "ZPM 16A Dynamo Hatch", 7, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_ZPM.set(
+ new MTEHatchDynamoMulti(ZPM64ADynamoHatch.ID, "hatch.dynamomulti64.tier.07", "ZPM 64A Dynamo Hatch", 7, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_UV.set(
+ new MTEHatchDynamoMulti(UV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.08", "UV 4A Dynamo Hatch", 8, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_UV.set(
+ new MTEHatchDynamoMulti(UV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.08", "UV 16A Dynamo Hatch", 8, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_UV.set(
+ new MTEHatchDynamoMulti(UV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.08", "UV 64A Dynamo Hatch", 8, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_UHV.set(
+ new MTEHatchDynamoMulti(UHV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.09", "UHV 4A Dynamo Hatch", 9, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_UHV.set(
+ new MTEHatchDynamoMulti(UHV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.09", "UHV 16A Dynamo Hatch", 9, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_UHV.set(
+ new MTEHatchDynamoMulti(UHV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.09", "UHV 64A Dynamo Hatch", 9, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_UEV.set(
+ new MTEHatchDynamoMulti(UEV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.10", "UEV 4A Dynamo Hatch", 10, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_UEV.set(
+ new MTEHatchDynamoMulti(UEV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.10", "UEV 16A Dynamo Hatch", 10, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_UEV.set(
+ new MTEHatchDynamoMulti(UEV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.10", "UEV 64A Dynamo Hatch", 10, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_UIV.set(
+ new MTEHatchDynamoMulti(UIV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.11", "UIV 4A Dynamo Hatch", 11, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_UIV.set(
+ new MTEHatchDynamoMulti(UIV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.11", "UIV 16A Dynamo Hatch", 11, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_UIV.set(
+ new MTEHatchDynamoMulti(UIV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.11", "UIV 64A Dynamo Hatch", 11, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_UMV.set(
+ new MTEHatchDynamoMulti(UMV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.12", "UMV 4A Dynamo Hatch", 12, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_UMV.set(
+ new MTEHatchDynamoMulti(UMV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.12", "UMV 16A Dynamo Hatch", 12, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_UMV.set(
+ new MTEHatchDynamoMulti(UMV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.12", "UMV 64A Dynamo Hatch", 12, 64)
+ .getStackForm(1L));
+ eM_dynamoMulti4_UXV.set(
+ new MTEHatchDynamoMulti(UXV4ADynamoHatch.ID, "hatch.dynamomulti04.tier.13", "UXV 4A Dynamo Hatch", 13, 4)
+ .getStackForm(1L));
+ eM_dynamoMulti16_UXV.set(
+ new MTEHatchDynamoMulti(UXV16ADynamoHatch.ID, "hatch.dynamomulti16.tier.13", "UXV 16A Dynamo Hatch", 13, 16)
+ .getStackForm(1L));
+ eM_dynamoMulti64_UXV.set(
+ new MTEHatchDynamoMulti(UXV64ADynamoHatch.ID, "hatch.dynamomulti64.tier.13", "UXV 64A Dynamo Hatch", 13, 64)
+ .getStackForm(1L));
+
+ // ===================================================================================================
+ // Multi AMP Laser OUTPUTS
+ // ===================================================================================================
+
+ eM_dynamoTunnel1_IV.set(
+ new MTEHatchDynamoTunnel(
+ IV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.05",
+ "IV 256A/t Laser Source Hatch",
+ 5,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_IV
+ .set(
+ new MTEHatchDynamoTunnel(
+ IV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.05",
+ "IV 1,024A/t Laser Source Hatch",
+ 5,
+ 1024).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel3_IV
+ .set(
+ new MTEHatchDynamoTunnel(
+ IV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.05",
+ "IV 4,096A/t Laser Source Hatch",
+ 5,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel4_IV
+ .set(
+ new MTEHatchDynamoTunnel(
+ IV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.05",
+ "IV 16,384A/t Laser Source Hatch",
+ 5,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel5_IV
+ .set(
+ new MTEHatchDynamoTunnel(
+ IV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.05",
+ "IV 65,536A/t Laser Source Hatch",
+ 5,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_IV
+ .set(
+ new MTEHatchDynamoTunnel(
+ IV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.05",
+ "IV 262,144A/t Laser Source Hatch",
+ 5,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_IV
+ .set(
+ new MTEHatchDynamoTunnel(
+ IV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.05",
+ "IV 1,048,576A/t Laser Source Hatch",
+ 5,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel1_LuV.set(
+ new MTEHatchDynamoTunnel(
+ LuV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.06",
+ "LuV 256A/t Laser Source Hatch",
+ 6,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_LuV.set(
+ new MTEHatchDynamoTunnel(
+ LuV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.06",
+ "LuV 1,024A/t Laser Source Hatch",
+ 6,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_LuV
+ .set(
+ new MTEHatchDynamoTunnel(
+ LuV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.06",
+ "LuV 4,096A/t Laser Source Hatch",
+ 6,
+ 4096).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel4_LuV
+ .set(
+ new MTEHatchDynamoTunnel(
+ LuV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.06",
+ "LuV 16,384A/t Laser Source Hatch",
+ 6,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel5_LuV
+ .set(
+ new MTEHatchDynamoTunnel(
+ LuV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.06",
+ "LuV 65,536A/t Laser Source Hatch",
+ 6,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_LuV
+ .set(
+ new MTEHatchDynamoTunnel(
+ LuV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.06",
+ "LuV 262,144A/t Laser Source Hatch",
+ 6,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_LuV
+ .set(
+ new MTEHatchDynamoTunnel(
+ LuV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.06",
+ "LuV 1,048,576A/t Laser Source Hatch",
+ 6,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel1_ZPM.set(
+ new MTEHatchDynamoTunnel(
+ ZPM256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.07",
+ "ZPM 256A/t Laser Source Hatch",
+ 7,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_ZPM.set(
+ new MTEHatchDynamoTunnel(
+ ZPM1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.07",
+ "ZPM 1,024A/t Laser Source Hatch",
+ 7,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_ZPM.set(
+ new MTEHatchDynamoTunnel(
+ ZPM4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.07",
+ "ZPM 4,096A/t Laser Source Hatch",
+ 7,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_ZPM
+ .set(
+ new MTEHatchDynamoTunnel(
+ ZPM16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.07",
+ "ZPM 16,384A/t Laser Source Hatch",
+ 7,
+ 16384).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel5_ZPM
+ .set(
+ new MTEHatchDynamoTunnel(
+ ZPM65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.07",
+ "ZPM 65,536A/t Laser Source Hatch",
+ 7,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_ZPM
+ .set(
+ new MTEHatchDynamoTunnel(
+ ZPM262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.07",
+ "ZPM 262,144A/t Laser Source Hatch",
+ 7,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_ZPM
+ .set(
+ new MTEHatchDynamoTunnel(
+ ZPM1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.07",
+ "ZPM 1,048,576A/t Laser Source Hatch",
+ 7,
+ 1048576).getStackForm(1L))
+ .hidden();
+
+ eM_dynamoTunnel1_UV.set(
+ new MTEHatchDynamoTunnel(
+ UV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.08",
+ "UV 256A/t Laser Source Hatch",
+ 8,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_UV.set(
+ new MTEHatchDynamoTunnel(
+ UV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.08",
+ "UV 1,024A/t Laser Source Hatch",
+ 8,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_UV.set(
+ new MTEHatchDynamoTunnel(
+ UV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.08",
+ "UV 4,096A/t Laser Source Hatch",
+ 8,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_UV.set(
+ new MTEHatchDynamoTunnel(
+ UV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.08",
+ "UV 16,384A/t Laser Source Hatch",
+ 8,
+ 16384).getStackForm(1L));
+ eM_dynamoTunnel5_UV
+ .set(
+ new MTEHatchDynamoTunnel(
+ UV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.08",
+ "UV 65,536A/t Laser Source Hatch",
+ 8,
+ 65536).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel6_UV
+ .set(
+ new MTEHatchDynamoTunnel(
+ UV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.08",
+ "UV 262,144A/t Laser Source Hatch",
+ 8,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_UV
+ .set(
+ new MTEHatchDynamoTunnel(
+ UV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.08",
+ "UV 1,048,576A/t Laser Source Hatch",
+ 8,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel1_UHV.set(
+ new MTEHatchDynamoTunnel(
+ UHV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.09",
+ "UHV 256A/t Laser Source Hatch",
+ 9,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_UHV.set(
+ new MTEHatchDynamoTunnel(
+ UHV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.09",
+ "UHV 1,024A/t Laser Source Hatch",
+ 9,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_UHV.set(
+ new MTEHatchDynamoTunnel(
+ UHV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.09",
+ "UHV 4,096A/t Laser Source Hatch",
+ 9,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_UHV.set(
+ new MTEHatchDynamoTunnel(
+ UHV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.09",
+ "UHV 16,384A/t Laser Source Hatch",
+ 9,
+ 16384).getStackForm(1L));
+ eM_dynamoTunnel5_UHV.set(
+ new MTEHatchDynamoTunnel(
+ UHV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.09",
+ "UHV 65,536A/t Laser Source Hatch",
+ 9,
+ 65536).getStackForm(1L));
+ eM_dynamoTunnel6_UHV
+ .set(
+ new MTEHatchDynamoTunnel(
+ UHV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.09",
+ "UHV 262,144A/t Laser Source Hatch",
+ 9,
+ 262144).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel7_UHV
+ .set(
+ new MTEHatchDynamoTunnel(
+ UHV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.09",
+ "UHV 1,048,576A/t Laser Source Hatch",
+ 9,
+ 1048576).getStackForm(1L))
+ .hidden();
+ eM_dynamoTunnel1_UEV.set(
+ new MTEHatchDynamoTunnel(
+ UEV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.10",
+ "UEV 256A/t Laser Source Hatch",
+ 10,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_UEV.set(
+ new MTEHatchDynamoTunnel(
+ UEV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.10",
+ "UEV 1,024A/t Laser Source Hatch",
+ 10,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_UEV.set(
+ new MTEHatchDynamoTunnel(
+ UEV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.10",
+ "UEV 4,096A/t Laser Source Hatch",
+ 10,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_UEV.set(
+ new MTEHatchDynamoTunnel(
+ UEV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.10",
+ "UEV 16,384A/t Laser Source Hatch",
+ 10,
+ 16384).getStackForm(1L));
+ eM_dynamoTunnel5_UEV.set(
+ new MTEHatchDynamoTunnel(
+ UEV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.10",
+ "UEV 65,536A/t Laser Source Hatch",
+ 10,
+ 65536).getStackForm(1L));
+ eM_dynamoTunnel6_UEV.set(
+ new MTEHatchDynamoTunnel(
+ UEV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.10",
+ "UEV 262,144A/t Laser Source Hatch",
+ 10,
+ 262144).getStackForm(1L));
+ eM_dynamoTunnel7_UEV
+ .set(
+ new MTEHatchDynamoTunnel(
+ UEV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.10",
+ "UEV 1,048,576A/t Laser Source Hatch",
+ 10,
+ 1048576).getStackForm(1L))
+ .hidden();
+
+ eM_dynamoTunnel1_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.11",
+ "UIV 256A/t Laser Source Hatch",
+ 11,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.11",
+ "UIV 1,024A/t Laser Source Hatch",
+ 11,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.11",
+ "UIV 4,096A/t Laser Source Hatch",
+ 11,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.11",
+ "UIV 16,384A/t Laser Source Hatch",
+ 11,
+ 16384).getStackForm(1L));
+ eM_dynamoTunnel5_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.11",
+ "UIV 65,536A/t Laser Source Hatch",
+ 11,
+ 65536).getStackForm(1L));
+ eM_dynamoTunnel6_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.11",
+ "UIV 262,144A/t Laser Source Hatch",
+ 11,
+ 262144).getStackForm(1L));
+ eM_dynamoTunnel7_UIV.set(
+ new MTEHatchDynamoTunnel(
+ UIV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.11",
+ "UIV 1,048,576A/t Laser Source Hatch",
+ 11,
+ 1048576).getStackForm(1L));
+
+ eM_dynamoTunnel1_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.12",
+ "UMV 256A/t Laser Source Hatch",
+ 12,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.12",
+ "UMV 1,024A/t Laser Source Hatch",
+ 12,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.12",
+ "UMV 4,096A/t Laser Source Hatch",
+ 12,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.12",
+ "UMV 16,384A/t Laser Source Hatch",
+ 12,
+ 16384).getStackForm(1L));
+ eM_dynamoTunnel5_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.12",
+ "UMV 65,536A/t Laser Source Hatch",
+ 12,
+ 65536).getStackForm(1L));
+ eM_dynamoTunnel6_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.12",
+ "UMV 262,144A/t Laser Source Hatch",
+ 12,
+ 262144).getStackForm(1L));
+ eM_dynamoTunnel7_UMV.set(
+ new MTEHatchDynamoTunnel(
+ UMV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.12",
+ "UMV 1,048,576A/t Laser Source Hatch",
+ 12,
+ 1048576).getStackForm(1L));
+ eM_dynamoTunnel8_UMV.set(
+ new MTEHatchDynamoTunnel(
+ MetaTileEntityIDs.LASER_SOURCE_UMV8.ID,
+ "hatch.dynamotunnel8.tier.12",
+ "UMV 4,194,304A/t Laser Source Hatch",
+ 12,
+ 4194304).getStackForm(1L));
+
+ eM_dynamoTunnel1_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV256AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel1.tier.13",
+ "UXV 256A/t Laser Source Hatch",
+ 13,
+ 256).getStackForm(1L));
+ eM_dynamoTunnel2_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV1024AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel2.tier.13",
+ "UXV 1,024A/t Laser Source Hatch",
+ 13,
+ 1024).getStackForm(1L));
+ eM_dynamoTunnel3_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV4096AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel3.tier.13",
+ "UXV 4,096A/t Laser Source Hatch",
+ 13,
+ 4096).getStackForm(1L));
+ eM_dynamoTunnel4_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV16384AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel4.tier.13",
+ "UXV 16,384A/t Laser Source Hatch",
+ 13,
+ 16384).getStackForm(1L));
+ eM_dynamoTunnel5_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV65536AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel5.tier.13",
+ "UXV 65,536A/t Laser Source Hatch",
+ 13,
+ 65536).getStackForm(1L));
+ eM_dynamoTunnel6_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV262144AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel6.tier.13",
+ "UXV 262,144A/t Laser Source Hatch",
+ 13,
+ 262144).getStackForm(1L));
+ eM_dynamoTunnel7_UXV.set(
+ new MTEHatchDynamoTunnel(
+ UXV1048576AtLaserSourceHatch.ID,
+ "hatch.dynamotunnel7.tier.13",
+ "UXV 1,048,576A/t Laser Source Hatch",
+ 13,
+ 1048576).getStackForm(1L));
+ eM_dynamoTunnel8_UXV.set(
+ new MTEHatchDynamoTunnel(
+ MetaTileEntityIDs.LASER_SOURCE_UXV8.ID,
+ "hatch.dynamotunnel8.tier.13",
+ "UXV 4,194,304A/t Laser Source Hatch",
+ 13,
+ 4194304).getStackForm(1L));
+ eM_dynamoTunnel9_UXV.set(
+ new MTEHatchDynamoTunnel(
+ MetaTileEntityIDs.LASER_SOURCE_UXV9.ID,
+ "hatch.dynamotunnel9.tier.13",
+ "UXV 16,777,216A/t Laser Source Hatch",
+ 13,
+ 16777216).getStackForm(1L));
+ eM_dynamoTunnel9001.set(
+ new MTEHatchDynamoTunnel(
+ LegendaryLaserSourceHatch.ID,
+ "hatch.dynamotunnel.tier.14",
+ "Legendary Laser Source Hatch",
+ 13,
+ (int) V[13]).getStackForm(1L));
+
+ // ===================================================================================================
+ // MULTIBLOCKS
+ // ===================================================================================================
+
+ Machine_Multi_Transformer.set(
+ new MTEActiveTransformer(ActiveTransformer.ID, "multimachine.em.transformer", "Active Transformer")
+ .getStackForm(1L));
+ Machine_Multi_Microwave.set(
+ new MTEMicrowave(MicrowaveGrinder.ID, "multimachine.tm.microwave", "Microwave Grinder").getStackForm(1L));
+ Machine_Multi_TeslaCoil
+ .set(new MTETeslaTower(TeslaTower.ID, "multimachine.tm.teslaCoil", "Tesla Tower").getStackForm(1L));
+ Machine_Multi_Switch.set(
+ new MTENetworkSwitch(NetworkSwitchWithQoS.ID, "multimachine.em.switch", "Network Switch With QoS")
+ .getStackForm(1L));
+ Machine_Multi_Computer.set(
+ new MTEQuantumComputer(QuantumComputer.ID, "multimachine.em.computer", "Quantum Computer")
+ .getStackForm(1L));
+ Machine_Multi_DataBank
+ .set(new MTEDataBank(DataBank.ID, "multimachine.em.databank", "Data Bank").getStackForm(1L));
+ Machine_Multi_Research.set(
+ new MTEResearchStation(Researchstation.ID, "multimachine.em.research", "Research station")
+ .getStackForm(1L));
+ Machine_Multi_Infuser
+ .set(new MTEEnergyInfuser(EnergyInfuser.ID, "multimachine.em.infuser", "Energy Infuser").getStackForm(1));
+ Machine_Multi_EyeOfHarmony.set(
+ new MTEEyeOfHarmony(EyeofHarmony.ID, "multimachine.em.eye_of_harmony", "Eye of Harmony").getStackForm(1L));
+ if (tectech.TecTech.configTecTech.ENABLE_GOD_FORGE) {
+ Machine_Multi_ForgeOfGods.set(
+ new MTEForgeOfGods(ForgeoftheGods.ID, "multimachine.em.forge_of_gods", "Forge of the Gods")
+ .getStackForm(1L));
+ addItemTooltip(Machine_Multi_ForgeOfGods.get(1), GTValues.AuthorCloud);
+ Machine_Multi_SmeltingModule.set(
+ new MTESmeltingModule(
+ HelioflarePowerForge.ID,
+ "multimachine.em.smelting_module",
+ "Helioflare Power Forge").getStackForm(1L));
+ addItemTooltip(Machine_Multi_SmeltingModule.get(1), GTValues.AuthorCloud);
+ Machine_Multi_MoltenModule.set(
+ new MTEMoltenModule(HeliofluxMeltingCore.ID, "multimachine.em.molten_module", "Helioflux Melting Core")
+ .getStackForm(1L));
+ addItemTooltip(Machine_Multi_MoltenModule.get(1), GTValues.AuthorCloud);
+ Machine_Multi_PlasmaModule.set(
+ new MTEPlasmaModule(
+ HeliothermalPlasmaFabricator.ID,
+ "multimachine.em.plasma_module",
+ "Heliothermal Plasma Fabricator").getStackForm(1L));
+ addItemTooltip(Machine_Multi_PlasmaModule.get(1), GTValues.AuthorCloud);
+ Machine_Multi_QuarkGluonPlasmaModule.set(
+ new MTEExoticModule(HeliofusionExoticizer.ID, "multimachine.em.exotic_module", "Heliofusion Exoticizer")
+ .getStackForm(1L));
+ addItemTooltip(Machine_Multi_QuarkGluonPlasmaModule.get(1), GTValues.AuthorCloud);
+ }
+
+ // ===================================================================================================
+ // Hatches
+ // ===================================================================================================
+
+ Parametrizer_Hatch
+ .set(new MTEHatchParam(Parametrizer.ID, "hatch.param.tier.05", "Parametrizer", 5).getStackForm(1L)); // TODO
+ // refactor
+ // aName
+ // to
+ // hatch.param.tier.04
+ // and
+ // aTier
+ // to
+ // 4,
+ // check
+ // recipe
+ // for
+ // NH
+ ParametrizerX_Hatch
+ .set(new MTEHatchParam(ParametrizerX.ID, "hatch.param.tier.07", "Parametrizer X", 7).getStackForm(1L));
+ ParametrizerTXT_Hatch.set(
+ new MTEHatchParamText(ParametrizertXt.ID, "hatch.param.tier.10", "Parametrizer tXt", 10).getStackForm(1L)); // TODO
+ // check
+ // recipe
+ // for
+ // NH
+ Uncertainty_Hatch.set(
+ new MTEHatchUncertainty(UncertaintyResolver.ID, "hatch.certain.tier.07", "Uncertainty Resolver", 7)
+ .getStackForm(1L));
+ UncertaintyX_Hatch.set(
+ new MTEHatchUncertainty(UncertaintyResolverX.ID, "hatch.certain.tier.10", "Uncertainty Resolver X", 10)
+ .getStackForm(1L));
+ dataIn_Hatch.set(
+ new MTEHatchDataInput(OpticalSlaveConnector.ID, "hatch.datain.tier.07", "Optical Reception Connector", 7)
+ .getStackForm(1L));
+ dataOut_Hatch.set(
+ new MTEHatchDataOutput(
+ OpticalMasterConnector.ID,
+ "hatch.dataout.tier.07",
+ "Optical Transmission Connector",
+ 7).getStackForm(1L));
+ dataInAss_Hatch.set(
+ new MTEHatchDataItemsInput(
+ AssemblylineSlaveConnector.ID,
+ "hatch.datainass.tier.07",
+ "Assembly line Reception Connector",
+ 7).getStackForm(1L));
+ dataOutAss_Hatch.set(
+ new MTEHatchDataItemsOutput(
+ DataBankMasterConnector.ID,
+ "hatch.dataoutass.tier.07",
+ "Data Bank Transmission Connector",
+ 7).getStackForm(1L));
+ dataOut_Wireless_Hatch.set(
+ new MTEHatchWirelessComputationOutput(
+ CloudComputationServerHatch.ID,
+ "hatch.dataout.wireless.tier.12",
+ "Cloud Computation Server Hatch",
+ 12).getStackForm(1L));
+ dataIn_Wireless_Hatch.set(
+ new MTEHatchWirelessComputationInput(
+ CloudComputationClientHatch.ID,
+ "hatch.datain.wireless.tier.12",
+ "Cloud Computation Client Hatch",
+ 12).getStackForm(1L));
+ dataInAss_Wireless_Hatch.set(
+ new MTEHatchWirelessDataItemsInput(
+ WirelessAssemblylineSlaveConnector.ID,
+ "hatch.datainass.wireless.tier.12",
+ "Wireless Assembly line Reception Connector",
+ 12).getStackForm(1L));
+ dataOutAss_Wireless_Hatch.set(
+ new MTEHatchWirelessDataItemsOutput(
+ WirelessDataBankMasterConnector.ID,
+ "hatch.dataoutass.wireless.tier.12",
+ "Wireless Data Bank Transmission Connector",
+ 12).getStackForm(1L));
+ rack_Hatch.set(new MTEHatchRack(ComputerRack.ID, "hatch.rack.tier.08", "Computer Rack", 8).getStackForm(1L));
+ holder_Hatch.set(
+ new MTEHatchObjectHolder(ObjectHolder.ID, "hatch.holder.tier.09", "Object Holder", 8).getStackForm(1L));
+ capacitor_Hatch.set(
+ new MTEHatchCapacitor(CapacitorHatch.ID, "hatch.capacitor.tier.03", "Capacitor Hatch", 3).getStackForm(1L));
+
+ // ===================================================================================================
+ // Pipes
+ // ===================================================================================================
+
+ LASERpipe.set(new MTEPipeEnergy(LaserVacuumPipe.ID, "pipe.energystream", "Laser Vacuum Pipe").getStackForm(1L));
+ LASERpipeSmart.set(
+ new MTEPipeEnergyMirror(LaserVacuumMirror.ID, "pipe.energymirror", "Laser Vacuum Mirror").getStackForm(1L));
+ DATApipe.set(new MTEPipeData(OpticalFiberCable.ID, "pipe.datastream", "Optical Fiber Cable").getStackForm(1L));
+
+ LASERpipeBlock.set(
+ new MTEPipeBlockEnergy(LaserVacuumPipeCasing.ID, "pipe.energystream.block", "Laser Vacuum Pipe Casing")
+ .getStackForm(1L));
+ DATApipeBlock.set(
+ new MTEPipeBlockData(OpticalFiberCableCasing.ID, "pipe.datastream.block", "Optical Fiber Cable Casing")
+ .getStackForm(1L));
+
+ // ===================================================================================================
+ // Single Blocks
+ // ===================================================================================================
+
+ Machine_OwnerDetector.set(
+ new MTEOwnerDetector(Ownerdetector.ID, "machine.tt.ownerdetector", "Owner detector", 3).getStackForm(1L));
+
+ // ===================================================================================================
+ // Buck Converters
+ // ===================================================================================================
+
+ Machine_BuckConverter_IV.set(
+ new MTEBuckConverter(InsaneBuckConverter.ID, "machine.tt.buck.05", "Insane Buck Converter", 5)
+ .getStackForm(1L));
+ Machine_BuckConverter_LuV.set(
+ new MTEBuckConverter(LudicrousBuckConverter.ID, "machine.tt.buck.06", "Ludicrous Buck Converter", 6)
+ .getStackForm(1L));
+ Machine_BuckConverter_ZPM.set(
+ new MTEBuckConverter(ZPMVoltageBuckConverter.ID, "machine.tt.buck.07", "ZPM Voltage Buck Converter", 7)
+ .getStackForm(1L));
+ Machine_BuckConverter_UV.set(
+ new MTEBuckConverter(
+ UltimatePowerBuckConverter.ID,
+ "machine.tt.buck.08",
+ "Ultimate Power Buck Converter",
+ 8).getStackForm(1L));
+ Machine_BuckConverter_UHV.set(
+ new MTEBuckConverter(
+ HighlyUltimateBuckConverter.ID,
+ "machine.tt.buck.09",
+ "Highly Ultimate Buck Converter",
+ 9).getStackForm(1L));
+ Machine_BuckConverter_UEV.set(
+ new MTEBuckConverter(
+ ExtremelyUltimateBuckConverter.ID,
+ "machine.tt.buck.10",
+ "Extremely Ultimate Buck Converter",
+ 10).getStackForm(1L));
+ Machine_BuckConverter_UIV.set(
+ new MTEBuckConverter(
+ InsanelyUltimateBuckConverter.ID,
+ "machine.tt.buck.11",
+ "Insanely Ultimate Buck Converter",
+ 11).getStackForm(1L));
+ Machine_BuckConverter_UMV.set(
+ new MTEBuckConverter(MegaUltimateBuckConverter.ID, "machine.tt.buck.12", "Mega Ultimate Buck Converter", 12)
+ .getStackForm(1L));
+ Machine_BuckConverter_UXV.set(
+ new MTEBuckConverter(
+ ExtendedMegaUltimateBuckConverter.ID,
+ "machine.tt.buck.13",
+ "Extended Mega Ultimate Buck Converter",
+ 13).getStackForm(1L));
+
+ // ===================================================================================================
+ // Tesla Transceiver
+ // ===================================================================================================
+
+ Machine_TeslaCoil_1by1_LV.set(
+ new MTETeslaCoil(BasicTeslaTransceiver1by1.ID, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 1)
+ .getStackForm(1L));
+ Machine_TeslaCoil_1by1_MV.set(
+ new MTETeslaCoil(AdvancedTeslaTransceiver1by1.ID, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 1)
+ .getStackForm(1L));
+ Machine_TeslaCoil_1by1_HV.set(
+ new MTETeslaCoil(EpycTeslaTransceiver1by1.ID, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 1)
+ .getStackForm(1L));
+ Machine_TeslaCoil_1by1_EV.set(
+ new MTETeslaCoil(
+ UltimatePowerTeslaTransceiver1by1.ID,
+ "machine.tt.tesla.04",
+ "Ultimate Power Tesla Transceiver",
+ 4,
+ 1).getStackForm(1L));
+ Machine_TeslaCoil_1by1_IV.set(
+ new MTETeslaCoil(InsaneTeslaTransceiver1by1.ID, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 1)
+ .getStackForm(1L));
+
+ Machine_TeslaCoil_2by2_LV.set(
+ new MTETeslaCoil(BasicTeslaTransceiver2by2.ID, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 4)
+ .getStackForm(1L));
+ Machine_TeslaCoil_2by2_MV.set(
+ new MTETeslaCoil(AdvancedTeslaTransceiver2by2.ID, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 4)
+ .getStackForm(1L));
+ Machine_TeslaCoil_2by2_HV.set(
+ new MTETeslaCoil(EpycTeslaTransceiver2by2.ID, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 4)
+ .getStackForm(1L));
+ Machine_TeslaCoil_2by2_EV.set(
+ new MTETeslaCoil(
+ UltimatePowerTeslaTransceiver2by2.ID,
+ "machine.tt.tesla.04",
+ "Ultimate Power Tesla Transceiver",
+ 4,
+ 4).getStackForm(1L));
+ Machine_TeslaCoil_2by2_IV.set(
+ new MTETeslaCoil(InsaneTeslaTransceiver2by2.ID, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 4)
+ .getStackForm(1L));
+
+ Machine_TeslaCoil_3by3_LV.set(
+ new MTETeslaCoil(BasicTeslaTransceiver3by3.ID, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 9)
+ .getStackForm(1L));
+ Machine_TeslaCoil_3by3_MV.set(
+ new MTETeslaCoil(AdvancedTeslaTransceiver3by3.ID, "machine.tt.tesla.02", "Advanced Tesla Transceiver", 2, 9)
+ .getStackForm(1L));
+ Machine_TeslaCoil_3by3_HV.set(
+ new MTETeslaCoil(EpycTeslaTransceiver3by3.ID, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 9)
+ .getStackForm(1L));
+ Machine_TeslaCoil_3by3_EV.set(
+ new MTETeslaCoil(
+ UltimatePowerTeslaTransceiver3by3.ID,
+ "machine.tt.tesla.04",
+ "Ultimate Power Tesla Transceiver",
+ 4,
+ 9).getStackForm(1L));
+ Machine_TeslaCoil_3by3_IV.set(
+ new MTETeslaCoil(InsaneTeslaTransceiver3by3.ID, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 9)
+ .getStackForm(1L));
+
+ Machine_TeslaCoil_4by4_LV.set(
+ new MTETeslaCoil(BasicTeslaTransceiver4by4.ID, "machine.tt.tesla.01", "Basic Tesla Transceiver", 1, 16)
+ .getStackForm(1L));
+ Machine_TeslaCoil_4by4_MV.set(
+ new MTETeslaCoil(
+ AdvancedTeslaTransceiver4by4.ID,
+ "machine.tt.tesla.02",
+ "Advanced Tesla Transceiver",
+ 2,
+ 16).getStackForm(1L));
+ Machine_TeslaCoil_4by4_HV.set(
+ new MTETeslaCoil(EpycTeslaTransceiver4by4.ID, "machine.tt.tesla.03", "Epyc Tesla Transceiver", 3, 16)
+ .getStackForm(1L));
+ Machine_TeslaCoil_4by4_EV.set(
+ new MTETeslaCoil(
+ UltimatePowerTeslaTransceiver4by4.ID,
+ "machine.tt.tesla.04",
+ "Ultimate Power Tesla Transceiver",
+ 4,
+ 16).getStackForm(1L));
+ Machine_TeslaCoil_4by4_IV.set(
+ new MTETeslaCoil(InsaneTeslaTransceiver4by4.ID, "machine.tt.tesla.05", "Insane Tesla Transceiver", 5, 16)
+ .getStackForm(1L));
+
+ // ===================================================================================================
+ // Debug Stuff
+ // ===================================================================================================
+ Machine_DebugPollutor.set(
+ new MTEDebugPollutor(DebugPollutionGenerator.ID, "debug.tt.pollutor", "Debug Pollution Generator", 14)
+ .getStackForm(1));
+ hatch_CreativeData
+ .set(new MTEHatchCreativeData(DebugDataHatch.ID, "debug.tt.data", "Debug Data Hatch", 14).getStackForm(1));
+ hatch_CreativeMaintenance.set(
+ new MTEHatchCreativeMaintenance(
+ AutoTapingMaintenanceHatch.ID,
+ "debug.tt.maintenance",
+ "Auto-Taping Maintenance Hatch",
+ 14).getStackForm(1L));
+ Machine_DebugGenny.set(
+ new MTEDebugPowerGenerator(DebugPowerGenerator.ID, "debug.tt.genny", "Debug Power Generator", 14)
+ .getStackForm(1L));
+ Machine_DebugWriter.set(
+ new MTEDebugStructureWriter(DebugStructureWriter.ID, "debug.tt.writer", "Debug Structure Writer", 14)
+ .getStackForm(1L));
+ UnusedStuff.set(new ItemStack(Blocks.air));
+ hatch_CreativeUncertainty.set(
+ new MTEHatchCreativeUncertainty(UncertaintyResolution.ID, "debug.tt.certain", "Uncertainty Resolution", 14)
+ .getStackForm(1));
+
+ // ===================================================================================================
+ // MetaTE init
+ // ===================================================================================================
+
+ MTEHatchRack.run();
+
+ MTEHatchCapacitor.run();
+ }
+}
diff --git a/src/main/java/tectech/loader/thing/MuTeLoader.java b/src/main/java/tectech/loader/thing/MuTeLoader.java
new file mode 100644
index 0000000000..74c51f1bf1
--- /dev/null
+++ b/src/main/java/tectech/loader/thing/MuTeLoader.java
@@ -0,0 +1,21 @@
+package tectech.loader.thing;
+
+import tectech.TecTech;
+
+public class MuTeLoader implements Runnable {
+
+ @Override
+ public void run() {
+ TecTech.LOGGER.info("TecTech: Registering MultiTileEntities");
+ registerMachines();
+ registerCasings();
+ }
+
+ private static void registerMachines() {
+
+ }
+
+ private static void registerCasings() {
+
+ }
+}
diff --git a/src/main/java/tectech/loader/thing/ThingsLoader.java b/src/main/java/tectech/loader/thing/ThingsLoader.java
new file mode 100644
index 0000000000..35f3454ce2
--- /dev/null
+++ b/src/main/java/tectech/loader/thing/ThingsLoader.java
@@ -0,0 +1,93 @@
+package tectech.loader.thing;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import tectech.Reference;
+import tectech.TecTech;
+import tectech.thing.block.BlockGodforgeGlass;
+import tectech.thing.block.BlockQuantumGlass;
+import tectech.thing.block.BlockReactorSim;
+import tectech.thing.block.TileEntityEyeOfHarmony;
+import tectech.thing.block.TileEntityForgeOfGods;
+import tectech.thing.casing.BlockGTCasingsBA0;
+import tectech.thing.casing.BlockGTCasingsTT;
+import tectech.thing.casing.BlockGodforgeCasings;
+import tectech.thing.casing.SpacetimeCompressionFieldCasing;
+import tectech.thing.casing.StabilisationFieldCasing;
+import tectech.thing.casing.TTCasingsContainer;
+import tectech.thing.casing.TimeAccelerationFieldCasing;
+import tectech.thing.item.ItemAstralArrayFabricator;
+import tectech.thing.item.ItemEnderFluidLinkCover;
+import tectech.thing.item.ItemEuMeterGT;
+import tectech.thing.item.ItemParametrizerMemoryCard;
+import tectech.thing.item.ItemPowerPassUpgradeCover;
+import tectech.thing.item.ItemTeslaCoilCapacitor;
+import tectech.thing.item.ItemTeslaCoilComponent;
+import tectech.thing.item.ItemTeslaCoilCover;
+import tectech.thing.item.ItemTeslaStaff;
+
+/**
+ * Created by danie_000 on 16.11.2016.
+ */
+public class ThingsLoader implements Runnable {
+
+ @Override
+ public void run() {
+
+ GameRegistry.registerTileEntity(TileEntityEyeOfHarmony.class, Reference.MODID + ":EyeOfHarmonyRenderBlock");
+ GameRegistry.registerTileEntity(TileEntityForgeOfGods.class, Reference.MODID + ":ForgeOfGodsRenderBlock");
+
+ if (Textures.BlockIcons.casingTexturePages[TecTech.tectechTexturePage1] == null) {
+ Textures.BlockIcons.casingTexturePages[TecTech.tectechTexturePage1] = new ITexture[128];
+ }
+
+ if (Textures.BlockIcons.casingTexturePages[7] == null) {
+ Textures.BlockIcons.casingTexturePages[7] = new ITexture[128];
+ }
+
+ TecTech.LOGGER.info("Added texture page if was null");
+
+ TTCasingsContainer.sBlockCasingsTT = new BlockGTCasingsTT();
+ TecTech.LOGGER.info("Elemental Casing registered");
+ TTCasingsContainer.sBlockCasingsBA0 = new BlockGTCasingsBA0();
+ TecTech.LOGGER.info("Nikolai's Casing registered");
+
+ TTCasingsContainer.SpacetimeCompressionFieldGenerators = new SpacetimeCompressionFieldCasing();
+ TecTech.LOGGER.info("Spacetime Compression Field Casings registered.");
+
+ TTCasingsContainer.TimeAccelerationFieldGenerator = new TimeAccelerationFieldCasing();
+ TecTech.LOGGER.info("Time Acceleration Field Casings registered.");
+
+ TTCasingsContainer.StabilisationFieldGenerators = new StabilisationFieldCasing();
+
+ if (tectech.TecTech.configTecTech.ENABLE_GOD_FORGE) {
+ TTCasingsContainer.GodforgeCasings = new BlockGodforgeCasings();
+ TecTech.LOGGER.info("Godforge blocks registered.");
+
+ BlockGodforgeGlass.run();
+ TecTech.LOGGER.info("Godforge Glass registered");
+ }
+
+ BlockQuantumGlass.run();
+ TecTech.LOGGER.info("Quantum Glass registered");
+
+ BlockReactorSim.run();
+ TecTech.LOGGER.info("Reactor Simulator registered");
+
+ ItemParametrizerMemoryCard.run();
+ ItemEuMeterGT.run();
+ ItemTeslaStaff.run();
+ ItemTeslaCoilCover.run();
+ ItemTeslaCoilCapacitor.run();
+ ItemEnderFluidLinkCover.run();
+ ItemPowerPassUpgradeCover.run();
+ TecTech.LOGGER.info("Useful Items registered");
+
+ ItemTeslaCoilComponent.run();
+ ItemAstralArrayFabricator.run();
+ TecTech.LOGGER.info("Crafting Components registered");
+
+ TecTech.LOGGER.info("Debug Items registered");
+ }
+}