diff options
| author | GDCloud <93287602+GDCloudstrike@users.noreply.github.com> | 2024-05-22 22:42:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-22 22:42:24 +0200 |
| commit | e32c6e09e9b56827b8f5196f720cbed223d6fad4 (patch) | |
| tree | e143c7540f1362df0945e34ded7756566257e1d2 /src/main/java | |
| parent | 686d95158677dea7caa31856c2d330c410d9ddba (diff) | |
| download | GT5-Unofficial-e32c6e09e9b56827b8f5196f720cbed223d6fad4.tar.gz GT5-Unofficial-e32c6e09e9b56827b8f5196f720cbed223d6fad4.tar.bz2 GT5-Unofficial-e32c6e09e9b56827b8f5196f720cbed223d6fad4.zip | |
Forge of the Gods continued (#282)
* whole lotta plasmas
* adjust plasma recipe times
* fix up plasma nei page
* change module names + very minor cleanup
* refactor a bunch + add OC heat, energy discount, effective fuel factor and misc module functionality
* rework internal battery
* add graviton shard cost to upgrades
* add module count restriction
* display module connection status in gui
* add processing voltage calculations
* add special overclock functionality
* make nbt data sticky
* add exotic module bonuses & fix stacksize issue
* add module refresh and new logo
* add gorge logo and fix processing voltage
* redo recipemap swapping
* redo exotic module nei page
* add required upgrade check for modules
* swap object types
* undo star import
* save milestone relevant stats
* add functionality and basic gui to milestones
* undo star import
* add new magmatter mechanic
* fix exotic module bonuses
* blacklist furnace mode from recipe milestone
* make milestones grant graviton shards
* exotic module nei improvements
* new main and module structure
* slight structure adjustment
* new module screen textures + fix furnace mode toggle sound
* add rings to structure
* small split upgrade check adjustment
* lore dump v1 (thx deleno)
* add tooltip delay
* base upgrade 101 off of new variable
* technical text dump + some upgrade gui adjustments
* minor structure adjustment
* structure adjustment followup + place button higher in upgrade window
* remove unused code
* rework milestone window & add inverted milestone + corresponding math
* minor structure adjustment
* add individual milestone windows + milestone symbol in upgrade BGs
* fix long overflow in power tally
* more milestone ui work
* fix input hatch npe
* more milestone work
* yet another structure adjustment
* add logic for structure milestone
* add logic for structure milestone inversion
* small followup fixes
* upgrade window text changes
* new debug button
* lower max scroll distance to match the star
* add startup cost
* some startup cost fixes
* primitive item insertion window
Diffstat (limited to 'src/main/java')
18 files changed, 12556 insertions, 3432 deletions
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 ca5f719aa8..28d6867696 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 @@ -1,11 +1,13 @@ package com.github.technus.tectech.loader.recipe; +import static com.github.technus.tectech.util.GodforgeMath.getRandomIntInRange; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; 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; @@ -13,7 +15,9 @@ import net.minecraftforge.fluids.FluidStack; import com.github.technus.tectech.recipe.TT_recipeAdder; import gregtech.api.enums.Materials; +import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.TierEU; +import gregtech.api.util.GT_Utility; import gtPlusPlus.core.material.ELEMENT; public class Godforge implements Runnable { @@ -23,7 +27,11 @@ 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<FluidStack, Integer> exoticModuleMagmatterFluidMap = new HashMap<>(); + public static final List<ItemStack> quarkGluonFluidItemsForNEI = new ArrayList<>(); + public static final List<ItemStack> quarkGluonItemsForNEI = new ArrayList<>(); + public static final List<ItemStack> magmatterTimeFluidItemsForNEI = new ArrayList<>(); + public static final List<ItemStack> magmatterSpaceFluidItemsForNEI = new ArrayList<>(); + public static final List<ItemStack> magmatterItemsForNEI = new ArrayList<>(); @Override public void run() { @@ -34,9 +42,75 @@ public class Godforge implements Runnable { // Fusion tier 1-3 { // Single step - ItemStack[] solids_t0_1step = { Materials.Aluminium.getDust(1), Materials.Iron.getDust(1) }; + 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), + ELEMENT.getInstance().ZIRCONIUM.getDust(1), ELEMENT.getInstance().THORIUM232.getDust(1), + ELEMENT.getInstance().GERMANIUM.getDust(1), ELEMENT.getInstance().THALLIUM.getDust(1), + ELEMENT.getInstance().RUTHENIUM.getDust(1), ELEMENT.getInstance().RHENIUM.getDust(1), + ELEMENT.getInstance().RHODIUM.getDust(1), ELEMENT.getInstance().IODINE.getDust(1), + ELEMENT.getInstance().HAFNIUM.getDust(1), ELEMENT.getInstance().CURIUM.getDust(1) }; FluidStack[] solid_plasmas_t0_1step = { Materials.Aluminium.getPlasma(144), - Materials.Iron.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(ELEMENT.getInstance().ZIRCONIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().THORIUM232.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().GERMANIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().THALLIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().RUTHENIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().RHENIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().RHODIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().IODINE.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().HAFNIUM.getPlasma(), 144), + new FluidStack(ELEMENT.getInstance().CURIUM.getPlasma(), 144) }; for (int i = 0; i < solids_t0_1step.length; i++) { TT_recipeAdder.addFOGPlasmaRecipe( @@ -50,16 +124,30 @@ public class Godforge implements Runnable { // Multi-step ItemStack[] solids_t0_xstep = { Materials.Force.getDust(1), Materials.Bismuth.getDust(1), - ELEMENT.STANDALONE.ADVANCED_NITINOL.getDust(1) }; + ELEMENT.STANDALONE.ADVANCED_NITINOL.getDust(1), Materials.Boron.getDust(1), + ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1), ELEMENT.STANDALONE.RUNITE.getDust(1), + ELEMENT.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), ELEMENT.getInstance().CALIFORNIUM.getDust(1), + Materials.Chrome.getDust(1) }; FluidStack[] solid_plasmas_t0_xstep = { new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 144), Materials.Bismuth.getPlasma(144), - new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 144) }; + new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 144), + Materials.Boron.getPlasma(144), + new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 144), + new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 144), + new FluidStack(ELEMENT.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(ELEMENT.getInstance().CALIFORNIUM.getPlasma(), 144), + Materials.Chrome.getPlasma(144), }; for (int i = 0; i < solids_t0_xstep.length; i++) { TT_recipeAdder.addFOGPlasmaRecipe( new ItemStack[] { solids_t0_xstep[i] }, new FluidStack[] { solid_plasmas_t0_xstep[i] }, - 1 * SECONDS, + 3 * SECONDS, (int) TierEU.RECIPE_MAX, true, 0); @@ -68,14 +156,16 @@ public class Godforge implements Runnable { // Fusion tier 4-5 { // Single step - ItemStack[] solids_t1_1step = { Materials.Lead.getDust(1) }; - FluidStack[] solid_plasmas_t1_1step = { Materials.Lead.getPlasma(144) }; + ItemStack[] solids_t1_1step = { Materials.Lead.getDust(1), Materials.Plutonium241.getDust(1), + Materials.Thorium.getDust(1) }; + FluidStack[] solid_plasmas_t1_1step = { Materials.Lead.getPlasma(144), + Materials.Plutonium241.getPlasma(144), Materials.Thorium.getPlasma(144) }; for (int i = 0; i < solids_t1_1step.length; i++) { TT_recipeAdder.addFOGPlasmaRecipe( new ItemStack[] { solids_t1_1step[i] }, new FluidStack[] { solid_plasmas_t1_1step[i] }, - 1 * SECONDS, + 5 * SECONDS, (int) TierEU.RECIPE_MAX, false, 1); @@ -92,7 +182,7 @@ public class Godforge implements Runnable { TT_recipeAdder.addFOGPlasmaRecipe( new ItemStack[] { solids_t1_xstep[i] }, new FluidStack[] { solid_plasmas_t1_xstep[i] }, - 1 * SECONDS, + 7 * SECONDS, (int) TierEU.RECIPE_MAX, true, 1); @@ -101,15 +191,21 @@ public class Godforge implements Runnable { // Exotic Plasmas { // Single step - ItemStack[] solids_t2_1step = { ELEMENT.STANDALONE.RHUGNOR.getDust(1) }; - FluidStack[] solid_plasmas_t2_1step = { - new FluidStack(ELEMENT.STANDALONE.RHUGNOR.getPlasma(), 144) }; + ItemStack[] solids_t2_1step = { ELEMENT.STANDALONE.RHUGNOR.getDust(1), + ELEMENT.STANDALONE.DRAGON_METAL.getDust(1), ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1), + Materials.CosmicNeutronium.getDust(1), Materials.Draconium.getDust(1), + Materials.DraconiumAwakened.getDust(1), Materials.Ichorium.getDust(1) }; + FluidStack[] solid_plasmas_t2_1step = { new FluidStack(ELEMENT.STANDALONE.RHUGNOR.getPlasma(), 144), + new FluidStack(ELEMENT.STANDALONE.DRAGON_METAL.getPlasma(), 144), + new FluidStack(ELEMENT.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++) { TT_recipeAdder.addFOGPlasmaRecipe( new ItemStack[] { solids_t2_1step[i] }, new FluidStack[] { solid_plasmas_t2_1step[i] }, - 1 * SECONDS, + 15 * SECONDS, (int) TierEU.RECIPE_MAX, false, 2); @@ -117,15 +213,17 @@ public class Godforge implements Runnable { // Multi-step ItemStack[] solids_t2_xstep = { ELEMENT.STANDALONE.HYPOGEN.getDust(1), - Materials.Tritanium.getDust(1) }; + Materials.Tritanium.getDust(1), Materials.Flerovium.getDust(1), + Materials.Neutronium.getDust(1), }; FluidStack[] solid_plasmas_t2_xstep = { new FluidStack(ELEMENT.STANDALONE.HYPOGEN.getPlasma(), 144), - Materials.Tritanium.getPlasma(144) }; + Materials.Tritanium.getPlasma(144), Materials.Flerovium.getPlasma(144), + Materials.Neutronium.getPlasma(144), }; for (int i = 0; i < solids_t2_xstep.length; i++) { TT_recipeAdder.addFOGPlasmaRecipe( new ItemStack[] { solids_t2_xstep[i] }, new FluidStack[] { solid_plasmas_t2_xstep[i] }, - 1 * SECONDS, + 25 * SECONDS, (int) TierEU.RECIPE_MAX, true, 2); @@ -140,8 +238,17 @@ public class Godforge implements Runnable { // Fusion tier 1-3 { // Single step - FluidStack[] fluids_t0_1step = { Materials.Helium.getGas(1000) }; - FluidStack[] fluid_plasmas_t0_1step = { Materials.Helium.getPlasma(1000) }; + 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) }; for (int i = 0; i < fluids_t0_1step.length; i++) { TT_recipeAdder.addFOGPlasmaRecipe( @@ -154,15 +261,20 @@ public class Godforge implements Runnable { } // Multi-step - FluidStack[] fluids_t0_xstep = { ELEMENT.getInstance().NEON.getFluidStack(1000) }; + 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) }; + 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) }; for (int i = 0; i < fluids_t0_xstep.length; i++) { TT_recipeAdder.addFOGPlasmaRecipe( new FluidStack[] { fluids_t0_xstep[i] }, new FluidStack[] { fluid_plasmas_t0_xstep[i] }, - 1 * SECONDS, + 3 * SECONDS, (int) TierEU.RECIPE_MAX, true, 0); @@ -185,11 +297,17 @@ public class Godforge implements Runnable { // Exotic module fake recipes { TT_recipeAdder.addFOGExoticFakeRecipe( - new Object[] { Materials.Iron.getDust(1), Materials.Bismuth.getDust(1), - Materials.Tritanium.getDust(1) }, - new Object[] { Materials.Helium.getGas(1000), ELEMENT.getInstance().NEON.getFluidStack(1000), - ELEMENT.getInstance().XENON.getFluidStack(1000) }, - new FluidStack[] { Materials.Titanium.getMolten(1000) }, + new ItemStack[] { Materials.Iron.getDust(1) }, + new FluidStack[] { Materials.Iron.getMolten(1) }, + new FluidStack[] { MaterialsUEVplus.QuarkGluonPlasma.getFluid(1000) }, + 10 * SECONDS, + (int) TierEU.RECIPE_MAX, + 1); + + TT_recipeAdder.addFOGExoticFakeRecipe( + new ItemStack[] { Materials.Iron.getDust(1) }, + new FluidStack[] { Materials.Iron.getMolten(1), Materials.Bismuth.getMolten(1) }, + new FluidStack[] { MaterialsUEVplus.MagMatter.getMolten(144) }, 10 * SECONDS, (int) TierEU.RECIPE_MAX, 1); @@ -280,8 +398,7 @@ public class Godforge implements Runnable { Materials.Vanadium, Materials.Ytterbium, Materials.Yttrium, - Materials.Zinc, - Materials.Flerovium)); + Materials.Zinc)); plasmaGTWeightList.addAll( Arrays.asList( @@ -365,8 +482,7 @@ public class Godforge implements Runnable { 6000 /* Vanadium */, 2000 /* Ytterbium */, 6000 /* Yttrium */, - 6000 /* Zinc */, - 1000 /* Flerovium */ )); + 6000 /* Zinc */)); // GT++ materials if (GTPlusPlus.isModLoaded()) { @@ -405,24 +521,41 @@ public class Godforge implements Runnable { } } - // Magmatter maps - exoticModuleMagmatterItemMap.putAll(exoticModulePlasmaItemMap); - exoticModuleMagmatterFluidMap.putAll(exoticModulePlasmaFluidMap); - + // 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 if (GTPlusPlus.isModLoaded()) { exoticModuleMagmatterItemMap.put(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getTinyDust(1), 100000); - exoticModuleMagmatterFluidMap.put(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(1), 100000); - exoticModuleMagmatterFluidMap.put(ELEMENT.STANDALONE.RHUGNOR.getFluidStack(1), 100000); - exoticModuleMagmatterFluidMap.put(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getFluidStack(1), 100000); - exoticModuleMagmatterFluidMap.put(ELEMENT.STANDALONE.DRAGON_METAL.getFluidStack(1), 100000); + exoticModuleMagmatterItemMap.put(ELEMENT.STANDALONE.HYPOGEN.getTinyDust(1), 100000); + exoticModuleMagmatterItemMap.put(ELEMENT.STANDALONE.RHUGNOR.getTinyDust(1), 100000); + exoticModuleMagmatterItemMap.put(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getTinyDust(1), 100000); + exoticModuleMagmatterItemMap.put(ELEMENT.STANDALONE.DRAGON_METAL.getTinyDust(1), 100000); + } + + // For NEI + for (FluidStack fluid : exoticModulePlasmaFluidMap.keySet()) { + fluid.amount = getRandomIntInRange(1, 64); + quarkGluonFluidItemsForNEI.add(GT_Utility.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( + GT_Utility.getFluidDisplayStack(MaterialsUEVplus.Time.getMolten(getRandomIntInRange(1, 50)), true)); + magmatterSpaceFluidItemsForNEI.add( + GT_Utility.getFluidDisplayStack( + MaterialsUEVplus.Space.getMolten(getRandomIntInRange(51, 100)), + true)); } + magmatterItemsForNEI.addAll(exoticModuleMagmatterItemMap.keySet()); } } diff --git a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java index ee4f8dbfd5..b40de4fe31 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java @@ -2041,19 +2041,25 @@ public class MachineLoader implements Runnable { new GT_MetaTileEntity_EM_ForgeOfGods(15411, "multimachine.em.forge_of_gods", "Forge of the Gods") .getStackForm(1L)); Machine_Multi_SmeltingModule.set( - new GT_MetaTileEntity_EM_SmeltingModule(15412, "multimachine.em.smelting_module", "Smelting Module") - .getStackForm(1L)); + new GT_MetaTileEntity_EM_SmeltingModule( + 15412, + "multimachine.em.smelting_module", + "Helioflare Power Forge").getStackForm(1L)); Machine_Multi_MoltenModule.set( - new GT_MetaTileEntity_EM_MoltenModule(15413, "multimachine.em.molten_module", "Molten Module") - .getStackForm(1L)); + new GT_MetaTileEntity_EM_MoltenModule( + 15413, + "multimachine.em.molten_module", + "Helioflux Melting Core").getStackForm(1L)); Machine_Multi_PlasmaModule.set( - new GT_MetaTileEntity_EM_PlasmaModule(15414, "multimachine.em.plasma_module", "Plasma Module") - .getStackForm(1L)); + new GT_MetaTileEntity_EM_PlasmaModule( + 15414, + "multimachine.em.plasma_module", + "Heliothermal Plasma Fabricator").getStackForm(1L)); Machine_Multi_QuarkGluonPlasmaModule.set( new GT_MetaTileEntity_EM_ExoticModule( 15415, "multimachine.em.exotic_module", - "Exotic Matter Module").getStackForm(1L)); + "Heliofusion Exoticizer").getStackForm(1L)); } // =================================================================================================== diff --git a/src/main/java/com/github/technus/tectech/recipe/GodforgeExoticFrontend.java b/src/main/java/com/github/technus/tectech/recipe/GodforgeExoticFrontend.java index 1f19fc00c4..50f0738fa4 100644 --- a/src/main/java/com/github/technus/tectech/recipe/GodforgeExoticFrontend.java +++ b/src/main/java/com/github/technus/tectech/recipe/GodforgeExoticFrontend.java @@ -1,5 +1,10 @@ package com.github.technus.tectech.recipe; +import static com.github.technus.tectech.loader.recipe.Godforge.magmatterItemsForNEI; +import static com.github.technus.tectech.loader.recipe.Godforge.magmatterSpaceFluidItemsForNEI; +import static com.github.technus.tectech.loader.recipe.Godforge.magmatterTimeFluidItemsForNEI; +import static com.github.technus.tectech.loader.recipe.Godforge.quarkGluonFluidItemsForNEI; +import static com.github.technus.tectech.loader.recipe.Godforge.quarkGluonItemsForNEI; import static gregtech.api.util.GT_Utility.trans; import java.util.Collections; @@ -7,13 +12,19 @@ import java.util.List; import javax.annotation.ParametersAreNonnullByDefault; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; +import codechicken.nei.PositionedStack; +import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.recipe.BasicUIPropertiesBuilder; import gregtech.api.recipe.NEIRecipePropertiesBuilder; import gregtech.api.recipe.RecipeMapFrontend; import gregtech.api.util.GT_Utility; import gregtech.api.util.MethodsReturnNonnullByDefault; +import gregtech.nei.GT_NEI_DefaultHandler; import gregtech.nei.RecipeDisplayInfo; @ParametersAreNonnullByDefault @@ -26,6 +37,25 @@ public class GodforgeExoticFrontend extends RecipeMapFrontend { } @Override + public void addGregTechLogo(ModularWindow.Builder builder, Pos2d windowOffset) { + builder.widget( + new DrawableWidget().setDrawable(TecTechUITextures.PICTURE_GODFORGE_LOGO).setSize(18, 18) + .setPos(new Pos2d(151, 63).add(windowOffset))); + } + + @Override + public void drawNEIOverlays(GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) { + if (neiCachedRecipe.mRecipe.mFluidOutputs[0].equals(MaterialsUEVplus.QuarkGluonPlasma.getFluid(1000))) { + neiCachedRecipe.mInputs.set(0, new PositionedStack(quarkGluonItemsForNEI, 48, 23, true)); + neiCachedRecipe.mInputs.set(1, new PositionedStack(quarkGluonFluidItemsForNEI, 48, 52, true)); + } else { + neiCachedRecipe.mInputs.set(0, new PositionedStack(magmatterItemsForNEI, 48, 23, true)); + neiCachedRecipe.mInputs.set(1, new PositionedStack(magmatterSpaceFluidItemsForNEI, 30, 52, true)); + neiCachedRecipe.mInputs.set(2, new PositionedStack(magmatterTimeFluidItemsForNEI, 48, 52, true)); + } + } + + @Override public List<Pos2d> getItemInputPositions(int itemInputCount) { return Collections.singletonList(new Pos2d(52, 33)); } diff --git a/src/main/java/com/github/technus/tectech/recipe/GodforgePlasmaFrontend.java b/src/main/java/com/github/technus/tectech/recipe/GodforgePlasmaFrontend.java index bf8fcc5e8a..e96bd19bc4 100644 --- a/src/main/java/com/github/technus/tectech/recipe/GodforgePlasmaFrontend.java +++ b/src/main/java/com/github/technus/tectech/recipe/GodforgePlasmaFrontend.java @@ -8,7 +8,10 @@ import java.util.List; import javax.annotation.ParametersAreNonnullByDefault; +import com.github.technus.tectech.thing.gui.TecTechUITextures; import com.gtnewhorizons.modularui.api.math.Pos2d; +import com.gtnewhorizons.modularui.api.screen.ModularWindow; +import com.gtnewhorizons.modularui.common.widget.DrawableWidget; import gregtech.api.recipe.BasicUIPropertiesBuilder; import gregtech.api.recipe.NEIRecipePropertiesBuilder; @@ -27,6 +30,13 @@ public class GodforgePlasmaFrontend extends RecipeMapFrontend { } @Override + public void addGregTechLogo(ModularWindow.Builder builder, Pos2d windowOffset) { + builder.widget( + new DrawableWidget().setDrawable(TecTechUITextures.PICTURE_GODFORGE_LOGO).setSize(18, 18) + .setPos(new Pos2d(151, 63).add(windowOffset))); + } + + @Override public List<Pos2d> getItemInputPositions(int itemInputCount) { return Collections.singletonList(new Pos2d(52, 33)); } diff --git a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java index a12a645799..59881af676 100644 --- a/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java +++ b/src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java @@ -266,51 +266,19 @@ public class TT_recipeAdder extends GT_RecipeAdder { return true; } - public static boolean addFOGExoticFakeRecipe(Object[] itemInputs, Object[] fluidInputs, FluidStack[] fluidOutputs, - int machineDuration, int machineEUt, int recipeTier) { - - if (itemInputs == null) { - itemInputs = nullItem; - } - - if (fluidInputs == null) { - fluidInputs = nullFluid; - } - - ItemStack[] inputItems = new ItemStack[itemInputs.length]; - ItemStack[][] itemAlts = new ItemStack[itemInputs.length][]; - for (int i = 0; i < itemInputs.length; i++) { - Object obj = itemInputs[i]; - if (obj instanceof ItemStack) { - inputItems[i] = (ItemStack) obj; - itemAlts[i] = null; - } else if (obj instanceof ItemStack[]stacks) { - if (stacks.length > 0) { |
