diff options
Diffstat (limited to 'src/main/java/gregtech/loaders/postload/chains')
-rw-r--r-- | src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java | 89 |
1 files changed, 75 insertions, 14 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 index b776f60554..4967f51699 100644 --- a/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java +++ b/src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java @@ -17,13 +17,15 @@ import static gregtech.api.recipe.RecipeMaps.purificationParticleExtractionRecip import static gregtech.api.recipe.RecipeMaps.purificationPhAdjustmentRecipes; import static gregtech.api.recipe.RecipeMaps.purificationPlasmaHeatingRecipes; import static gregtech.api.recipe.RecipeMaps.purificationUVTreatmentRecipes; +import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeConstants.AssemblyLine; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_ITEM; +import static gregtech.api.util.GT_RecipeConstants.RESEARCH_TIME; import static gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitParticleExtractor.BARYONIC_MATTER_OUTPUT; -import java.util.Arrays; - import net.minecraft.init.Items; import net.minecraft.item.ItemStack; @@ -35,11 +37,13 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.MaterialsUEVplus; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; +import gregtech.api.recipe.maps.PurificationUnitParticleExtractorFrontend; import gregtech.api.recipe.metadata.PurificationPlantBaseChanceKey; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationPlant; +import gregtech.common.tileentities.machines.multi.purification.GT_MetaTileEntity_PurificationUnitUVTreatment; import gtPlusPlus.core.material.Particle; public class GT_PurifiedWaterRecipes { @@ -178,22 +182,27 @@ public class GT_PurifiedWaterRecipes { .metadata(BASE_CHANCE, 0.0f) .addTo(purificationPlasmaHeatingRecipes); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS.add(MyMaterial.orundum.get(OrePrefixes.lens, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Amber, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.InfusedAir, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Emerald, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, ManaDiamond, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.BlueTopaz, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Amethyst, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS.add(FluorBuergerit.get(OrePrefixes.lens, 1)); + GT_MetaTileEntity_PurificationUnitUVTreatment.LENS_ITEMS + .add(GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Dilithium, 1)); + // Grade 6 - UV treatment GT_Values.RA.stdBuilder() .fluidInputs(Materials.Grade5PurifiedWater.getFluid(1000L)) .fluidOutputs(Materials.Grade6PurifiedWater.getFluid(900L)) - // These are not actually consumed and are purely for display purposes - .special( - Arrays.asList( - MyMaterial.orundum.get(OrePrefixes.lens, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Amber, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.InfusedAir, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Emerald, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, ManaDiamond, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.BlueTopaz, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Amethyst, 1), - FluorBuergerit.get(OrePrefixes.lens, 1), - GT_OreDictUnificator.get(OrePrefixes.lens, Materials.Dilithium, 1))) .ignoreCollision() .duration(duration) .eut(TierEU.RECIPE_UV) @@ -217,6 +226,15 @@ public class GT_PurifiedWaterRecipes { ItemList.Quark_Creation_Catalyst_Top.get(1L), ItemList.Quark_Creation_Catalyst_Strange.get(1L), ItemList.Quark_Creation_Catalyst_Charm.get(1L) }; + // Add all combinations of input items to the frontend map + for (int i = 0; i < catalystInputs.length; ++i) { + for (int j = 1; j < catalystInputs.length; ++j) { + PurificationUnitParticleExtractorFrontend.inputItems.add(catalystInputs[i]); + PurificationUnitParticleExtractorFrontend.inputItemsShuffled + .add(catalystInputs[(i + j) % catalystInputs.length]); + } + } + // Add re-alignment recipes for (int i = 0; i < catalystInputs.length; ++i) { GT_Values.RA.stdBuilder() @@ -248,6 +266,48 @@ public class GT_PurifiedWaterRecipes { .addTo(plasmaForgeRecipes); } + // Recipe for quark catalyst housing + GT_Values.RA.stdBuilder() + .metadata(RESEARCH_ITEM, ItemList.Electromagnet_Tengam.get(1)) + .metadata(RESEARCH_TIME, 1 * HOURS) + .itemInputs( + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Neutronium, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tritanium, 16), + GT_OreDictUnificator.get(OrePrefixes.plate, Materials.CosmicNeutronium, 16), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Neutronium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Infinity, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Tritanium, 64), + GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.CosmicNeutronium, 64), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.UHV, 16), + GT_OreDictUnificator.get(OrePrefixes.circuit, Materials.UEV, 8), + ItemList.Field_Generator_UEV.get(4)) + .fluidInputs( + Materials.Neutronium.getMolten(16 * 144), + Materials.Infinity.getMolten(16 * 144), + Materials.Tritanium.getMolten(16 * 144), + Materials.CosmicNeutronium.getMolten(16 * 144)) + .itemOutputs(ItemList.Quark_Catalyst_Housing.get(1)) + .eut(TierEU.RECIPE_UIV) + .duration(60 * SECONDS) + .addTo(AssemblyLine); + + GT_Values.RA.stdBuilder() + // 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)) + .itemOutputs(ItemList.Quark_Creation_Catalyst_Unaligned.get(2L)) + .ignoreCollision() + .duration(duration) + .eut(TierEU.RECIPE_UEV) + .metadata(BASE_CHANCE, 0.0f) + .fake() + .addTo(purificationParticleExtractionRecipes); + + // real recipe GT_Values.RA.stdBuilder() .fluidInputs(Materials.Grade7PurifiedWater.getFluid(1000L)) .fluidOutputs( @@ -258,6 +318,7 @@ public class GT_PurifiedWaterRecipes { .duration(duration) .eut(TierEU.RECIPE_UEV) .metadata(BASE_CHANCE, 0.0f) + .hidden() .addTo(purificationParticleExtractionRecipes); } } |