aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/metatileentity
diff options
context:
space:
mode:
authorMartin Robertz <dream-master@gmx.net>2021-07-31 13:15:33 +0200
committerGitHub <noreply@github.com>2021-07-31 13:15:33 +0200
commit550343a732972184bc488451ae639c620988c972 (patch)
treed09c635665eab2a87d6c02cbfe074c212602b82f /src/main/java/gregtech/api/metatileentity
parent21d12f02a40be714442864d72c5060bf60c7525a (diff)
parent2e47483ecf90b8bb6e12aaa8849980bde597a1d4 (diff)
downloadGT5-Unofficial-550343a732972184bc488451ae639c620988c972.tar.gz
GT5-Unofficial-550343a732972184bc488451ae639c620988c972.tar.bz2
GT5-Unofficial-550343a732972184bc488451ae639c620988c972.zip
Merge pull request #614 from D-Cysteine/fix-iteration-slots
Fix iteration over invalid slots
Diffstat (limited to 'src/main/java/gregtech/api/metatileentity')
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java
index 7f9e21ff65..faea347c67 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Buffer.java
@@ -330,10 +330,20 @@ public abstract class GT_MetaTileEntity_Buffer extends GT_MetaTileEntity_TieredM
protected void fillStacksIntoFirstSlots() {
if (bSortStacks) {
- for (int i = 0; i < mInventory.length; i++)
- for (int j = i + 1; j < mInventory.length; j++)
+ for (int i = 0; i < mInventory.length - 1; i++) {
+ if (!isValidSlot(i)) {
+ continue;
+ }
+
+ for (int j = i + 1; j < mInventory.length; j++) {
+ if (!isValidSlot(j)) {
+ continue;
+ }
+
if (mInventory[j] != null && (mInventory[i] == null || GT_Utility.areStacksEqual(mInventory[i], mInventory[j])))
GT_Utility.moveStackFromSlotAToSlotB(getBaseMetaTileEntity(), getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
+ }
+ }
}
}