aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity/implementations
diff options
context:
space:
mode:
authorDream-Master <dream-master@gmx.net>2017-08-01 23:00:12 +0200
committerDream-Master <dream-master@gmx.net>2017-08-01 23:00:12 +0200
commitbbb249b3ba869a8c5caab4274099e6aad2ce3add (patch)
treeaffc8ae983b6f3897ba9fd3147269fa3c942ea9e /src/main/java/gregtech/api/metatileentity/implementations
parentc5417f20ceafea8e8dabb40afbc64e6d6b6b61b8 (diff)
downloadGT5-Unofficial-bbb249b3ba869a8c5caab4274099e6aad2ce3add.tar.gz
GT5-Unofficial-bbb249b3ba869a8c5caab4274099e6aad2ce3add.tar.bz2
GT5-Unofficial-bbb249b3ba869a8c5caab4274099e6aad2ce3add.zip
cherry pick
Commit: 4bfbdcdb1dea4d4e4786e351b591096fb7646351 [4bfbdcd] 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.java31
1 files changed, 18 insertions, 13 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 0a31298df9..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
@@ -632,26 +632,31 @@ 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 (!foundIntegratedCircuit && foundEmptySlotOrAreTwoInputsEqual) {
+ rInputs[mInputSlotCount] = GT_Utility.getIntegratedCircuit(0);
}
- if (emptySlotLocation != -1 && !foundIntegratedCircuit) {
- rInputs[emptySlotLocation] = GT_Utility.getIntegratedCircuit(0);
- }
return rInputs;
}