diff options
author | xSkewer <43712386+xSkewer@users.noreply.github.com> | 2022-08-02 20:11:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-03 01:11:45 +0100 |
commit | 04e48b02f1e27a446d6f0c5194557e047b01c49b (patch) | |
tree | 77273f64d0651f180061907f15ec3b69544b12d3 /src/main/java/gtPlusPlus/xmod/gregtech/common | |
parent | 784aece1dc8d84b8c351c88163b66ba8626aca23 (diff) | |
download | GT5-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.java | 31 |
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)); |