aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/oreprocessing
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/oreprocessing')
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java5
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java7
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java19
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java4
7 files changed, 29 insertions, 33 deletions
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
index 29516ad0a5..555341aa45 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
@@ -30,7 +30,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
ItemStack aStack) {
- if (aMaterial == Materials.Ichorium) {
+ if (aMaterial == Materials.Ichorium || aMaterial == Materials.NetherQuartz) {
return;
}
@@ -159,9 +159,6 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
.duration(5 * SECONDS)
.eut(24)
.addTo(hammerRecipes);
- }
-
- if (tStack2 != null && aMaterial != Materials.NetherQuartz) {
if (tStack3 != null)
GTModHandler.addShapelessCraftingRecipe(tStack3, new Object[] { OrePrefixes.block.get(aMaterial) });
GTModHandler.addShapelessCraftingRecipe(tStack2, new Object[] { OrePrefixes.block.get(aMaterial) });
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
index debf059884..2566d0ceec 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
@@ -75,9 +75,10 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
break;
}
- // Blacklist materials which are handled by Werkstoff loader
- if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt || aMaterial == Materials.Spodumene)
- return;
+ // Blacklist materials which are handled by Werkstoff loader and coal, which has an override
+ if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt
+ || aMaterial == Materials.Spodumene
+ || aMaterial == Materials.Coal) return;
switch (aMaterial.mName) {
case "Tanzanite", "Sapphire", "Olivine", "GreenSapphire", "Opal", "Amethyst", "Emerald", "Ruby", "Amber", "Diamond", "FoolsRuby", "BlueTopaz", "GarnetRed", "Topaz", "Jasper", "GarnetYellow" -> GTValues.RA
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
index 22a0964f34..1fc6cc15e7 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
@@ -27,6 +27,9 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
OrePrefixes.dirtyGravel.add(this);
}
+ private boolean didPersulfate = false;
+ private boolean didMercury = false;
+
@Override
public void registerOre(OrePrefixes aPrefix, Materials aMaterial, String aOreDictName, String aModName,
net.minecraft.item.ItemStack aStack) {
@@ -110,18 +113,22 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.eut(48)
.addTo(thermalCentrifugeRecipes);
+ didPersulfate = false;
+ didMercury = false;
+
addChemicalBathRecipes(aMaterial, aMaterial, aStack, aPrefix);
for (Materials tMaterial : aMaterial.mOreByProducts) {
addChemicalBathRecipes(aMaterial, tMaterial, aStack, aPrefix);
}
+
}
private void addChemicalBathRecipes(Materials material, Materials byproduct, ItemStack stack, OrePrefixes prefix) {
OrePrefixes chemicalBathPrefix = prefix == OrePrefixes.crushed ? OrePrefixes.crushedPurified
: OrePrefixes.dustPure;
- if (byproduct.contains(SubTag.WASHING_MERCURY)) {
+ if (byproduct.contains(SubTag.WASHING_MERCURY) && !didMercury) {
GTValues.RA.stdBuilder()
.itemInputs(GTUtility.copyAmount(1, stack))
.itemOutputs(
@@ -133,8 +140,10 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.duration(40 * SECONDS)
.eut(8)
.addTo(chemicalBathRecipes);
+
+ didMercury = true;
}
- if (byproduct.contains(SubTag.WASHING_MERCURY_99_PERCENT)) {
+ if (byproduct.contains(SubTag.WASHING_MERCURY_99_PERCENT) && !didMercury) {
GTValues.RA.stdBuilder()
.itemInputs(GTUtility.copyAmount(1, stack))
.itemOutputs(
@@ -146,8 +155,10 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.duration(40 * SECONDS)
.eut(8)
.addTo(chemicalBathRecipes);
+
+ didMercury = true;
}
- if (byproduct.contains(SubTag.WASHING_SODIUMPERSULFATE)) {
+ if (byproduct.contains(SubTag.WASHING_SODIUMPERSULFATE) && !didPersulfate) {
GTValues.RA.stdBuilder()
.itemInputs(GTUtility.copyAmount(1, stack))
.itemOutputs(
@@ -159,6 +170,8 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.duration(40 * SECONDS)
.eut(8)
.addTo(chemicalBathRecipes);
+
+ didPersulfate = true;
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
index ce92e38f7c..9a403c4b1d 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
@@ -49,8 +49,10 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
boolean aSpecialRecipeReq = aMaterial.contains(SubTag.MORTAR_GRINDABLE);
boolean aFuelPower = aMaterial.mFuelPower > 0;
- // Blacklist materials which are handled by Werkstoff loader
- if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt || aMaterial == Materials.Spodumene) return;
+ // Blacklist materials which are handled by Werkstoff loader and nether quartz due to its 4:1 ratio
+ if (aMaterial == Materials.Salt || aMaterial == Materials.RockSalt
+ || aMaterial == Materials.Spodumene
+ || aMaterial == Materials.NetherQuartz) return;
switch (aPrefix) {
case gem -> {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
index 5bf1212faa..e6946c804a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
@@ -145,15 +145,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
GTValues.RA.stdBuilder()
.itemInputs(new ItemStack(aStack.getItem(), 1, i))
.itemOutputs(
- GTUtility.copyOrNull(tPlanks),
- GTOreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
- .fluidInputs(Materials.Lubricant.getFluid(1L))
- .duration(10 * SECONDS)
- .eut(8)
- .addTo(cutterRecipes);
- GTValues.RA.stdBuilder()
- .itemInputs(new ItemStack(aStack.getItem(), 1, i))
- .itemOutputs(
GTUtility.copyAmount(
GTMod.gregtechproxy.mNerfedWoodPlank ? tStack.stackSize : tStack.stackSize * 5 / 4,
tStack),
@@ -209,16 +200,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
if (tStack != null) {
ItemStack tPlanks = GTUtility.copyOrNull(tStack);
if (tPlanks != null) {
- tPlanks.stackSize = (tPlanks.stackSize * 3 / 2);
- GTValues.RA.stdBuilder()
- .itemInputs(GTUtility.copyAmount(1, aStack))
- .itemOutputs(
- GTUtility.copyOrNull(tPlanks),
- GTOreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
- .fluidInputs(Materials.Lubricant.getFluid(1L))
- .duration(10 * SECONDS)
- .eut(8)
- .addTo(cutterRecipes);
GTValues.RA.stdBuilder()
.itemInputs(GTUtility.copyAmount(1, aStack))
.itemOutputs(
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
index 9823582212..b66bee9764 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
@@ -205,7 +205,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
Math.max(1, aMultiplier * aMaterial.mSmeltingMultiplier / 2)));
}
- if (tCrushed != null) {
+ if (tCrushed != null && aMaterial != Materials.Knightmetal) {
GTValues.RA.stdBuilder()
.itemInputs(aOreStack)
.itemOutputs(GTUtility.copy(GTUtility.copyAmount(tCrushed.stackSize, tGem), tCrushed))
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java
index 9f90cdbfff..0f4b3d28b6 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java
@@ -147,7 +147,9 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.addTo(extruderRecipes);
}
- if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
+ if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)
+ && !(aMaterial.contains(SubTag.NO_SMELTING))
+ && aPrefix == OrePrefixes.ingot) {
if (aMaterial.mStandardMoltenFluid != null) {
if (GTOreDictUnificator.get(OrePrefixes.ring, aMaterial, 1L) != null) {
GTValues.RA.stdBuilder()