aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKalle <kalle.last@gmail.com>2020-07-31 19:05:52 +0300
committerKalle <kalle.last@gmail.com>2020-07-31 19:07:35 +0300
commite703df6cde3a293222702e7c7cc3109c1e5a6289 (patch)
treeb66d9a0b6e4655ba85dbaa28c057e166c596c46c
parent2fc039b454f70ac4422b5683ba005171ae5de97a (diff)
downloadGT5-Unofficial-e703df6cde3a293222702e7c7cc3109c1e5a6289.tar.gz
GT5-Unofficial-e703df6cde3a293222702e7c7cc3109c1e5a6289.tar.bz2
GT5-Unofficial-e703df6cde3a293222702e7c7cc3109c1e5a6289.zip
Better optimization for moving items between inventories.
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index 6798b5434d..6df77f16bf 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -559,16 +559,14 @@ public class GT_Utility {
for (int i = 0; i < tGrabSlots.length; i++) {
byte tMovedItemCount = 0;
-
- if (listContainsItem(aFilter, aTileEntity1.getStackInSlot(tGrabSlots[i]), true, aInvertFilter)) {
- ItemStack tGrabStack = aTileEntity1.getStackInSlot(tGrabSlots[i]);
- for (int j = 0; j < tPutSlots.length; j++) {
- if (isAllowedToTakeFromSlot(aTileEntity1, tGrabSlots[i], aGrabFrom, tGrabStack)) {
+ ItemStack tGrabStack = aTileEntity1.getStackInSlot(tGrabSlots[i]);
+ if (listContainsItem(aFilter, tGrabStack, true, aInvertFilter)) {
+ if (isAllowedToTakeFromSlot(aTileEntity1, tGrabSlots[i], aGrabFrom, tGrabStack)) {
+ for (int j = 0; j < tPutSlots.length; j++) {
if (isAllowedToPutIntoSlot((IInventory) aTileEntity2, tPutSlots[j], aPutTo, tGrabStack, aMaxTargetStackSize)) {
- tMovedItemCount += moveStackFromSlotAToSlotB(aTileEntity1, (IInventory) aTileEntity2, tGrabSlots[i], tPutSlots[j], aMaxTargetStackSize, aMinTargetStackSize, (byte) (aMaxMoveAtOnce - tMovedItemCount), aMinMoveAtOnce);
+ tMovedItemCount += moveStackFromSlotAToSlotB(aTileEntity1, (IInventory) aTileEntity2, tGrabSlots[i], tPutSlots[j], aMaxTargetStackSize, aMinTargetStackSize, (byte) (aMaxMoveAtOnce - tMovedItemCount), aMinMoveAtOnce);
if (tMovedItemCount >= aMaxMoveAtOnce) {
return tMovedItemCount;
-
}
}
}