aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util
diff options
context:
space:
mode:
authorBlueWeabo <ilia.iliev2005@gmail.com>2023-02-26 14:57:09 +0200
committerGitHub <noreply@github.com>2023-02-26 13:57:09 +0100
commit3175e64e7201fe2f8765e54156f26d684b11276b (patch)
tree303cfbf4940d36152237aa460a6b0898c974ae85 /src/main/java/gregtech/api/util
parent7f0c2e39d7e73b1301cdd881d93e1324312262ec (diff)
downloadGT5-Unofficial-3175e64e7201fe2f8765e54156f26d684b11276b.tar.gz
GT5-Unofficial-3175e64e7201fe2f8765e54156f26d684b11276b.tar.bz2
GT5-Unofficial-3175e64e7201fe2f8765e54156f26d684b11276b.zip
fix (#1773)
Diffstat (limited to 'src/main/java/gregtech/api/util')
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java88
1 files changed, 56 insertions, 32 deletions
diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
index 81d11ad7f2..0b881ce477 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
@@ -193,18 +193,22 @@ public class GT_RecipeRegistrator {
// }
RA.addFluidSmelterRecipe(
GT_Utility.copyAmount(1, aStack),
- aByproduct == null ? null
- : aByproduct.mMaterial.contains(SubTag.NO_SMELTING)
- || !aByproduct.mMaterial.contains(SubTag.METAL)
- ? aByproduct.mMaterial.contains(SubTag.FLAMMABLE)
- ? GT_OreDictUnificator.getDust(Materials.Ash, aByproduct.mAmount / 2)
- : aByproduct.mMaterial.contains(SubTag.UNBURNABLE)
- ? GT_OreDictUnificator.getDustOrIngot(
- aByproduct.mMaterial.mSmeltInto,
- aByproduct.mAmount)
- : null
- : GT_OreDictUnificator
- .getIngotOrDust(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount),
+ aByproduct == null
+ || (tData != null && tData.hasValidPrefixData() && tData.mPrefix == OrePrefixes.toolHeadDrill)
+ ? null
+ : aByproduct.mMaterial.contains(SubTag.NO_SMELTING)
+ || !aByproduct.mMaterial.contains(SubTag.METAL)
+ ? aByproduct.mMaterial.contains(SubTag.FLAMMABLE)
+ ? GT_OreDictUnificator
+ .getDust(Materials.Ash, aByproduct.mAmount / 2)
+ : aByproduct.mMaterial.contains(SubTag.UNBURNABLE)
+ ? GT_OreDictUnificator.getDustOrIngot(
+ aByproduct.mMaterial.mSmeltInto,
+ aByproduct.mAmount)
+ : null
+ : GT_OreDictUnificator.getIngotOrDust(
+ aByproduct.mMaterial.mSmeltInto,
+ aByproduct.mAmount),
aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)),
10000,
(int) Math.max(1, (24 * aMaterialAmount) / M),
@@ -307,16 +311,26 @@ public class GT_RecipeRegistrator {
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();
boolean tHide = !tIron && GT_Mod.gregtechproxy.mHideRecyclingRecipes;
- RA.addArcFurnaceRecipe(
- aStack,
- new ItemStack[] { GT_OreDictUnificator.getIngotOrDust(aData.mMaterial),
- GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(0)),
- GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(1)),
- GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(2)) },
- null,
- (int) Math.max(16, tAmount / M),
- 90,
- tHide);
+ if (aData.mPrefix == OrePrefixes.toolHeadDrill) {
+ RA.addArcFurnaceRecipe(
+ aStack,
+ new ItemStack[] { GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) },
+ null,
+ 90,
+ (int) Math.max(16, tAmount / M),
+ tHide);
+ } else {
+ RA.addArcFurnaceRecipe(
+ aStack,
+ new ItemStack[] { GT_OreDictUnificator.getIngotOrDust(aData.mMaterial),
+ GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(0)),
+ GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(1)),
+ GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(2)) },
+ null,
+ (int) Math.max(16, tAmount / M),
+ 90,
+ tHide);
+ }
}
public static void registerReverseMacerating(ItemStack aStack, Materials aMaterial, long aMaterialAmount,
@@ -348,16 +362,26 @@ public class GT_RecipeRegistrator {
for (MaterialStack tMaterial : aData.getAllMaterialStacks())
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();
boolean tHide = (aData.mMaterial.mMaterial != Materials.Iron) && (GT_Mod.gregtechproxy.mHideRecyclingRecipes);
- RA.addPulveriserRecipe(
- aStack,
- new ItemStack[] { GT_OreDictUnificator.getDust(aData.mMaterial),
- GT_OreDictUnificator.getDust(aData.getByProduct(0)),
- GT_OreDictUnificator.getDust(aData.getByProduct(1)),
- GT_OreDictUnificator.getDust(aData.getByProduct(2)) },
- null,
- aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M),
- 4,
- tHide);
+ if (aData.mPrefix == OrePrefixes.toolHeadDrill) {
+ RA.addPulveriserRecipe(
+ aStack,
+ new ItemStack[] { GT_OreDictUnificator.getDust(aData.mMaterial) },
+ null,
+ aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M),
+ 4,
+ tHide);
+ } else {
+ RA.addPulveriserRecipe(
+ aStack,
+ new ItemStack[] { GT_OreDictUnificator.getDust(aData.mMaterial),
+ GT_OreDictUnificator.getDust(aData.getByProduct(0)),
+ GT_OreDictUnificator.getDust(aData.getByProduct(1)),
+ GT_OreDictUnificator.getDust(aData.getByProduct(2)) },
+ null,
+ aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M),
+ 4,
+ tHide);
+ }
if (aAllowHammer) for (MaterialStack tMaterial : aData.getAllMaterialStacks())
if (tMaterial.mMaterial.contains(SubTag.CRYSTAL) && !tMaterial.mMaterial.contains(SubTag.METAL)