diff options
author | Dream-Master <dream-master@gmx.net> | 2017-08-02 23:06:17 +0200 |
---|---|---|
committer | Dream-Master <dream-master@gmx.net> | 2017-08-02 23:06:17 +0200 |
commit | 71ff139f3ae2f9988897a8ce18656d370d8eb0d7 (patch) | |
tree | 922a3b7d7bc15648e3da3004bad4e3c7a47b3a71 /src/main/java/gregtech/api/metatileentity | |
parent | 9f769ded41914aabd4fa0c511a07e0f62f5cf98d (diff) | |
parent | d5dfab598e52a922f7d7692e6b867217ff5b1c83 (diff) | |
download | GT5-Unofficial-71ff139f3ae2f9988897a8ce18656d370d8eb0d7.tar.gz GT5-Unofficial-71ff139f3ae2f9988897a8ce18656d370d8eb0d7.tar.bz2 GT5-Unofficial-71ff139f3ae2f9988897a8ce18656d370d8eb0d7.zip |
Merge branch 'HP-Wrough-Iron-Update' into experimental
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
-rw-r--r-- | src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java | 28 |
1 files changed, 26 insertions, 2 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 b1a74ab303..bdf198bf4c 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 @@ -14,6 +14,7 @@ import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; +import gregtech.common.items.GT_IntegratedCircuit_Item; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.item.ItemStack; @@ -631,8 +632,31 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B } protected ItemStack[] getAllInputs() { - ItemStack[] rInputs = new ItemStack[mInputSlotCount]; - for (int i = 0; i < mInputSlotCount; i++) rInputs[i] = getInputAt(i); + ItemStack[] rInputs = new ItemStack[mInputSlotCount + 1]; + boolean foundEmptySlotOrAreTwoInputsEqual = false; + boolean foundIntegratedCircuit = false; + for (int i = 0; i < mInputSlotCount; i++){ + ItemStack currentInput = getInputAt(i); + if (currentInput == null) { + foundEmptySlotOrAreTwoInputsEqual = true; + continue; + } + rInputs[i] = currentInput; + + if (!foundIntegratedCircuit && currentInput != null && currentInput.getItem() instanceof GT_IntegratedCircuit_Item) { + foundIntegratedCircuit = true; + } + if (!foundEmptySlotOrAreTwoInputsEqual) { + for (int j = 0; j < i; j++) { + if (GT_Utility.areStacksEqual(rInputs[i], rInputs[j])) { + foundEmptySlotOrAreTwoInputsEqual = true; + } + } + } + } + if (!foundIntegratedCircuit && foundEmptySlotOrAreTwoInputsEqual) { + rInputs[mInputSlotCount] = GT_Utility.getIntegratedCircuit(0); + } return rInputs; } |