From 544a7b3aa81a0478faa9de670d12af60ed830d89 Mon Sep 17 00:00:00 2001 From: Maya <10861407+serenibyss@users.noreply.github.com> Date: Thu, 12 Sep 2024 13:01:25 -0500 Subject: 2.7 Stargate (#3105) Co-authored-by: Martin Robertz Co-authored-by: NotAPenguin --- .../loader/ComponentAssemblyLineMiscRecipes.java | 11 +- .../java/gregtech/api/enums/MaterialsUEVplus.java | 16 +- src/main/java/gregtech/api/enums/OrePrefixes.java | 2 +- .../maps/TranscendentPlasmaMixerFrontend.java | 6 +- .../java/gregtech/api/util/GTRecipeConstants.java | 3 + .../machines/multi/MTETranscendentPlasmaMixer.java | 4 +- .../gregtech/loaders/materials/MaterialsInit1.java | 6 +- .../loaders/postload/chains/NaniteChain.java | 18 ++ .../loaders/postload/recipes/AssemblerRecipes.java | 35 ++-- .../postload/recipes/CompressorRecipes.java | 14 ++ .../loaders/postload/recipes/MixerRecipes.java | 2 +- .../recipes/TranscendentPlasmaMixerRecipes.java | 37 +++- .../loaders/preload/LoaderGTBlockFluid.java | 10 + src/main/java/tectech/loader/recipe/Assembler.java | 12 +- src/main/java/tectech/loader/recipe/Godforge.java | 16 +- .../loader/recipe/ResearchStationAssemblyLine.java | 229 +++++++++++---------- 16 files changed, 266 insertions(+), 155 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java index 4822ab6067..36a22a928d 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java @@ -33,7 +33,6 @@ import net.minecraftforge.fluids.FluidStack; import bartworks.system.material.WerkstoffLoader; import cpw.mods.fml.common.registry.GameRegistry; -import goodgenerator.items.GGMaterial; import goodgenerator.util.StackUtils; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; @@ -401,7 +400,8 @@ public class ComponentAssemblyLineMiscRecipes { .get(OrePrefixes.frameGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 1), GTOreDictUnificator .get(OrePrefixes.plateDense, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 3), - GGMaterial.shirabon.get(OrePrefixes.plateDense, 3), ComponentType.Robot_Arm.getComponent(t) + GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.MagMatter, 3), + ComponentType.Robot_Arm.getComponent(t) .get(8), ComponentType.Electric_Piston.getComponent(t) .get(10), @@ -409,12 +409,11 @@ public class ComponentAssemblyLineMiscRecipes { .get(16), GTOreDictUnificator .get(OrePrefixes.gearGt, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 2), - GGMaterial.shirabon.get(OrePrefixes.gearGt, 2), + GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.MagMatter, 2), GTOreDictUnificator .get(OrePrefixes.gearGtSmall, MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter, 8), - GGMaterial.shirabon.get(OrePrefixes.gearGtSmall, 8), - GTOreDictUnificator.get(OrePrefixes.wireGt04, Materials.Infinity, 4), - GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 4), getALCircuit(t, 8), + GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.MagMatter, 8), + GTOreDictUnificator.get(OrePrefixes.wireGt04, MaterialsUEVplus.SpaceTime, 8), getALCircuit(t, 8), getALCircuit(t - 1, 16) }, new FluidStack[] { new FluidStack(sold, 144 * t * 4), MaterialsUEVplus.BlackDwarfMatter.getMolten(144 * t * 2), MaterialsUEVplus.Eternity.getMolten(144 * t), diff --git a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java index 1fc32cd413..7c14ff2f14 100644 --- a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java +++ b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java @@ -644,7 +644,7 @@ public class MaterialsUEVplus { 1.0F, 8 * 2621440, 26, - 1 | 2 | 64 | 128, + 1 | 2 | 32 | 64 | 128, 255, 120, 20, @@ -664,7 +664,8 @@ public class MaterialsUEVplus { Collections.singletonList(new TCAspects.TC_AspectStack(TCAspects.ITER, 1))) .disableAutoGeneratedBlastFurnaceRecipes() .disableAutoGeneratedVacuumFreezerRecipe() - .setProcessingMaterialTierEU(TierEU.RECIPE_UEV); + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .setHasCorrespondingPlasma(true); public static Materials Mellion = new Materials( 148, @@ -888,6 +889,17 @@ public class MaterialsUEVplus { 1, Dyes._NULL); + public static Materials StargateCrystalSlurry = new MaterialBuilder( + 160, + new TextureSet("sgcrystalfluid", true), + "Stargate Crystal Slurry").setName("sgcrystalslurry") + .addFluid() + .addCell() + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_MAX); + /** * called by Materials. Can be safely called multiple times. exists to allow Materials ensure this class is * initialized diff --git a/src/main/java/gregtech/api/enums/OrePrefixes.java b/src/main/java/gregtech/api/enums/OrePrefixes.java index 7af17351b9..003624007f 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -693,7 +693,6 @@ public enum OrePrefixes { plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); - plateSuperdense.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); cell.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); @@ -860,6 +859,7 @@ public enum OrePrefixes { nanite.mGeneratedItems.add(Materials.Glowstone); nanite.mGeneratedItems.add(MaterialsUEVplus.Eternity); nanite.mGeneratedItems.add(MaterialsUEVplus.SixPhasedCopper); + nanite.mGeneratedItems.add(MaterialsUEVplus.MagMatter); // ----- gear.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); diff --git a/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java b/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java index 7a4036e7ba..0e8a3e49fa 100644 --- a/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java +++ b/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java @@ -1,5 +1,6 @@ package gregtech.api.recipe.maps; +import static gregtech.api.util.GTRecipeConstants.EU_MULTIPLIER; import static gregtech.api.util.GTUtility.formatNumbers; import java.util.List; @@ -44,12 +45,13 @@ public class TranscendentPlasmaMixerFrontend extends RecipeMapFrontend { protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) { // These look odd because recipeInfo.recipe.mEUt is actually the EU per litre of fluid processed, not // the EU/t. + long multiplier = recipeInfo.recipe.getMetadataOrDefault(EU_MULTIPLIER, 10); recipeInfo.drawText( GTUtility.trans("152", "Total: ") - + formatNumbers(1000L * recipeInfo.recipe.mDuration / 100L * recipeInfo.recipe.mEUt) + + formatNumbers(multiplier * recipeInfo.recipe.mDuration * recipeInfo.recipe.mEUt) + " EU"); // 1000 / (20 ticks * 5 seconds) = 10L/t. 10L/t * x EU/L = 10 * x EU/t. - long averageUsage = 10L * recipeInfo.recipe.mEUt; + long averageUsage = multiplier * recipeInfo.recipe.mEUt; recipeInfo.drawText( "Average: " + formatNumbers(averageUsage) + " EU/t" + GTUtility.getTierNameWithParentheses(averageUsage)); } diff --git a/src/main/java/gregtech/api/util/GTRecipeConstants.java b/src/main/java/gregtech/api/util/GTRecipeConstants.java index 82a477756a..98be4718a0 100644 --- a/src/main/java/gregtech/api/util/GTRecipeConstants.java +++ b/src/main/java/gregtech/api/util/GTRecipeConstants.java @@ -216,6 +216,9 @@ public class GTRecipeConstants { public static final RecipeMetadataKey NO_GAS = SimpleRecipeMetadataKey.create(Boolean.class, "no_gas"); + public static final RecipeMetadataKey EU_MULTIPLIER = SimpleRecipeMetadataKey + .create(Integer.class, "eu_multiplier"); + /** * Add a arc furnace recipe. Adds to both normal arc furnace and plasma arc furnace. * Will override the fluid input with oxygen/plasma for the respective recipe maps, so there is no point setting it. diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTETranscendentPlasmaMixer.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTETranscendentPlasmaMixer.java index c6fed966ef..292cfe9a78 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTETranscendentPlasmaMixer.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTETranscendentPlasmaMixer.java @@ -69,6 +69,7 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.render.TextureFactory; import gregtech.api.util.GTRecipe; +import gregtech.api.util.GTRecipeConstants; import gregtech.api.util.MultiblockTooltipBuilder; import gregtech.api.util.OverclockCalculator; @@ -179,7 +180,8 @@ public class MTETranscendentPlasmaMixer extends MTEEnhancedMultiBlockBase