aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity
diff options
context:
space:
mode:
authorDream-Master <dream-master@gmx.net>2017-08-02 23:06:17 +0200
committerDream-Master <dream-master@gmx.net>2017-08-02 23:06:17 +0200
commit71ff139f3ae2f9988897a8ce18656d370d8eb0d7 (patch)
tree922a3b7d7bc15648e3da3004bad4e3c7a47b3a71 /src/main/java/gregtech/api/metatileentity
parent9f769ded41914aabd4fa0c511a07e0f62f5cf98d (diff)
parentd5dfab598e52a922f7d7692e6b867217ff5b1c83 (diff)
downloadGT5-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.java28
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;
}