aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGDCloud <93287602+GDCloudstrike@users.noreply.github.com>2024-05-22 22:42:24 +0200
committerGitHub <noreply@github.com>2024-05-22 22:42:24 +0200
commite32c6e09e9b56827b8f5196f720cbed223d6fad4 (patch)
treee143c7540f1362df0945e34ded7756566257e1d2 /src/main/java
parent686d95158677dea7caa31856c2d330c410d9ddba (diff)
downloadGT5-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')
-rw-r--r--src/main/java/com/github/technus/tectech/loader/recipe/Godforge.java211
-rw-r--r--src/main/java/com/github/technus/tectech/loader/thing/MachineLoader.java20
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/GodforgeExoticFrontend.java30
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/GodforgePlasmaFrontend.java10
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TT_recipeAdder.java40
-rw-r--r--src/main/java/com/github/technus/tectech/recipe/TecTechRecipeMaps.java10
-rw-r--r--src/main/java/com/github/technus/tectech/thing/gui/TecTechUITextures.java50
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/ForgeOfGodsRingsStructureString.java5101
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/ForgeOfGodsStructureString.java5429
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/ForgeofGodsStructureString.java2933
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_ForgeOfGods.java1362
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_BaseModule.java274
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_ExoticModule.java149
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_MoltenModule.java41
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_PlasmaModule.java49
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/godforge_modules/GT_MetaTileEntity_EM_SmeltingModule.java62
-rw-r--r--src/main/java/com/github/technus/tectech/util/GodforgeMath.java209
-rw-r--r--src/main/java/com/github/technus/tectech/util/TT_Utility.java8
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) {</