aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech/common
diff options
context:
space:
mode:
authorxSkewer <43712386+xSkewer@users.noreply.github.com>2022-08-02 20:11:45 -0400
committerGitHub <noreply@github.com>2022-08-03 01:11:45 +0100
commit04e48b02f1e27a446d6f0c5194557e047b01c49b (patch)
tree77273f64d0651f180061907f15ec3b69544b12d3 /src/main/java/gtPlusPlus/xmod/gregtech/common
parent784aece1dc8d84b8c351c88163b66ba8626aca23 (diff)
downloadGT5-Unofficial-04e48b02f1e27a446d6f0c5194557e047b01c49b.tar.gz
GT5-Unofficial-04e48b02f1e27a446d6f0c5194557e047b01c49b.tar.bz2
GT5-Unofficial-04e48b02f1e27a446d6f0c5194557e047b01c49b.zip
Fix recipe check for ABS input bus separation (#259)
* Do recipe check for each input bus * Code cleanup
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/common')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java31
1 files changed, 13 insertions, 18 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
index 2912ce4c5e..0eb37611ed 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java
@@ -242,6 +242,12 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter extends GregtechMeta_Multi
ArrayList<ItemStack> tInputList = null;
//Get Controller Circuit
this.isUsingControllerCircuit = isCorrectMachinePart(aStack);
+
+ final long tVoltage = this.getMaxInputVoltage();
+ final byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
+ ItemStack[] tInputs = null;
+ final FluidStack[] tFluids = getCompactedFluids();
+ GT_Recipe tRecipe = null;
if (isBussesSeparate) {
for (GT_MetaTileEntity_Hatch_InputBus tBus : mInputBusses) {
@@ -255,6 +261,11 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter extends GregtechMeta_Multi
}
}
}
+ tInputs = tInputList.toArray(new ItemStack[0]);
+ tRecipe = GTPP_Recipe.GTPP_Recipe_Map.sAlloyBlastSmelterRecipes.findRecipe(this.getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
+ if ((tRecipe != null)) {
+ break;
+ }
}
} else {
tInputList = this.getStoredInputs();
@@ -270,8 +281,9 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter extends GregtechMeta_Multi
}
}
}
+ tInputs = tInputList.toArray(new ItemStack[0]);
+ tRecipe = GTPP_Recipe.GTPP_Recipe_Map.sAlloyBlastSmelterRecipes.findRecipe(this.getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
}
- final ItemStack[] tInputs = Arrays.copyOfRange(tInputList.toArray(new ItemStack[tInputList.size()]), 0, tInputList.size());
//Validity check
if ((isUsingControllerCircuit && tInputList.size() < 1) || (!isUsingControllerCircuit && tInputList.size() < 2)) {
@@ -282,24 +294,7 @@ public class GregtechMetaTileEntity_AlloyBlastSmelter extends GregtechMeta_Multi
tInputList.add(CI.getNumberedCircuit(this.mMode));
}
- final ArrayList<FluidStack> tFluidList = this.getStoredFluids();
- for (int i = 0; i < (tFluidList.size() - 1); i++) {
- for (int j = i + 1; j < tFluidList.size(); j++) {
- if (GT_Utility.areFluidsEqual(tFluidList.get(i), tFluidList.get(j))) {
- if (tFluidList.get(i).amount >= tFluidList.get(j).amount) {
- tFluidList.remove(j--);
- } else {
- tFluidList.remove(i--);
- break;
- }
- }
- }
- }
- final FluidStack[] tFluids = Arrays.copyOfRange(tFluidList.toArray(new FluidStack[tInputList.size()]), 0, 1);
if (tInputList.size() > 1) {
- final long tVoltage = this.getMaxInputVoltage();
- final byte tTier = (byte) Math.max(1, GT_Utility.getTier(tVoltage));
- final GT_Recipe tRecipe = GTPP_Recipe.GTPP_Recipe_Map.sAlloyBlastSmelterRecipes.findRecipe(this.getBaseMetaTileEntity(), false, gregtech.api.enums.GT_Values.V[tTier], tFluids, tInputs);
if ((tRecipe != null) && (tRecipe.isRecipeInputEqual(true, tFluids, tInputs))) {
Logger.WARNING("Found some Valid Inputs.");
this.mEfficiency = (10000 - ((this.getIdealStatus() - this.getRepairStatus()) * 1000));