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 plasmaGTMaterialList = new ArrayList<>(); public static final ArrayList plasmaGTWeightList = new ArrayList<>(); public static final HashMap exoticModulePlasmaItemMap = new HashMap<>(); public static final HashMap exoticModulePlasmaFluidMap = new HashMap<>(); public static final HashMap exoticModuleMagmatterItemMap = new HashMap<>(); public static final HashMap godforgeUpgradeMats = new HashMap<>(); public static final List quarkGluonFluidItemsForNEI = new ArrayList<>(); public static final List quarkGluonItemsForNEI = new ArrayList<>(); public static final List magmatterTimeFluidItemsForNEI = new ArrayList<>(); public static final List magmatterSpaceFluidItemsForNEI = new ArrayList<>(); public static final List magmatterItemsForNEI = new ArrayList<>(); @Override public void run() { // 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), 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) }; 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), 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; 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), 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]) .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) }); } } }