aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/bartworks/MainMod.java7
-rw-r--r--src/main/java/gregtech/api/util/GTRecipeConstants.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java15
-rw-r--r--src/main/java/tectech/loader/TecTechConfig.java5
-rw-r--r--src/main/java/tectech/loader/recipe/BaseRecipeLoader.java1
-rw-r--r--src/main/java/tectech/loader/recipe/Godforge.java398
-rw-r--r--src/main/java/tectech/recipe/GodforgePlasmaFrontend.java7
-rw-r--r--src/main/java/tectech/recipe/TecTechRecipeMaps.java10
-rw-r--r--src/main/java/tectech/thing/block/RenderForgeOfGods.java421
-rw-r--r--src/main/java/tectech/thing/block/TileEntityForgeOfGods.java176
-rw-r--r--src/main/java/tectech/thing/gui/TecTechUITextures.java28
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/MTEForgeOfGods.java464
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/godforge_modules/MTEBaseModule.java16
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/godforge_modules/MTEExoticModule.java332
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/godforge_modules/MTEMoltenModule.java101
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/godforge_modules/MTEPlasmaModule.java21
-rw-r--r--src/main/java/tectech/thing/metaTileEntity/multi/godforge_modules/MTESmeltingModule.java16
-rw-r--r--src/main/java/tectech/util/FaceCulledRenderBlocks.java62
-rw-r--r--src/main/java/tectech/util/FaceVisibility.java12
-rw-r--r--src/main/java/tectech/util/GodforgeMath.java13
-rw-r--r--src/main/java/tectech/util/StructureVBO.java114
-rw-r--r--src/main/java/tectech/util/TextureUpdateRequester.java38
22 files changed, 1839 insertions, 424 deletions
diff --git a/src/main/java/bartworks/MainMod.java b/src/main/java/bartworks/MainMod.java
index acf652c352..66eec8469b 100644
--- a/src/main/java/bartworks/MainMod.java
+++ b/src/main/java/bartworks/MainMod.java
@@ -72,6 +72,7 @@ import gregtech.api.GregTechAPI;
import gregtech.api.enums.Mods;
import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
+import tectech.loader.recipe.Godforge;
@Mod(
modid = MainMod.MOD_ID,
@@ -202,7 +203,6 @@ public final class MainMod {
BioVatLogicAdder.RadioHatch.runBasicItemIntegration();
if (!recipesAdded) {
StaticRecipeChangeLoaders.addEBFGasRecipes();
- recipesAdded = true;
}
// Accept recipe map changes into Buffers
@@ -210,5 +210,10 @@ public final class MainMod {
.forEach(
map -> map.getBackend()
.reInit());
+
+ // because the above code runs so late that I couldn't find anywhere else to call this
+ if (!recipesAdded) Godforge.initMoltenModuleRecipes();
+
+ recipesAdded = true;
}
}
diff --git a/src/main/java/gregtech/api/util/GTRecipeConstants.java b/src/main/java/gregtech/api/util/GTRecipeConstants.java
index 98be4718a0..dfaaff8713 100644
--- a/src/main/java/gregtech/api/util/GTRecipeConstants.java
+++ b/src/main/java/gregtech/api/util/GTRecipeConstants.java
@@ -125,6 +125,12 @@ public class GTRecipeConstants {
.create(Integer.class, "fog_plasma_tier");
/**
+ * FOG Plasma multistep requirement.
+ */
+ public static final RecipeMetadataKey<Boolean> FOG_PLASMA_MULTISTEP = SimpleRecipeMetadataKey
+ .create(Boolean.class, "fog_plasma_multistep");
+
+ /**
* DEFC Casing tier.
*/
public static final RecipeMetadataKey<Integer> DEFC_CASING_TIER = SimpleRecipeMetadataKey
diff --git a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
index 478b6f1514..7be5ca5940 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
@@ -13,6 +13,7 @@ import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
import bartworks.system.material.WerkstoffLoader;
+import goodgenerator.items.GGMaterial;
import gregtech.GTMod;
import gregtech.api.enums.GTValues;
import gregtech.api.enums.ItemList;
@@ -665,6 +666,20 @@ public class BlastFurnaceRecipes implements Runnable {
.addTo(blastFurnaceRecipes);
GTValues.RA.stdBuilder()
+ .itemInputs(
+ ItemList.Phononic_Seed_Crystal.get(2),
+ MaterialsUEVplus.Eternity.getDust(8),
+ GGMaterial.shirabon.get(OrePrefixes.dust, 8),
+ GTUtility.getIntegratedCircuit(2))
+ .fluidInputs(MaterialsUEVplus.Mellion.getMolten(512 * 144L))
+ .fluidOutputs(MaterialsUEVplus.PhononCrystalSolution.getFluid(3000))
+ .duration(200 * SECONDS)
+ .eut((int) TierEU.RECIPE_UXV)
+ .metadata(COIL_HEAT, 50000)
+ .noOptimize()
+ .addTo(blastFurnaceRecipes);
+
+ GTValues.RA.stdBuilder()
.itemInputs(MaterialsUEVplus.Mellion.getDust(1), GTUtility.getIntegratedCircuit(11))
.itemOutputs(GTOreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.Mellion, 1))
.fluidInputs(Materials.Radon.getGas(1000))
diff --git a/src/main/java/tectech/loader/TecTechConfig.java b/src/main/java/tectech/loader/TecTechConfig.java
index 7bf7eef72b..9c9425a9c9 100644
--- a/src/main/java/tectech/loader/TecTechConfig.java
+++ b/src/main/java/tectech/loader/TecTechConfig.java
@@ -13,11 +13,6 @@ public class TecTechConfig extends ConfigManager {
// 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;
diff --git a/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java b/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java
index 8b6c40c6f8..9e08460fb6 100644
--- a/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java
+++ b/src/main/java/tectech/loader/recipe/BaseRecipeLoader.java
@@ -42,7 +42,6 @@ public class BaseRecipeLoader {
new Crafting().run();
new Extractor().run();
new ResearchStationAssemblyLine().run();
- } else {
new Godforge().run();
}
}
diff --git a/src/main/java/tectech/loader/recipe/Godforge.java b/src/main/java/tectech/loader/recipe/Godforge.java
index 7bd94d2c77..414756a036 100644
--- a/src/main/java/tectech/loader/recipe/Godforge.java
+++ b/src/main/java/tectech/loader/recipe/Godforge.java
@@ -3,9 +3,13 @@ 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.BUCKETS;
+import static gregtech.api.util.GTRecipeBuilder.INGOTS;
import static gregtech.api.util.GTRecipeBuilder.SECONDS;
import static gregtech.api.util.GTRecipeBuilder.TICKS;
+import static gregtech.api.util.GTRecipeConstants.COIL_HEAT;
import static gregtech.api.util.GTRecipeConstants.FOG_EXOTIC_TIER;
+import static gregtech.api.util.GTRecipeConstants.FOG_PLASMA_MULTISTEP;
import static gregtech.api.util.GTRecipeConstants.FOG_PLASMA_TIER;
import static tectech.recipe.TecTechRecipeMaps.godforgeExoticMatterRecipes;
import static tectech.recipe.TecTechRecipeMaps.godforgePlasmaRecipes;
@@ -17,7 +21,9 @@ import java.util.HashMap;
import java.util.List;
import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
import goodgenerator.items.GGMaterial;
import goodgenerator.util.ItemRefer;
@@ -27,11 +33,18 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.MaterialsUEVplus;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
+import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GTOreDictUnificator;
+import gregtech.api.util.GTRecipe;
+import gregtech.api.util.GTRecipeBuilder;
import gregtech.api.util.GTUtility;
import gtPlusPlus.core.material.MaterialsAlloy;
import gtPlusPlus.core.material.MaterialsElements;
import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList;
+import it.unimi.dsi.fastutil.ints.IntArrayList;
+import it.unimi.dsi.fastutil.ints.IntList;
+import tectech.recipe.TecTechRecipeMaps;
import tectech.thing.CustomItemList;
public class Godforge implements Runnable {
@@ -48,6 +61,20 @@ public class Godforge implements Runnable {
public static final List<ItemStack> magmatterSpaceFluidItemsForNEI = new ArrayList<>();
public static final List<ItemStack> magmatterItemsForNEI = new ArrayList<>();
+ private FluidStack[] convertToFluid(ItemStack[] items) {
+ List<FluidStack> molten = new ArrayList<>();
+
+ for (ItemStack itemStack : items) {
+ String dict = OreDictionary.getOreName(OreDictionary.getOreIDs(itemStack)[0]);
+ // substring 4 because dust is 4 characters long and there is no other possible oreDict
+ String strippedOreDict = dict.substring(4);
+ molten.add(FluidRegistry.getFluidStack("molten." + strippedOreDict.toLowerCase(), 144));
+
+ }
+
+ return molten.toArray(new FluidStack[0]);
+ }
+
@Override
public void run() {
// Solid to plasma recipes
@@ -85,6 +112,9 @@ public class Godforge implements Runnable {
MaterialsElements.getInstance().IODINE.getDust(1),
MaterialsElements.getInstance().HAFNIUM.getDust(1),
MaterialsElements.getInstance().CURIUM.getDust(1) };
+
+ FluidStack[] molten_t0_1step = convertToFluid(solids_t0_1step);
+
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),
@@ -124,143 +154,220 @@ public class Godforge implements Runnable {
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_MULTISTEP, false)
.metadata(FOG_PLASMA_TIER, 0)
.noOptimize()
.addTo(godforgePlasmaRecipes);
+
+ if (molten_t0_1step[i] != null) {
+ GTValues.RA.stdBuilder()
+ .fluidInputs(molten_t0_1step[i])
+ .fluidOutputs(solid_plasmas_t0_1step[i])
+ .duration(10 * TICKS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_PLASMA_MULTISTEP, false)
+ .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;
+ // 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[] molten_t0_xstep = convertToFluid(solids_t0_xstep);
+
+ 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++) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t0_xstep[i])
+ .fluidOutputs(solid_plasmas_t0_xstep[i])
+ .duration(2 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_PLASMA_MULTISTEP, true)
+ .metadata(FOG_PLASMA_TIER, 0)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+
+ if (molten_t0_xstep[i] != null) {
GTValues.RA.stdBuilder()
- .itemInputs(solids_t0_xstep[i])
+ .fluidInputs(molten_t0_xstep[i])
.fluidOutputs(solid_plasmas_t0_xstep[i])
.duration(2 * SECONDS)
.eut(TierEU.RECIPE_MAX)
- .special(multistep)
+ .metadata(FOG_PLASMA_MULTISTEP, true)
.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), Materials.Naquadria.getDust(1) };
- FluidStack[] solid_plasmas_t1_1step = { Materials.Lead.getPlasma(144),
- Materials.Plutonium241.getPlasma(144), Materials.Thorium.getPlasma(144),
- Materials.Naquadria.getPlasma(144) };
+ }
+ // Fusion tier 4-5
+ {
+ // Single step
+ ItemStack[] solids_t1_1step = { Materials.Lead.getDust(1), Materials.Plutonium241.getDust(1),
+ Materials.Thorium.getDust(1), Materials.Naquadria.getDust(1) };
+
+ FluidStack[] molten_t1_1step = convertToFluid(solids_t1_1step);
+
+ FluidStack[] solid_plasmas_t1_1step = { Materials.Lead.getPlasma(144),
+ Materials.Plutonium241.getPlasma(144), Materials.Thorium.getPlasma(144),
+ Materials.Naquadria.getPlasma(144) };
+
+ for (int i = 0; i < solids_t1_1step.length; i++) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t1_1step[i])
+ .fluidOutputs(solid_plasmas_t1_1step[i])
+ .duration(5 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_PLASMA_MULTISTEP, false)
+ .metadata(FOG_PLASMA_TIER, 1)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+
+ if (molten_t1_1step[i] != null) {
- for (int i = 0; i < solids_t1_1step.length; i++) {
- boolean multistep = false;
GTValues.RA.stdBuilder()
- .itemInputs(solids_t1_1step[i])
+ .fluidInputs(molten_t1_1step[i])
.fluidOutputs(solid_plasmas_t1_1step[i])
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MAX)
- .special(multistep)
+ .metadata(FOG_PLASMA_MULTISTEP, false)
.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) };
+ // Multi-step
+ ItemStack[] solids_t1_xstep = { MaterialsElements.getInstance().NEPTUNIUM.getDust(1),
+ MaterialsElements.getInstance().FERMIUM.getDust(1) };
- for (int i = 0; i < solids_t1_xstep.length; i++) {
- boolean multistep = true;
+ FluidStack[] molten_t1_xstep = convertToFluid(solids_t1_xstep);
+
+ 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++) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t1_xstep[i])
+ .fluidOutputs(solid_plasmas_t1_xstep[i])
+ .duration(7 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_PLASMA_MULTISTEP, true)
+ .metadata(FOG_PLASMA_TIER, 1)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+
+ if (molten_t1_xstep[i] != null) {
GTValues.RA.stdBuilder()
- .itemInputs(solids_t1_xstep[i])
+ .fluidInputs(molten_t1_xstep[i])
.fluidOutputs(solid_plasmas_t1_xstep[i])
.duration(7 * SECONDS)
.eut(TierEU.RECIPE_MAX)
- .special(multistep)
+ .metadata(FOG_PLASMA_MULTISTEP, true)
.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), Materials.Bedrockium.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),
- Materials.Bedrockium.getPlasma(144), };
-
- for (int i = 0; i < solids_t2_1step.length; i++) {
- boolean multistep = false;
+ }
+ // 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[] molten_t2_1step = convertToFluid(solids_t2_1step);
+
+ 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++) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t2_1step[i])
+ .fluidOutputs(solid_plasmas_t2_1step[i])
+ .duration(15 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_PLASMA_MULTISTEP, false)
+ .metadata(FOG_PLASMA_TIER, 2)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+
+ if (molten_t2_1step[i] != null) {
+
GTValues.RA.stdBuilder()
- .itemInputs(solids_t2_1step[i])
+ .fluidInputs(molten_t2_1step[i])
.fluidOutputs(solid_plasmas_t2_1step[i])
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MAX)
- .special(multistep)
+ .metadata(FOG_PLASMA_MULTISTEP, false)
.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[] molten_t2_xstep = convertToFluid(solids_t2_xstep);
+
+ 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++) {
+ GTValues.RA.stdBuilder()
+ .itemInputs(solids_t2_xstep[i])
+ .fluidOutputs(solid_plasmas_t2_xstep[i])
+ .duration(25 * SECONDS)
+ .eut(TierEU.RECIPE_MAX)
+ .metadata(FOG_PLASMA_MULTISTEP, true)
+ .metadata(FOG_PLASMA_TIER, 2)
+ .noOptimize()
+ .addTo(godforgePlasmaRecipes);
+
+ if (molten_t2_xstep[i] != null) {
- // Multi-step
- ItemStack[] solids_t2_xstep = { MaterialsElements.STANDALONE.HYPOGEN.getDust(1),
- Materials.Tritanium.getDust(1), Materials.Flerovium.getDust(1), Materials.Neutronium.getDust(1),
- Materials.Infinity.getDust(1), MaterialsUEVplus.SixPhasedCopper.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), Materials.Infinity.getPlasma(144),
- MaterialsUEVplus.SixPhasedCopper.getPlasma(144) };
-
- for (int i = 0; i < solids_t2_xstep.length; i++) {
- boolean multistep = true;
GTValues.RA.stdBuilder()
- .itemInputs(solids_t2_xstep[i])
+ .fluidInputs(molten_t2_xstep[i])
.fluidOutputs(solid_plasmas_t2_xstep[i])
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_MAX)
- .special(multistep)
+ .metadata(FOG_PLASMA_MULTISTEP, true)
.metadata(FOG_PLASMA_TIER, 2)
.noOptimize()
.addTo(godforgePlasmaRecipes);
@@ -373,15 +480,12 @@ public class Godforge implements Runnable {
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,
@@ -397,29 +501,21 @@ public class Godforge implements Runnable {
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,
@@ -434,7 +530,6 @@ public class Godforge implements Runnable {
Materials.Tantalum,
Materials.Tellurium,
Materials.Terbium,
- Materials.Thorium,
Materials.Thulium,
Materials.Tin,
Materials.Titanium,
@@ -457,15 +552,12 @@ public class Godforge implements Runnable {
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 */,
@@ -481,29 +573,21 @@ public class Godforge implements Runnable {
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 */,
@@ -518,7 +602,6 @@ public class Godforge implements Runnable {
6000 /* Tantalum */,
2000 /* Tellurium */,
1000 /* Terbium */,
- 500 /* Thorium */,
6000 /* Thulium */,
10000 /* Tin */,
10000 /* Titanium */,
@@ -540,20 +623,9 @@ public class Godforge implements Runnable {
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);
+ exoticModulePlasmaItemMap.put(MaterialsElements.getInstance().CURIUM.getTinyDust(1), 10000);
+
// Mercury is weird, it has neither dust nor gas, so it needs to be added separately
exoticModulePlasmaFluidMap.put(Materials.Mercury.getFluid(1), 6000);
@@ -652,7 +724,7 @@ public class Godforge implements Runnable {
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),
+ CustomItemList.EOH_Infinite_Energy_Casing.get(8), ItemList.ZPM6.get(2),
ItemList.Field_Generator_UMV.get(32) });
godforgeUpgradeMats.put(
@@ -660,9 +732,9 @@ public class Godforge implements Runnable {
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),
+ GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.Universium, 2),
CustomItemList.EOH_Infinite_Energy_Casing.get(64),
- CustomItemList.StabilisationFieldGeneratorTier5.get(16), ItemList.ZPM6.get(16),
+ CustomItemList.StabilisationFieldGeneratorTier5.get(16), ItemList.ZPM6.get(6),
ItemList.Field_Generator_UMV.get(64) });
godforgeUpgradeMats.put(
@@ -675,4 +747,80 @@ public class Godforge implements Runnable {
}
}
+
+ public static void initMoltenModuleRecipes() {
+ for (GTRecipe recipe : RecipeMaps.blastFurnaceRecipes.getAllRecipes()) {
+ List<ItemStack> itemOutputs = new ArrayList<>(1)