diff options
Diffstat (limited to 'src/main/java/tectech/loader')
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"); + } +} |