diff options
Diffstat (limited to 'src/main/java')
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) |
