diff options
author | Martin Robertz <dream-master@gmx.net> | 2021-08-07 23:11:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-07 23:11:49 +0200 |
commit | bdbdabf92eb756b886a851bfdf4a0022745c7a1d (patch) | |
tree | b428db95dc0ad6db8268684abd9f59124c3bbb97 /src/main/java/gregtech/common/tileentities | |
parent | 540ad9ce4c223a37affb24c8c1b1b0d551afe61c (diff) | |
parent | 0c5284cdff6a2bc8e9e409e61d0a290b1ea3b9d0 (diff) | |
download | GT5-Unofficial-bdbdabf92eb756b886a851bfdf4a0022745c7a1d.tar.gz GT5-Unofficial-bdbdabf92eb756b886a851bfdf4a0022745c7a1d.tar.bz2 GT5-Unofficial-bdbdabf92eb756b886a851bfdf4a0022745c7a1d.zip |
Merge pull request #629 from D-Cysteine/fix-chest-buffer-infinite-loop
Fix chest buffer infinite loop
Diffstat (limited to 'src/main/java/gregtech/common/tileentities')
2 files changed, 1 insertions, 31 deletions
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java index 9da0eace39..774639401a 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ChestBuffer.java @@ -124,22 +124,7 @@ public class GT_MetaTileEntity_ChestBuffer extends GT_MetaTileEntity_Buffer { @Override protected void fillStacksIntoFirstSlots() { sortStacks(); - // Merge small stacks together - // The last slot of mInventory is invalid, so we need to avoid iterating over it. - // Thus all max indices are reduced by 1 here. - for (int i = 0; i < this.mInventory.length - 2;) { - //GT_FML_LOGGER.info( (this.mInventory[i] == null) ? "Slot empty " + i : "Slot " + i + " holds " + this.mInventory[i].getDisplayName()); - for (int j = i + 1; j < this.mInventory.length - 1; j++) { - if ((this.mInventory[j] != null) && ((GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j])))) { - GT_Utility.moveStackFromSlotAToSlotB(getBaseMetaTileEntity(), getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, (byte) 64, (byte) 1); - //GT_FML_LOGGER.info( "Moving slot " + j + " into slot " + i ); - } - else { - i=j; - break; // No more matching items for this i, do next i - } - } - } + super.fillStacksIntoFirstSlots(); } @Override diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java index 3cf5adff99..a796ce9661 100644 --- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java +++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_ItemDistributor.java @@ -50,21 +50,6 @@ public class GT_MetaTileEntity_ItemDistributor extends GT_MetaTileEntity_Buffer } @Override - protected void fillStacksIntoFirstSlots() { - // The last slot of mInventory is invalid, so we need to avoid iterating over it. - // Thus all max indices are reduced by 1 here. - for (int i = 0; i < this.mInventory.length - 2; i++) { - for (int j = i + 1; j < this.mInventory.length - 1; j++) { - if ((this.mInventory[j] != null) - && ((this.mInventory[i] == null) || (GT_Utility.areStacksEqual(this.mInventory[i], this.mInventory[j])))) { - GT_Utility.moveStackFromSlotAToSlotB(getBaseMetaTileEntity(), getBaseMetaTileEntity(), j, i, (byte) 64, (byte) 1, - (byte) 64, (byte) 1); - } - } - } - } - - @Override public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) { return new GT_GUIContainer_ItemDistributor(aPlayerInventory, aBaseMetaTileEntity); } |