diff options
author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-05 22:15:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-05 22:15:33 +0200 |
commit | e9aee5637c9d77ecc21cf95d90292ccf7a654764 (patch) | |
tree | 601e7654232723d1ed3cde30dc400a1a06496be4 /src/main/java/gregtech/loaders/postload | |
parent | 91721f7b939622054f3fa0bbbc260f593a4d3ffd (diff) | |
download | GT5-Unofficial-e9aee5637c9d77ecc21cf95d90292ccf7a654764.tar.gz GT5-Unofficial-e9aee5637c9d77ecc21cf95d90292ccf7a654764.tar.bz2 GT5-Unofficial-e9aee5637c9d77ecc21cf95d90292ccf7a654764.zip |
UEV+ Material Diversity (#3045)
Diffstat (limited to 'src/main/java/gregtech/loaders/postload')
6 files changed, 151 insertions, 6 deletions
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java diff --git a/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java b/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java index c0d73d02b6..3cb8ac8f65 100644 --- a/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java @@ -24,7 +24,6 @@ import static gregtech.api.util.GTRecipeConstants.AssemblyLine; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import static gregtech.api.util.GTRecipeConstants.RESEARCH_ITEM; import static gregtech.api.util.GTRecipeConstants.RESEARCH_TIME; -import static gregtech.common.tileentities.machines.multi.purification.MTEPurificationUnitBaryonicPerfection.BARYONIC_MATTER_OUTPUT; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -277,7 +276,7 @@ public class PurifiedWaterRecipes { GTOreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UHV, 16), GTOreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 8), - ItemList.Field_Generator_UEV.get(4)) + ItemList.Field_Generator_UEV.get(1)) .fluidInputs( Materials.Neutronium.getMolten(16 * 144), Materials.Infinity.getMolten(16 * 144), @@ -292,9 +291,7 @@ public class PurifiedWaterRecipes { // Fake item inputs .itemInputs(ItemList.Quark_Creation_Catalyst_Charm.get(1), ItemList.Quark_Creation_Catalyst_Strange.get(1)) .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L)) - .fluidOutputs( - Materials.Grade8PurifiedWater.getFluid(900L), - Materials.StableBaryonicMatter.getFluid(BARYONIC_MATTER_OUTPUT)) + .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L), Materials.StableBaryonicMatter.getFluid(500)) .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L), Particle.getBaseParticle(Particle.UNKNOWN)) .outputChances(10000, 100) .ignoreCollision() @@ -307,7 +304,7 @@ public class PurifiedWaterRecipes { // real recipe GTValues.RA.stdBuilder() .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L)) - .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L)) + .fluidOutputs(Materials.Grade8PurifiedWater.getFluid(900L), Materials.StableBaryonicMatter.getFluid(500)) .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L), Particle.getBaseParticle(Particle.UNKNOWN)) .outputChances(10000, 100) .ignoreCollision() diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java index e500844b37..1b889f2f37 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java @@ -1,5 +1,6 @@ package gregtech.loaders.postload.recipes; +import static gregtech.api.enums.GTValues.M; import static gregtech.api.enums.Mods.BuildCraftTransport; import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; import static gregtech.api.util.GTModHandler.getModItem; @@ -20,6 +21,7 @@ import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsKevlar; +import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; import gregtech.api.util.GTModHandler; @@ -411,5 +413,57 @@ public class ChemicalBathRecipes implements Runnable { .duration(40 * SECONDS) .eut(8) .addTo(chemicalBathRecipes); + + this.protoHalkoniteRecipes(); + } + + private void protoHalkoniteRecipes() { + this.addProtoHalkonitePartRecipe(OrePrefixes.frameGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.ingot, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plate, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plateDense, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stick, 2); + this.addProtoHalkonitePartRecipe(OrePrefixes.round, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.bolt, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.screw, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.ring, 4); + this.addProtoHalkonitePartRecipe(OrePrefixes.foil, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGtSmall, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.rotor, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stickLong, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.wireFine, 8); + } + + private void addProtoHalkonitePartRecipe(OrePrefixes prefix, final int multiplier) { + + final int partFraction = (int) (144 * prefix.mMaterialAmount / M); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, Materials.Infinity, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid((long) partFraction * multiplier)) + .duration((int) (multiplier * (8 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UEV) + .noOptimize() + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.Creon, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid((long) partFraction * multiplier / 2L)) + .duration((int) (multiplier * (2 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(chemicalBathRecipes); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.Mellion, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid((long) partFraction * multiplier / 2L)) + .duration((int) (multiplier * (2 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(chemicalBathRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java index 1b6e1c0adc..8f6ba3729d 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java @@ -15,7 +15,10 @@ import bartworks.system.material.WerkstoffLoader; 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.recipe.metadata.CompressionTierKey; import gregtech.api.util.GTModHandler; import gregtech.api.util.GTOreDictUnificator; import mods.railcraft.common.blocks.aesthetics.cube.EnumCube; @@ -264,6 +267,16 @@ public class CompressorRecipes implements Runnable { .addTo(compressorRecipes); GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.plateSuperdense, Materials.Infinity, 1)) + .fluidInputs(MaterialsUEVplus.MoltenProtoHalkoniteBase.getFluid(64 * 144)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.plateSuperdense, MaterialsUEVplus.HotProtoHalkonite, 1)) + // Require stabilized black hole + .metadata(CompressionTierKey.INSTANCE, 2) + .duration(45 * SECONDS) + .eut(TierEU.RECIPE_UIV) + .addTo(compressorRecipes); + + GTValues.RA.stdBuilder() .itemInputs(WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.gem, 9)) .itemOutputs(WerkstoffLoader.MagnetoResonaticDust.get(OrePrefixes.block, 1)) .duration(15 * SECONDS) diff --git a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java index ea3c5ff7d1..5cf731c1ed 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java @@ -9,7 +9,10 @@ import static gregtech.api.util.GTRecipeBuilder.SECONDS; import static gregtech.api.util.GTRecipeConstants.COIL_HEAT; import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.FluidStack; +import goodgenerator.items.GGMaterial; import gregtech.api.enums.GTValues; import gregtech.api.enums.ItemList; import gregtech.api.enums.Materials; @@ -69,5 +72,48 @@ public class PlasmaForgeRecipes implements Runnable { .metadata(COIL_HEAT, 12600) .addTo(plasmaForgeRecipes); } + + Fluid celestialTungstenPlasma = MaterialsElements.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(); + + // Dimensionally shifted superfluid + + // First recipe using AwDr coil and super heavy radox + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs( + Materials.StableBaryonicMatter.getFluid(250), + GGMaterial.metastableOganesson.getMolten(288), + Materials.Grade8PurifiedWater.getFluid(400), + new FluidStack(celestialTungstenPlasma, 32 * 144), + Materials.RadoxSuperHeavy.getFluid(2000), + MaterialsUEVplus.ExcitedDTCC.getFluid(1000)) + .fluidOutputs( + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(7500), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(500)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_UIV) + .metadata(COIL_HEAT, 10800) + .addTo(plasmaForgeRecipes); + + // Better recipe, unlocks with AwDr coil and uses heavy radox, which can be produced in the QFT. + // This recipe takes UMV power but processes 4x input and output as the original recipe, making it a free POC + // over + // the original recipe + GTValues.RA.stdBuilder() + .itemInputs() + .fluidInputs( + Materials.StableBaryonicMatter.getFluid(1000), + GGMaterial.metastableOganesson.getMolten(288 * 4), + Materials.Grade8PurifiedWater.getFluid(1600), + new FluidStack(celestialTungstenPlasma, 128 * 144), + Materials.RadoxHeavy.getFluid(8000), + MaterialsUEVplus.ExcitedDTRC.getFluid(4000)) + .fluidOutputs( + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(30000), + MaterialsUEVplus.DimensionallyTranscendentResidue.getFluid(2000)) + .duration(60 * SECONDS) + .eut((int) TierEU.RECIPE_UMV) + .metadata(COIL_HEAT, 12600) + .addTo(plasmaForgeRecipes); } } diff --git a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java index 89e213c31b..89a1aefa89 100644 --- a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java +++ b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java @@ -1,5 +1,6 @@ package gregtech.loaders.postload.recipes; +import static gregtech.api.enums.GTValues.M; import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; import static gregtech.api.util.GTRecipeBuilder.HOURS; import static gregtech.api.util.GTRecipeBuilder.MINUTES; @@ -410,6 +411,24 @@ public class VacuumFreezerRecipes implements Runnable { .eut(TierEU.RECIPE_UIV) .addTo(vacuumFreezerRecipes); + // Proto-Halkonite + this.addProtoHalkonitePartRecipe(OrePrefixes.frameGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.ingot, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plate, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.plateDense, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stick, 2); + this.addProtoHalkonitePartRecipe(OrePrefixes.round, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.bolt, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.screw, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.ring, 4); + this.addProtoHalkonitePartRecipe(OrePrefixes.foil, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGtSmall, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.rotor, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.stickLong, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.gearGt, 1); + this.addProtoHalkonitePartRecipe(OrePrefixes.wireFine, 8); + this.addProtoHalkonitePartRecipe(OrePrefixes.plateSuperdense, 1); + GTValues.RA.stdBuilder() .itemInputs(GTOreDictUnificator.get(OrePrefixes.ingotHot, MaterialsUEVplus.Mellion, 9L)) .fluidInputs(MaterialsUEVplus.Creon.getPlasma(1296L)) @@ -419,4 +438,20 @@ public class VacuumFreezerRecipes implements Runnable { .eut(TierEU.RECIPE_UMV) .addTo(vacuumFreezerRecipes); } + + private void addProtoHalkonitePartRecipe(OrePrefixes prefix, final int multiplier) { + final int partFraction = (int) (144 * prefix.mMaterialAmount / M); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.HotProtoHalkonite, multiplier)) + .itemOutputs(GTOreDictUnificator.get(prefix, MaterialsUEVplus.ProtoHalkonite, multiplier)) + .fluidInputs( + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid((long) partFraction * multiplier), + Materials.SuperCoolant.getFluid(partFraction * multiplier * 10L)) + .duration((int) (multiplier * (10 * SECONDS * partFraction / 144.0))) + .eut(TierEU.RECIPE_UIV) + .noOptimize() + .addTo(vacuumFreezerRecipes); + + } } |