aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java45
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java4
-rw-r--r--src/main/java/com/github/technus/tectech/TecTech.java1
-rw-r--r--src/main/java/com/github/technus/tectech/loader/MainLoader.java5
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java117
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java361
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java7
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/GodforgePlasmaFrontend.java5
-rw-r--r--src/main/java/com/github/technus/tectech/rendering/EOH/EOH_RenderingUtils.java16
-rw-r--r--src/main/java/com/github/technus/tectech/rendering/EOH/EOH_TESR.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/CustomItemList.java13
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/RenderForgeOfGods.java119
-rw-r--r--src/main/java/com/github/technus/tectech/thing/block/TileForgeOfGods.java5
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GT_Item_Casings_Godforge.java12
-rw-r--r--src/main/java/com/github/technus/tectech/thing/casing/GodforgeCasings.java19
-rw-r--r--src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/item/RenderForgeOfGodsItem.java70
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/ForgeOfGodsRingsStructureString.java4
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/ForgeOfGodsStructureString.java70
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_ForgeOfGods.java1179
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_BaseModule.java97
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_ExoticModule.java31
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_MoltenModule.java33
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_PlasmaModule.java32
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_SmeltingModule.java30
-rw-r--r--src/main/java/com/github/technus/tectech/util/GodforgeMath.java2
-rw-r--r--src/main/java/com/github/technus/tectech/util/TT_Utility.java20
27 files changed, 1781 insertions, 528 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java
index dfc3ab7e83..d616829fbd 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ElectricImplosionCompressorRecipes.java
@@ -16,6 +16,7 @@ import static gregtech.api.enums.Mods.UniversalSingularities;
import static gregtech.api.util.GT_ModHandler.getModItem;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import net.minecraft.item.ItemStack;
@@ -26,6 +27,7 @@ import gregtech.api.enums.MaterialsUEVplus;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Utility;
public class ElectricImplosionCompressorRecipes implements Runnable {
@@ -43,7 +45,7 @@ public class ElectricImplosionCompressorRecipes implements Runnable {
.noOptimize()
.addTo(electricImplosionCompressorRecipes);
- if (UniversalSingularities.isModLoaded())
+ if (UniversalSingularities.isModLoaded()) {
// Raw Exposed Optical Chip
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -55,6 +57,29 @@ public class ElectricImplosionCompressorRecipes implements Runnable {
.eut(TierEU.RECIPE_UMV)
.noOptimize()
.addTo(electricImplosionCompressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ // fluxed electrum singularity
+ getModItem(UniversalSingularities.ID, "universal.general.singularity", 1L, 20))
+ .fluidInputs(MaterialsUEVplus.Mellion.getMolten(4 * 144L))
+ // spaghettic singularity
+ .itemOutputs(getModItem(EternalSingularity.ID, "combined_singularity", 1L, 2))
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(electricImplosionCompressorRecipes);
+
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ // iron singularity
+ getModItem(Avaritia.ID, "Singularity", 1L, 0))
+ .fluidInputs(MaterialsUEVplus.Creon.getMolten(4 * 144L))
+ // cryptic singularity
+ .itemOutputs(getModItem(EternalSingularity.ID, "combined_singularity", 1L, 4))
+ .duration(1 * SECONDS)
+ .eut(TierEU.RECIPE_UMV)
+ .addTo(electricImplosionCompressorRecipes);
+ }
}
GT_Values.RA.stdBuilder()
@@ -124,6 +149,24 @@ public class ElectricImplosionCompressorRecipes implements Runnable {
.eut(TierEU.RECIPE_UIV)
.noOptimize()
.addTo(electricImplosionCompressorRecipes);
+
+ // Copper Singularity
+ GT_Values.RA.stdBuilder()
+ .fluidInputs(Materials.Copper.getMolten(3648 * 9 * 144L))
+ .itemOutputs(getModItem(Avaritia.ID, "Singularity", 1L, 5))
+ .duration(1 * TICKS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(electricImplosionCompressorRecipes);
+
+ ItemStack diamondBlocks = GT_Utility
+ .copyAmountUnsafe(729, GT_OreDictUnificator.get(OrePrefixes.block, Materials.Diamond, 1L));
+ // Diamond Singularity
+ GT_Values.RA.stdBuilder()
+ .itemInputs(diamondBlocks)
+ .itemOutputs(getModItem(UniversalSingularities.ID, "universal.vanilla.singularity", 1L, 2))
+ .duration(1 * TICKS)
+ .eut(TierEU.RECIPE_UIV)
+ .addTo(electricImplosionCompressorRecipes);
}
// MHDCSM V2
GT_Values.RA.stdBuilder()
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
index a1398f57e3..51398d2914 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/processingLoaders/AdditionalRecipes.java
@@ -422,7 +422,7 @@ public class AdditionalRecipes {
.itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(gemChipped, 9))
.outputChances(90_00)
.fluidInputs(WerkstoffLoader.Neon.getFluidOrGas(1000))
- .duration(3 * MINUTES + 45 * SECONDS)
+ .duration(25 * SECONDS)
.eut(TierEU.RECIPE_IV)
.addTo(autoclaveRecipes);
@@ -430,7 +430,7 @@ public class AdditionalRecipes {
.itemInputs(WerkstoffLoader.MagnetoResonaticDust.get(dust))
.itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(gem))
.fluidInputs(WerkstoffLoader.Krypton.getFluidOrGas(1000))
- .duration(3 * MINUTES + 45 * SECONDS)
+ .duration(25 * SECONDS)
.eut(TierEU.RECIPE_IV)
.addTo(autoclaveRecipes);
diff --git a/src/main/java/com/github/technus/tectech/TecTech.java b/src/main/java/com/github/technus/tectech/TecTech.java
index c8946ec80d..c31f9a878d 100644
--- a/src/main/java/com/github/technus/tectech/TecTech.java
+++ b/src/main/java/com/github/technus/tectech/TecTech.java
@@ -113,6 +113,7 @@ public class TecTech {
@SuppressWarnings("unused")
public void onLoadCompleted(FMLLoadCompleteEvent event) {
eyeOfHarmonyRecipeStorage = new EyeOfHarmonyRecipeStorage();
+ MainLoader.onLoadCompleted();
}
public static EyeOfHarmonyRecipeStorage eyeOfHarmonyRecipeStorage = null;
diff --git a/src/main/java/com/github/technus/tectech/loader/MainLoader.java b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
index 01d63392e5..915b113fe9 100644
--- a/src/main/java/com/github/technus/tectech/loader/MainLoader.java
+++ b/src/main/java/com/github/technus/tectech/loader/MainLoader.java
@@ -18,6 +18,7 @@ import net.minecraftforge.fluids.FluidStack;
import com.github.technus.tectech.TecTech;
import com.github.technus.tectech.loader.gui.CreativeTabTecTech;
import com.github.technus.tectech.loader.recipe.BaseRecipeLoader;
+import com.github.technus.tectech.loader.recipe.ResearchStationAssemblyLine;
import com.github.technus.tectech.loader.thing.CoverLoader;
import com.github.technus.tectech.loader.thing.MachineLoader;
import com.github.technus.tectech.loader.thing.ThingsLoader;
@@ -199,4 +200,8 @@ public final class MainLoader {
safeSetResistance(GameRegistry.findBlock("TwilightForest", "tile.TFDeadrock"), 5);
}
}
+
+ public static void onLoadCompleted() {
+ new ResearchStationAssemblyLine().runLateRecipes();
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java b/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java
index a2dc61132d..80f10fc44f 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java
@@ -3,7 +3,11 @@ package com.github.technus.tectech.loader.recipe;
import static com.github.technus.tectech.recipe.TecTechRecipeMaps.godforgeExoticMatterRecipes;
import static com.github.technus.tectech.recipe.TecTechRecipeMaps.godforgePlasmaRecipes;
import static com.github.technus.tectech.util.GodforgeMath.getRandomIntInRange;
+import static gregtech.api.enums.Mods.EternalSingularity;
+import static gregtech.api.enums.Mods.GalaxySpace;
+import static gregtech.api.util.GT_ModHandler.getModItem;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
+import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.FOG_EXOTIC_TIER;
import static gregtech.api.util.GT_RecipeConstants.FOG_PLASMA_TIER;
@@ -15,12 +19,21 @@ import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
+import com.github.technus.tectech.thing.CustomItemList;
+
+import goodgenerator.items.MyMaterial;
+import goodgenerator.util.ItemRefer;
import gregtech.api.enums.GT_Values;
+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.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
public class Godforge implements Runnable {
@@ -29,6 +42,7 @@ public class Godforge implements Runnable {
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<>();
@@ -112,7 +126,7 @@ public class Godforge implements Runnable {
GT_Values.RA.stdBuilder()
.itemInputs(solids_t0_1step[i])
.fluidOutputs(solid_plasmas_t0_1step[i])
- .duration(1 * SECONDS)
+ .duration(10 * TICKS)
.eut(TierEU.RECIPE_MAX)
.special(multistep)
.metadata(FOG_PLASMA_TIER, 0)
@@ -145,7 +159,7 @@ public class Godforge implements Runnable {
GT_Values.RA.stdBuilder()
.itemInputs(solids_t0_xstep[i])
.fluidOutputs(solid_plasmas_t0_xstep[i])
- .duration(3 * SECONDS)
+ .duration(2 * SECONDS)
.eut(TierEU.RECIPE_MAX)
.special(multistep)
.metadata(FOG_PLASMA_TIER, 0)
@@ -249,16 +263,16 @@ public class Godforge implements Runnable {
// Fusion tier 1-3
{
// Single step
- FluidStack[] fluids_t0_1step = { Materials.Helium.getGas(1000), Materials.Nitrogen.getGas(1000),
- Materials.Argon.getGas(1000), Materials.Chlorine.getGas(1000), Materials.Deuterium.getGas(1000),
- Materials.Fluorine.getGas(1000), Materials.Hydrogen.getGas(1000), Materials.Radon.getGas(1000),
- Materials.Tritium.getGas(1000), Materials.Mercury.getFluid(1000) };
- FluidStack[] fluid_plasmas_t0_1step = { Materials.Helium.getPlasma(1000),
- Materials.Nitrogen.getPlasma(1000), Materials.Argon.getPlasma(1000),
- Materials.Chlorine.getPlasma(1000), Materials.Deuterium.getPlasma(1000),
- Materials.Fluorine.getPlasma(1000), Materials.Hydrogen.getPlasma(1000),
- Materials.Radon.getPlasma(1000), Materials.Tritium.getPlasma(1000),
- Materials.Mercury.getPlasma(1000) };
+ 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;
@@ -274,12 +288,12 @@ public class Godforge implements Runnable {
}
// Multi-step
- FluidStack[] fluids_t0_xstep = { ELEMENT.getInstance().NEON.getFluidStack(1000),
- Materials.Oxygen.getGas(1000), ELEMENT.getInstance().KRYPTON.getFluidStack(1000),
- ELEMENT.getInstance().XENON.getFluidStack(1000) };
- FluidStack[] fluid_plasmas_t0_xstep = { new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 1000),
- Materials.Oxygen.getPlasma(1000), new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 1000),
- new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 1000) };
+ FluidStack[] fluids_t0_xstep = { ELEMENT.getInstance().NEON.getFluidStack(500),
+ Materials.Oxygen.getGas(500), ELEMENT.getInstance().KRYPTON.getFluidStack(500),
+ ELEMENT.getInstance().XENON.getFluidStack(500) };
+ FluidStack[] fluid_plasmas_t0_xstep = { new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 500),
+ Materials.Oxygen.getPlasma(500), new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 500),
+ new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 500) };
for (int i = 0; i < fluids_t0_xstep.length; i++) {
boolean multistep = true;
@@ -577,5 +591,72 @@ public class Godforge implements Runnable {
GT_Utility.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[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUIVBase, 64),
+ ItemList.SuperconductorComposite.get(32),
+ MyMaterial.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), ALLOY.QUANTUM.getPlateDense(48),
+ ELEMENT.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), ELEMENT.STANDALONE.RHUGNOR.getGear(64),
+ GT_OreDictUnificator.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[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SpaceTime, 64),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.SuperconductorUMVBase, 64),
+ ELEMENT.STANDALONE.HYPOGEN.getFrameBox(64), ELEMENT.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[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.WhiteDwarfMatter, 64),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.BlackDwarfMatter, 64),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Eternity, 16),
+ GT_OreDictUnificator.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/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java
index dc5cf1c5ed..f9377143c4 100644
--- a/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java
+++ b/src/main/java/com/github/technus/tectech/loader/recipe/ResearchStationAssemblyLine.java
@@ -13,6 +13,7 @@ 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;
@@ -53,11 +54,15 @@ import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
import com.github.technus.tectech.recipe.TT_recipeAdder;
import com.github.technus.tectech.thing.CustomItemList;
+import com.github.technus.tectech.thing.block.GodforgeGlassBlock;
+import com.github.technus.tectech.thing.block.QuantumGlassBlock;
import com.rwtema.extrautils.ExtraUtils;
+import common.Blocks;
import common.TileEntities;
import fox.spiteful.avaritia.compat.ticon.Tonkers;
import goodgenerator.items.MyMaterial;
+import goodgenerator.util.ItemRefer;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.MaterialsBotania;
@@ -70,6 +75,8 @@ import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.core.material.ALLOY;
import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MISC_MATERIALS;
+import gtPlusPlus.core.material.Particle;
import gtPlusPlus.core.util.minecraft.FluidUtils;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
import tconstruct.tools.TinkerTools;
@@ -86,6 +93,7 @@ public class ResearchStationAssemblyLine implements Runnable {
itemPartsUMVAsslineRecipes();
itemPartsUXVAsslineRecipes();
addWirelessEnergyRecipes();
+ addGodforgeRecipes();
if (TinkersGregworks.isModLoaded() && Avaritia.isModLoaded() // Infinity, Cosmic Neutronium
&& ExtraUtilities.isModLoaded() // Bedrockium
@@ -2970,7 +2978,332 @@ public class ResearchStationAssemblyLine implements Runnable {
CustomItemList.astralArrayFabricator.get(1),
300 * SECONDS,
(int) TierEU.RECIPE_UXV);
+ }
+
+ private void addGodforgeRecipes() {
+ if (EternalSingularity.isModLoaded()) {
+ // Controller
+ TT_recipeAdder.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),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Mellion, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.SixPhasedCopper, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 16),
+ MyMaterial.metastableOganesson.get(OrePrefixes.plateDense, 16),
+ new ItemStack(
+ Particle.getBaseParticle(Particle.GRAVITON)
+ .getItem(),
+ 64),
+ GT_OreDictUnificator.get(OrePrefixes.wireGt16, Materials.SuperconductorUIV, 16),
+ ItemList.Sensor_UIV.get(32), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.UIV, 64),
+ CustomItemList.eM_energyTunnel7_UIV.get(1), ItemRegistry.energyDistributor[11] },
+ new FluidStack[] { MISC_MATERIALS.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
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 8),
+ WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.block, 16),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, Materials.TengamAttuned, 32),
+ GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 16),
+ ELEMENT.STANDALONE.HYPOGEN.getScrew(8),
+ GT_OreDictUnificator.get(OrePrefixes.screw, MaterialsUEVplus.SixPhasedCopper, 8),
+ ItemList.SuperconductorComposite.get(1), ItemList.Emitter_UIV.get(2),
+ ItemList.Electromagnet_Tengam.get(1) },
+ new FluidStack[] { MISC_MATERIALS.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
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_MagneticConfinementCasing.get(1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Mellion, 16),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.SixPhasedCopper, 16),
+ GT_OreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 8),
+ ELEMENT.STANDALONE.ASTRAL_TITANIUM.getFrameBox(8),
+ GT_OreDictUnificator.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[] { MISC_MATERIALS.MUTATED_LIVING_SOLDER.getFluidStack(16 * 144),
+ Materials.Lead.getPlasma(2 * 144) },
+ CustomItemList.Godforge_BoundlessStructureCasing.get(1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+ }
+
+ // Guidance Casing
+ TT_recipeAdder.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), GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 6),
+ GT_OreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.Creon, 8),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.Mellion, 8) },
+ new FluidStack[] { MISC_MATERIALS.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
+ TT_recipeAdder.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),
+ GT_OreDictUnificator.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),
+ GT_OreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.Creon, 6),
+ ELEMENT.STANDALONE.HYPOGEN.getPlate(6) },
+ new FluidStack[] { MISC_MATERIALS.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
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ new ItemStack(QuantumGlassBlock.INSTANCE, 1),
+ 48_000_000,
+ 8_192,
+ (int) TierEU.RECIPE_UMV,
+ 64,
+ new Object[] { new ItemStack(QuantumGlassBlock.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),
+ ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getPlateDense(36),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.Creon, 6),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.Mellion, 6),
+ GT_OreDictUnificator.get(OrePrefixes.stickLong, MaterialsUEVplus.SixPhasedCopper, 6) },
+ new FluidStack[] { ELEMENT.STANDALONE.RHUGNOR.getFluidStack(16 * 144),
+ MaterialsUEVplus.Creon.getMolten(16 * 144),
+ ELEMENT.STANDALONE.ADVANCED_NITINOL.getFluidStack(1024 * 144) },
+ new ItemStack(GodforgeGlassBlock.INSTANCE, 1),
+ 10 * SECONDS,
+ (int) TierEU.RECIPE_UIV);
+
+ // Graviton Modulator 1
+ TT_recipeAdder.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),
+ GT_OreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.Creon, 16),
+ GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.Mellion, 8),
+ GregtechItemList.Battery_Gem_4.get(2), GregtechItemList.Laser_Lens_Special.get(4),
+ ItemList.Emitter_UIV.get(4), GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 16),
+ GT_OreDictUnificator.get(OrePrefixes.nanite, Materials.Silver, 2) },
+ new FluidStack[] { MISC_MATERIALS.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
+ TT_recipeAdder.addResearchableAssemblylineRecipe(
+ CustomItemList.Godforge_GravitonFlowModulatorTier1.get(1),
+ 96_000_000,
+ 16_384,
+ (int) TierEU.RECIPE_UXV,