From e9aee5637c9d77ecc21cf95d90292ccf7a654764 Mon Sep 17 00:00:00 2001 From: NotAPenguin Date: Thu, 5 Sep 2024 22:15:33 +0200 Subject: UEV+ Material Diversity (#3045) --- .../loader/ComponentAssemblyLineMiscRecipes.java | 12 +-- .../loader/ComponentAssemblyLineRecipeLoader.java | 18 +++- .../java/goodgenerator/loader/RecipeLoader.java | 4 +- .../java/goodgenerator/loader/RecipeLoader2.java | 17 +++- src/main/java/gregtech/api/enums/Materials.java | 32 ++++++- .../java/gregtech/api/enums/MaterialsUEVplus.java | 90 ++++++++++++++++++++ src/main/java/gregtech/api/enums/OrePrefixes.java | 98 ++++++++++++++++++++++ src/main/java/gregtech/api/recipe/RecipeMaps.java | 2 +- .../common/items/GT_MetaGenerated_Item_03.java | 0 .../java/gregtech/common/items/ID_MetaItem_03.java | 0 .../GT_MetaTileEntity_PurificationUnitBase.java | 0 ...leEntity_PurificationUnitParticleExtractor.java | 0 .../multi/purification/MTEPurificationPlant.java | 2 +- .../MTEPurificationUnitBaryonicPerfection.java | 3 + .../purification/MTEPurificationUnitBase.java | 2 +- .../gregtech/loaders/materials/MaterialsInit1.java | 2 +- .../postload/chains/GT_PurifiedWaterRecipes.java | 0 .../postload/chains/PurifiedWaterRecipes.java | 9 +- .../postload/recipes/ChemicalBathRecipes.java | 54 ++++++++++++ .../postload/recipes/CompressorRecipes.java | 13 +++ .../postload/recipes/PlasmaForgeRecipes.java | 46 ++++++++++ .../postload/recipes/VacuumFreezerRecipes.java | 35 ++++++++ .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 0 .../gtPlusPlus/core/recipe/RecipesGregTech.java | 15 ++++ .../loaders/recipe/RecipeLoaderChemicalSkips.java | 2 +- .../common/recipeLoaders/AssemblyLine.java | 2 +- .../loader/recipe/ResearchStationAssemblyLine.java | 75 +++++++++-------- 27 files changed, 472 insertions(+), 61 deletions(-) create mode 100644 src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java create mode 100644 src/main/java/gregtech/common/items/ID_MetaItem_03.java create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java create mode 100644 src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java create mode 100644 src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java create mode 100644 src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java (limited to 'src/main/java') diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java index 36ce938a04..4822ab6067 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java @@ -344,7 +344,7 @@ public class ComponentAssemblyLineMiscRecipes { 1 << (t - 3), (int) TierEU.RECIPE_UEV, 1, - new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.TranscendentMetal, 1), + new Object[] { GTOreDictUnificator.get(OrePrefixes.frameGt, MaterialsUEVplus.ProtoHalkonite, 1), GTOreDictUnificator.get(OrePrefixes.plateDense, MaterialsUEVplus.TranscendentMetal, 6), ComponentType.Robot_Arm.getComponent(t) .get(8), @@ -353,11 +353,12 @@ public class ComponentAssemblyLineMiscRecipes { ComponentType.Electric_Motor.getComponent(t) .get(16), GTOreDictUnificator.get(OrePrefixes.gearGt, MaterialsUEVplus.TranscendentMetal, 4), - GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.TranscendentMetal, 16), + GTOreDictUnificator.get(OrePrefixes.gearGtSmall, MaterialsUEVplus.ProtoHalkonite, 16), GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.NetherStar, 8), getALCircuit(t, 8), getALCircuit(t - 1, 16) }, new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t, 144 * t * 2), - StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, + StackUtils.getTieredFluid(t, 144 * t), + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(1000 * (t - 2)) }, Compassline_Casing_UIV.get(1), 50 * SECONDS, (int) TierEU.RECIPE_UEV); @@ -382,7 +383,8 @@ public class ComponentAssemblyLineMiscRecipes { GTOreDictUnificator.get(OrePrefixes.cableGt04, Materials.Quantium, 8), getALCircuit(t, 8), getALCircuit(t - 1, 16) }, new FluidStack[] { new FluidStack(sold, 144 * t * 4), CI.getTieredFluid(t - 1, 144 * t * 2), - StackUtils.getTieredFluid(t, 144 * t), Materials.Lubricant.getFluid(1000 * (t - 2)) }, + StackUtils.getTieredFluid(t, 144 * t), + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(1000 * (t - 2)) }, Compassline_Casing_UMV.get(1), 50 * 20, (int) TierEU.RECIPE_UIV); @@ -416,7 +418,7 @@ public class ComponentAssemblyLineMiscRecipes { getALCircuit(t - 1, 16) }, new FluidStack[] { new FluidStack(sold, 144 * t * 4), MaterialsUEVplus.BlackDwarfMatter.getMolten(144 * t * 2), MaterialsUEVplus.Eternity.getMolten(144 * t), - Materials.Lubricant.getFluid(1000 * (t - 2)) }, + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(1000 * (t - 2)) }, Compassline_Casing_UXV.get(1), 50 * SECONDS, (int) TierEU.RECIPE_UMV); diff --git a/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java b/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java index 9de6926cf3..38ce27cd8a 100644 --- a/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java +++ b/src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java @@ -3,6 +3,7 @@ package goodgenerator.loader; import static goodgenerator.util.StackUtils.getTotalItems; import static goodgenerator.util.StackUtils.mergeStacks; import static goodgenerator.util.StackUtils.multiplyAndSplitIntoStacks; +import static gregtech.api.enums.GTValues.M; import static gregtech.api.util.GTRecipeConstants.COAL_CASING_TIER; import java.util.ArrayList; @@ -333,8 +334,8 @@ public class ComponentAssemblyLineRecipeLoader { /** * Transforms each {@code ItemStack}, if possible, into a more compact form. For example, a stack of 16 1x cables, - * when passed into the {@code items} array, will be converted into a single 16x cable. Also handles GraviStar and - * neutronium nanite conversion. + * when passed into the {@code items} array, will be converted into a single 16x cable. Also handles GraviStar, + * proto-halkonite fine wire and neutronium nanite conversion. */ private static ArrayList compactItems(List items, int tier) { ArrayList stacks = new ArrayList<>(); @@ -378,6 +379,19 @@ public class ComponentAssemblyLineRecipeLoader { totalItems / 16)); isCompacted = true; } + // Proto-Halkonite cannot be molten into a fluid, so instead replace it with an equivalent amount of dense + // plates + if (GTUtility.areStacksEqual( + itemstack, + GTOreDictUnificator.get(OrePrefixes.wireFine, MaterialsUEVplus.ProtoHalkonite, 1))) { + // Superdense plate is 64 plates + int superDensePlateAmount = (int) (((totalItems * OrePrefixes.wireFine.mMaterialAmount) / M) / 64); + stacks.addAll( + multiplyAndSplitIntoStacks( + GTOreDictUnificator.get(OrePrefixes.plateSuperdense, MaterialsUEVplus.ProtoHalkonite, 1), + superDensePlateAmount)); + isCompacted = true; + } if (!isCompacted) stacks.addAll(multiplyAndSplitIntoStacks(itemstack, totalItems)); } stacks = mergeStacks(stacks); diff --git a/src/main/java/goodgenerator/loader/RecipeLoader.java b/src/main/java/goodgenerator/loader/RecipeLoader.java index 58afffeee4..c43ffb58c6 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader.java @@ -769,7 +769,7 @@ public class RecipeLoader { .fluidInputs( WerkstoffLoader.Oganesson.getFluidOrGas(1000), Materials.Neutronium.getMolten(9216), - Materials.Lubricant.getFluid(128000)) + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(64000)) .itemOutputs(ItemRefer.Field_Restriction_Coil_T3.get(1)) .eut(TierEU.RECIPE_ZPM) .duration(1 * HOURS) @@ -791,7 +791,7 @@ public class RecipeLoader { .fluidInputs( GGMaterial.metastableOganesson.getMolten(1000), MaterialsUEVplus.TranscendentMetal.getMolten(9216), - Materials.Lubricant.getFluid(128000)) + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(64000)) .itemOutputs(ItemRefer.Field_Restriction_Coil_T4.get(1)) .eut(TierEU.RECIPE_ZPM) .duration(2 * HOURS) diff --git a/src/main/java/goodgenerator/loader/RecipeLoader2.java b/src/main/java/goodgenerator/loader/RecipeLoader2.java index 3f44301308..15f44dc97d 100644 --- a/src/main/java/goodgenerator/loader/RecipeLoader2.java +++ b/src/main/java/goodgenerator/loader/RecipeLoader2.java @@ -648,12 +648,12 @@ public class RecipeLoader2 { ItemList.Electric_Pump_UIV.get(8), GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 12), GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.CosmicNeutronium, 12), - GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.DraconiumAwakened, 12), + GTOreDictUnificator.get(OrePrefixes.plateDouble, MaterialsUEVplus.ProtoHalkonite, 12), GTOreDictUnificator.get(OrePrefixes.plate, Materials.Infinity, 64)) .fluidInputs( Materials.DraconiumAwakened.getMolten(14400), FluidRegistry.getFluidStack("supercoolant", 46080), - Materials.Lubricant.getFluid(46080)) + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(46080)) .itemOutputs(ItemRefer.YOTTank_Cell_T9.get(1)) .eut(TierEU.RECIPE_UMV) .duration(50 * SECONDS) @@ -669,13 +669,13 @@ public class RecipeLoader2 { ItemList.Electric_Pump_UMV.get(8), GTOreDictUnificator.get(OrePrefixes.pipeLarge, Materials.NetherStar, 64), GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.CosmicNeutronium, 12), - GTOreDictUnificator.get(OrePrefixes.plateDouble, Materials.DraconiumAwakened, 12), + GTOreDictUnificator.get(OrePrefixes.plateDouble, MaterialsUEVplus.ProtoHalkonite, 12), GTOreDictUnificator.get(OrePrefixes.plate, MaterialsUEVplus.SpaceTime, 10)) .fluidInputs( Materials.DraconiumAwakened.getMolten(14400), MaterialsUEVplus.TranscendentMetal.getMolten(1440), FluidRegistry.getFluidStack("supercoolant", 46080), - Materials.Lubricant.getFluid(46080)) + MaterialsUEVplus.DimensionallyShiftedSuperfluid.getFluid(46080)) .itemOutputs(ItemRefer.YOTTank_Cell_T10.get(1)) .eut(TierEU.RECIPE_UXV) .duration(50 * SECONDS) @@ -1812,6 +1812,15 @@ public class RecipeLoader2 { .metadata(FUSION_THRESHOLD, 1_000_000_000) .addTo(fusionRecipes); + // Mk5 recipe + GTValues.RA.stdBuilder() + .fluidInputs(Materials.Copper.getPlasma(288), WerkstoffLoader.Oganesson.getFluidOrGas(500)) + .fluidOutputs(GGMaterial.metastableOganesson.getMolten(288)) + .eut(TierEU.RECIPE_UEV) + .duration(5 * SECONDS) + .metadata(FUSION_THRESHOLD, 1_000_000_000) + .addTo(fusionRecipes); + GTValues.RA.stdBuilder() .itemInputs(GGMaterial.metastableOganesson.get(OrePrefixes.dust)) .fluidOutputs(WerkstoffLoader.Oganesson.getFluidOrGas(250)) diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java index e29a03bea4..9949a61cfd 100644 --- a/src/main/java/gregtech/api/enums/Materials.java +++ b/src/main/java/gregtech/api/enums/Materials.java @@ -1989,6 +1989,21 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { MaterialsUEVplus.SixPhasedCopper.mChemicalFormula = "\u2722"; MaterialsUEVplus.Mellion.mChemicalFormula = "Tn\u2081\u2081Or\u2088Rb\u2081\u2081?\u2087?\u2081\u2083?\u2081\u2083"; MaterialsUEVplus.Creon.mChemicalFormula = "\u2E0E"; + Tartarite.mChemicalFormula = "Tt"; + MaterialsUEVplus.TranscendentMetal.mChemicalFormula = "TsЖ"; + // I hate this + MaterialsUEVplus.MoltenProtoHalkoniteBase.mChemicalFormula = "(" + + MaterialsUEVplus.TranscendentMetal.mChemicalFormula + + ")\u2082" + + "(W\u2088Nq*\u2087(" + + Materials.Bedrockium.mChemicalFormula + + ")\u2084C\u2084V\u2083SpPu)\u2082" + + Tartarite.mChemicalFormula + + "\u2082" + + "((CW)\u2087Ti\u2083)\u2083???" + + "If*"; + MaterialsUEVplus.HotProtoHalkonite.mChemicalFormula = MaterialsUEVplus.MoltenProtoHalkoniteBase.mChemicalFormula; + MaterialsUEVplus.ProtoHalkonite.mChemicalFormula = MaterialsUEVplus.MoltenProtoHalkoniteBase.mChemicalFormula; } private static void initSubTags() { @@ -1998,6 +2013,15 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { .addTo(Magnetite, VanadiumMagnetite, BasalticMineralSand, GraniticMineralSand); SubTag.NO_RECIPES.addTo(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.HotProtoHalkonite); + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.ProtoHalkonite); + MaterialsUEVplus.HotProtoHalkonite.remove(SubTag.SMELTING_TO_FLUID); + MaterialsUEVplus.ProtoHalkonite.remove(SubTag.SMELTING_TO_FLUID); + + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.HotExoHalkonite); + SubTag.NO_RECIPES.addTo(MaterialsUEVplus.ExoHalkonite); + MaterialsUEVplus.HotExoHalkonite.remove(SubTag.SMELTING_TO_FLUID); + MaterialsUEVplus.ExoHalkonite.remove(SubTag.SMELTING_TO_FLUID); SubTag.ELECTROMAGNETIC_SEPERATION_IRON.addTo( YellowLimonite, @@ -2251,7 +2275,11 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { TengamPurified, TengamAttuned, MaterialsUEVplus.Eternity, - MaterialsUEVplus.MagMatter); + MaterialsUEVplus.MagMatter, + MaterialsUEVplus.HotProtoHalkonite, + MaterialsUEVplus.ProtoHalkonite, + MaterialsUEVplus.HotExoHalkonite, + MaterialsUEVplus.ExoHalkonite); SubTag.FOOD.addTo( MeatRaw, @@ -2533,6 +2561,8 @@ public class Materials implements IColorModulationContainer, ISubTagContainer { MaterialsUEVplus.MagMatter.renderer = new InfinityRenderer(); MaterialsUEVplus.SixPhasedCopper.renderer = new GlitchEffectRenderer(); MaterialsUEVplus.GravitonShard.renderer = new InfinityRenderer(); + MaterialsUEVplus.ExoHalkonite.renderer = new InfinityRenderer(); + MaterialsUEVplus.HotExoHalkonite.renderer = new InfinityRenderer(); } private static void fillGeneratedMaterialsMap() { diff --git a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java index 49ab432c5f..d13fe68a47 100644 --- a/src/main/java/gregtech/api/enums/MaterialsUEVplus.java +++ b/src/main/java/gregtech/api/enums/MaterialsUEVplus.java @@ -750,6 +750,96 @@ public class MaterialsUEVplus { .disableAutoGeneratedBlastFurnaceRecipes() .disableAutoGeneratedVacuumFreezerRecipe(); + public static Materials DimensionallyShiftedSuperfluid = new MaterialBuilder( + 151, + new TextureSet("dimensionallyshiftedsuperfluid", true), + "Dimensionally Shifted Superfluid").addCell() + .addFluid() + .setRGBA(255, 255, 255, 0) + .setTransparent(true) + .setName("dimensionallyshiftedsuperfluid") + .setColor(Dyes._NULL) + .constructMaterial() + .setHasCorrespondingFluid(true); + + public static Materials MoltenProtoHalkoniteBase = new MaterialBuilder( + 152, + new TextureSet("protohalkonitebase", true), + "Molten Proto-Halkonite Steel Base").setName("protohalkonitebase") + .addFluid() + .addCell() + .setLiquidTemperature(10000) + .setRGBA(255, 255, 255, 0) + .setTransparent(true) + .setColor(Dyes._NULL) + .constructMaterial() + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + public static Materials HotProtoHalkonite = new MaterialBuilder( + 153, + new TextureSet("hotprotohalkonite", true), + "Hot Proto-Halkonite Steel").setName("hotprotohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setOreValue(2) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + public static Materials ProtoHalkonite = new MaterialBuilder( + 154, + new TextureSet("protohalkonite", true), + "Proto-Halkonite Steel").setName("protohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes(); + + public static Materials MoltenExoHalkoniteBase = new MaterialBuilder( + 155, + TextureSet.SET_FLUID, + "Molten Exo-Halkonite Steel Preparation Base").setName("moltenexohalkonitebase") + .addFluid() + .addCell() + .setLiquidTemperature(10000) + .setRGBA(30, 30, 30, 0) + .setTransparent(false) + .constructMaterial() + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + + public static Materials HotExoHalkonite = new MaterialBuilder( + 156, + new TextureSet("hotexohalkonite", true), + "Hot Exo-Halkonite Steel").setName("hotexohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setOreValue(2) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes() + .disableAutoGeneratedRecycleRecipes(); + public static Materials ExoHalkonite = new MaterialBuilder( + 157, + new TextureSet("exohalkonite", true), + "Exo-Halkonite Steel").setName("exohalkonite") + .setTypes(1 | 2 | 64 | 128) + .setRGBA(255, 255, 255, 0) + .setTransparent(false) + .constructMaterial() + .setProcessingMaterialTierEU(TierEU.RECIPE_UEV) + .disableAutoGeneratedVacuumFreezerRecipe() + .disableAutoGeneratedBlastFurnaceRecipes(); + /** * 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 f757d34a7b..7af17351b9 100644 --- a/src/main/java/gregtech/api/enums/OrePrefixes.java +++ b/src/main/java/gregtech/api/enums/OrePrefixes.java @@ -704,6 +704,80 @@ public enum OrePrefixes { dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + + plateDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + + plateDouble.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + plateTriple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + plateQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + plateQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + cell.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotDouble.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotTriple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotQuadruple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingotQuintuple.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + turbineBlade.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + dust.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + dustSmall.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + dustTiny.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + spring.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + springSmall.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + nugget.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + itemCasing.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + + // When Exo-Halkonite is added, remove this. + plateSuperdense.mNotGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + plateSuperdense.mNotGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + cell.disableComponent(MaterialsUEVplus.GravitonShard); // ingot.mNotGeneratedItems.add(Materials.Ichorium); @@ -794,6 +868,30 @@ public enum OrePrefixes { frame.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); frameGt.mGeneratedItems.add(MaterialsUEVplus.MagnetohydrodynamicallyConstrainedStarMatter); + gear.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.HotProtoHalkonite); + + gear.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.ProtoHalkonite); + + gear.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.HotExoHalkonite); + + gear.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + ingot.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + toolHeadHammer.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + frame.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + frameGt.mGeneratedItems.add(MaterialsUEVplus.ExoHalkonite); + gem.mGeneratedItems.add(MaterialsUEVplus.GravitonShard); dust.mGeneratedItems.addAll(dustPure.mGeneratedItems); diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java index b43b1144ee..ad2f609dc7 100644 --- a/src/main/java/gregtech/api/recipe/RecipeMaps.java +++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java @@ -118,7 +118,7 @@ public final class RecipeMaps { }) .build(); public static final RecipeMap compressorRecipes = RecipeMapBuilder.of("gt.recipe.compressor") - .maxIO(1, 1, 0, 0) + .maxIO(1, 1, 1, 0) .minInputs(1, 0) .slotOverlays( (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GTUITextures.OVERLAY_SLOT_COMPRESSOR diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_03.java b/src/main/java/gregtech/common/items/ID_MetaItem_03.java new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java index 86f2c2b5bd..6933a18dc2 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java @@ -206,7 +206,7 @@ public class MTEPurificationPlant extends MTEExtendedPowerMultiBlockBase