aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech')
-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
18 files changed, 377 insertions, 11 deletions
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 bus.")
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java
index e986f16940..263590f184 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/purification/MTEPurificationUnitBase.java
@@ -376,8 +376,8 @@ public abstract class MTEPurificationUnitBase<T extends MTEExtendedPowerMultiBlo
FluidStack[] fluidOutputs = new FluidStack[this.currentRecipe.mFluidOutputs.length];
for (int i = 0; i < this.currentRecipe.mFluidOutputs.length; ++i) {
fluidOutputs[i] = this.currentRecipe.mFluidOutputs[i].copy();
+ fluidOutputs[i].amount *= effectiveParallel;
}
- fluidOutputs[0].amount *= effectiveParallel;
this.mOutputFluids = fluidOutputs;
this.mOutputItems = this.currentRecipe.mOutputs;
// Set this value, so it can be displayed in Waila. Note that the logic for the units is
diff --git a/src/main/java/gregtech/loaders/materials/MaterialsInit1.java b/src/main/java/gregtech/loaders/materials/MaterialsInit1.java
index b32ddde894..7bf3b1937d 100644
--- a/src/main/java/gregtech/loaders/materials/MaterialsInit1.java
+++ b/src/main/java/gregtech/loaders/materials/MaterialsInit1.java
@@ -902,7 +902,7 @@ public class MaterialsInit1 {
Materials.InfinityCatalyst = new Materials( 394, TextureSet.SET_SHINY , 64.0F,1310720, 10, 1|2 |8 |64|128 , 255, 255, 255, 0, "InfinityCatalyst" , "Infinity Catalyst" , 5, 500000, 10800, 10800, true, false, 20, 1, 1, Dyes.dyeLightGray ).setProcessingMaterialTierEU(TierEU.RECIPE_UV).disableAutoGeneratedVacuumFreezerRecipe();
Materials.Infinity = new Materials( 397, new TextureSet("infinity", true), 256.0F,2621440, 17, 1|2 |64|128 , 255, 255, 255, 0, "Infinity" , "Infinity" , 5, 5000000, 10800, 10800, true, false, 40, 1, 1, Dyes.dyeLightGray ).setProcessingMaterialTierEU(TierEU.RECIPE_UV).disableAutoGeneratedVacuumFreezerRecipe();
- Materials.Bedrockium = new MaterialBuilder(395,TextureSet.SET_DULL, "Bedrockium").addOreItems().addDustItems().addMetalItems().setDurability(327680).setToolSpeed(8f).setToolQuality(9).setRGB(50,50,50).setName("Bedrockium").setBlastFurnaceRequired(true).setBlastFurnaceTemp(9900).setMeltingPoint(9900).setColor(Dyes.dyeBlack).setOreValue(4).setDensityDivider(1).setDensityMultiplier(1).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_EV).disableAutoGeneratedVacuumFreezerRecipe();
+ Materials.Bedrockium = new MaterialBuilder(395,TextureSet.SET_DULL, "Bedrockium").addOreItems().addDustItems().addMetalItems().setDurability(327680).setToolSpeed(8f).setToolQuality(9).setRGB(50,50,50).setName("Bedrockium").setBlastFurnaceRequired(true).setBlastFurnaceTemp(9900).setMeltingPoint(9900).setMaterialList(new MaterialStack(Materials.SiliconDioxide, 26244), new MaterialStack(Materials.Diamond, 9)).setColor(Dyes.dyeBlack).setOreValue(4).setDensityDivider(1).setDensityMultiplier(1).constructMaterial().setProcessingMaterialTierEU(TierEU.RECIPE_EV).disableAutoGeneratedVacuumFreezerRecipe();
Materials.Trinium = new Materials( 868, TextureSet.SET_SHINY , 128.0F, 51200, 8, 1|2 |8 |64|128 , 200, 200, 210, 0, "Trinium" , "Trinium" , 0, 0, 7200, 7200, true, false, 4, 1, 1, Dyes.dyeLightGray ).disableAutoGeneratedBlastFurnaceRecipes().disableAutoGeneratedVacuumFreezerRecipe();
Materials.Ichorium = new Materials( 978, TextureSet.SET_SHINY , 32.0F, 850000, 12, 1|2 |8 |32|64|128 , 211, 120, 6, 0, "Ichorium" , "Ichorium" , 5, 250000, 9000, 9000, true, false, 4, 1, 1, Dyes.dyeOrange ).setTurbineMultipliers(6, 6, 3).setHasCorrespondingPlasma(true);
Materials.CosmicNeutronium = new Materials( 982, TextureSet.SET_SHINY , 96.0F, 163840, 12, 1|2 |8 |32|64|128 , 50, 50, 50, 0, "CosmicNeutronium" , "Cosmic Neutronium" , 0, 0, 9900, 9900, true, false, 4, 1, 1, Dyes.dyeBlack ).setProcessingMaterialTierEU(TierEU.RECIPE_ZPM).disableAutoGeneratedVacuumFreezerRecipe().setHasCorrespondingPlasma(true);
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);
+
+ }
}