diff options
author | Johannes Gäßler <updrn@student.kit.edu> | 2017-08-01 11:20:55 +0200 |
---|---|---|
committer | Johannes Gäßler <updrn@student.kit.edu> | 2017-08-01 11:20:55 +0200 |
commit | 4bfbdcdb1dea4d4e4786e351b591096fb7646351 (patch) | |
tree | 7cee5496e2d9e71a654c0cb13e4f83023dd05750 /src/main/java/gregtech/api/metatileentity/implementations | |
parent | ecf7b4aa504315528810f3a66867788810b00ab0 (diff) | |
download | GT5-Unofficial-4bfbdcdb1dea4d4e4786e351b591096fb7646351.tar.gz GT5-Unofficial-4bfbdcdb1dea4d4e4786e351b591096fb7646351.tar.bz2 GT5-Unofficial-4bfbdcdb1dea4d4e4786e351b591096fb7646351.zip |
Made it so that if two inputs are equal an Integr. Circuit (0) is added
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity/implementations')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java index 545c41ec97..2980a22a47 100644 --- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java +++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java @@ -602,24 +602,29 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B } protected ItemStack[] getAllInputs() { - ItemStack[] rInputs = new ItemStack[mInputSlotCount]; - int emptySlotLocation = -1; + ItemStack[] rInputs = new ItemStack[mInputSlotCount + 1]; + boolean foundEmptySlotOrAreTwoInputsEqual = false; boolean foundIntegratedCircuit = false; for (int i = 0; i < mInputSlotCount; i++){ ItemStack currentInput = getInputAt(i); - if (emptySlotLocation == -1) { - if (currentInput == null) { - emptySlotLocation = i; - continue; - } - } + if (currentInput == null) { + foundEmptySlotOrAreTwoInputsEqual = true; + continue; + } + rInputs[i] = currentInput; if (!foundIntegratedCircuit && currentInput != null && currentInput.getItem() instanceof GT_IntegratedCircuit_Item) { foundIntegratedCircuit = true; } - rInputs[i] = currentInput; + if (!foundEmptySlotOrAreTwoInputsEqual) { + for (int j = 0; j < i; j++) { + if (GT_Utility.areStacksEqual(rInputs[i], rInputs[j])) { + foundEmptySlotOrAreTwoInputsEqual = true; + } + } + } } - if (emptySlotLocation != -1 && !foundIntegratedCircuit) { - rInputs[emptySlotLocation] = GT_Utility.getIntegratedCircuit(0); + if (!foundIntegratedCircuit && foundEmptySlotOrAreTwoInputsEqual) { + rInputs[mInputSlotCount] = GT_Utility.getIntegratedCircuit(0); } return rInputs; } |