Skip to content

Commit

Permalink
Merge remote-tracking branch 'chochem/various-RA2-fixes' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
Dream-Master committed May 14, 2023
2 parents 4fc648a + bd49dfc commit 6fe3d6c
Show file tree
Hide file tree
Showing 3 changed files with 218 additions and 234 deletions.
1 change: 0 additions & 1 deletion src/main/java/gregtech/api/enums/OrePrefixes.java
Original file line number Diff line number Diff line change
Expand Up @@ -970,7 +970,6 @@ public enum OrePrefixes {
oreRich.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount * 2);
ore.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
crushed.mSecondaryMaterial = new MaterialStack(Materials.Stone, dust.mMaterialAmount);
toolHeadDrill.mSecondaryMaterial = new MaterialStack(Materials.Steel, plate.mMaterialAmount * 4);
toolHeadChainsaw.mSecondaryMaterial = new MaterialStack(
Materials.Steel,
plate.mMaterialAmount * 4 + ring.mMaterialAmount * 2);
Expand Down
74 changes: 25 additions & 49 deletions src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,8 @@ public static void registerReverseFluidSmelting(ItemStack aStack, Materials aMat
// }
RA.addFluidSmelterRecipe(
GT_Utility.copyAmount(1, aStack),
aByproduct == null
|| (tData != null && tData.hasValidPrefixData() && tData.mPrefix == OrePrefixes.toolHeadDrill)
aByproduct
== null
? null
: aByproduct.mMaterial.contains(SubTag.NO_SMELTING) || !aByproduct.mMaterial.contains(SubTag.METAL)
? aByproduct.mMaterial.contains(SubTag.FLAMMABLE)
Expand Down Expand Up @@ -305,11 +305,20 @@ public static void registerReverseArcSmelting(ItemStack aStack, ItemData aData)
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();

boolean tHide = !tIron && GT_Mod.gregtechproxy.mHideRecyclingRecipes;
if (aData.mPrefix == OrePrefixes.toolHeadDrill) {
ArrayList<ItemStack> outputs = new ArrayList<ItemStack>();
if (GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) != null) {
outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial));
}
for (int i = 0; i < 8; i++) {
if (GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)) != null) {
outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)));
}
}
if (outputs.size() != 0) {
ItemStack[] outputsArray = outputs.toArray(new ItemStack[outputs.size()]);
GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();

recipeBuilder.itemInputs(aStack)
.itemOutputs(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial))
.itemOutputs(outputsArray)
.fluidInputs(Materials.Oxygen.getGas((int) Math.max(16, tAmount / M)))
.noFluidOutputs()
.duration(((int) Math.max(16, tAmount / M)) * TICKS)
Expand All @@ -318,31 +327,8 @@ public static void registerReverseArcSmelting(ItemStack aStack, ItemData aData)
recipeBuilder.hidden();
}
recipeBuilder.addTo(UniversalArcFurnace);
} else {
ArrayList<ItemStack> outputs = new ArrayList<ItemStack>();
if (GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) != null) {
outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial));
}
for (int i = 0; i < 8; i++) {
if (GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)) != null) {
outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)));
}
}
if (outputs.size() != 0) {
ItemStack[] outputsArray = outputs.toArray(new ItemStack[outputs.size()]);
GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
recipeBuilder.itemInputs(aStack)
.itemOutputs(outputsArray)
.fluidInputs(Materials.Oxygen.getGas((int) Math.max(16, tAmount / M)))
.noFluidOutputs()
.duration(((int) Math.max(16, tAmount / M)) * TICKS)
.eut(90);
if (tHide) {
recipeBuilder.hidden();
}
recipeBuilder.addTo(UniversalArcFurnace);
}
}

}

public static void registerReverseMacerating(ItemStack aStack, Materials aMaterial, long aMaterialAmount,
Expand Down Expand Up @@ -374,26 +360,16 @@ public static void registerReverseMacerating(ItemStack aStack, ItemData aData, b
for (MaterialStack tMaterial : aData.getAllMaterialStacks())
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();
boolean tHide = (aData.mMaterial.mMaterial != Materials.Iron) && (GT_Mod.gregtechproxy.mHideRecyclingRecipes);
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);
}
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) {
return;
Expand Down
Loading

0 comments on commit 6fe3d6c

Please sign in to comment.