aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorNotAPenguin <michiel.vandeginste@gmail.com>2024-09-05 22:15:33 +0200
committerGitHub <noreply@github.com>2024-09-05 22:15:33 +0200
commite9aee5637c9d77ecc21cf95d90292ccf7a654764 (patch)
tree601e7654232723d1ed3cde30dc400a1a06496be4 /src/main/java
parent91721f7b939622054f3fa0bbbc260f593a4d3ffd (diff)
downloadGT5-Unofficial-e9aee5637c9d77ecc21cf95d90292ccf7a654764.tar.gz
GT5-Unofficial-e9aee5637c9d77ecc21cf95d90292ccf7a654764.tar.bz2
GT5-Unofficial-e9aee5637c9d77ecc21cf95d90292ccf7a654764.zip
UEV+ Material Diversity (#3045)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/goodgenerator/loader/ComponentAssemblyLineMiscRecipes.java12
-rw-r--r--src/main/java/goodgenerator/loader/ComponentAssemblyLineRecipeLoader.java18
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader.java4
-rw-r--r--src/main/java/goodgenerator/loader/RecipeLoader2.java17
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java32
-rw-r--r--src/main/java/gregtech/api/enums/MaterialsUEVplus.java90
-rw-r--r--src/main/java/gregtech/api/enums/OrePrefixes.java98
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMaps.java2
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java0
-rw-r--r--src/main/java/gregtech/common/items/ID_MetaItem_03.java0
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java0
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java0
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationPlant.java2
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java3
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java2
-rw-r--r--src/main/java/gregtech/loaders/materials/MaterialsInit1.java2
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_PurifiedWaterRecipes.java0
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/PurifiedWaterRecipes.java9
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java54
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java13
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java46
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java35
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java0
-rw-r--r--src/main/java/gtPlusPlus/core/recipe/RecipesGregTech.java15
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoaderChemicalSkips.java2
-rw-r--r--src/main/java/kekztech/common/recipeLoaders/AssemblyLine.java2
-rw-r--r--src/main/java/tectech/loader/recipe/ResearchStationAssemblyLine.java75
27 files changed, 472 insertions, 61 deletions
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<ItemStack> compactItems(List<ItemStack> items, int tier) {
ArrayList<ItemStack> 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<RecipeMapBackend> 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
--- /dev/null
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java
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
--- /dev/null
+++ b/src/main/java/gregtech/common/items/ID_MetaItem_03.java
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
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitBase.java
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
--- /dev/null
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/GT_MetaTileEntity_PurificationUnitParticleExtractor.java
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<MTEPuri
.addSeparator()
.addInfo("Every purification unit has a configuration window to configure maximum parallel amount.")
.addInfo(
- "This will only scale purified water I/O and power usage. Other catalysts and outputs are unchanged.")
+ "This will only scale purified water input, ALL fluid output and power usage. Other catalysts and outputs are unchanged.")
.addSeparator()
.addInfo(
EnumChatFormatting.AQUA + ""
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java
index 250d968945..e2f230b6d8 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBaryonicPerfection.java
@@ -293,6 +293,9 @@ public class MTEPurificationUnitBaryonicPerfection
.addInfo("Keeps track of the entire sequence of catalysts inserted this recipe.")
.addInfo(
"If the correct catalyst combination is in the sequence of inserted catalysts, immediately outputs "
+ + EnumChatFormatting.RED
+ + BARYONIC_MATTER_OUTPUT
+ + "L "
+ EnumChatFormatting.WHITE
+ "Stabilised Baryonic Matter")
.addInfo("At the end of the recipe, all incorrectly inserted catalysts are returned in the output bu