aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/gui
diff options
context:
space:
mode:
authorBlood-Asp <bloodasphendrik@gmail.com>2017-03-23 13:00:58 +0100
committerBlood-Asp <bloodasphendrik@gmail.com>2017-03-23 13:59:16 +0100
commit5f56c40a7590bf84f9cc121df71ef70a1b07d0e5 (patch)
treed54fc3252a753723fa62074d02b9deb5a615c278 /src/main/java/gregtech/api/gui
parent7c67f95c9301117e60bd75f053b22e7bb8a4fad3 (diff)
downloadGT5-Unofficial-5f56c40a7590bf84f9cc121df71ef70a1b07d0e5.tar.gz
GT5-Unofficial-5f56c40a7590bf84f9cc121df71ef70a1b07d0e5.tar.bz2
GT5-Unofficial-5f56c40a7590bf84f9cc121df71ef70a1b07d0e5.zip
Prevent empty batterys from stacking in battery buffer
Diffstat (limited to 'src/main/java/gregtech/api/gui')
-rw-r--r--src/main/java/gregtech/api/gui/GT_Container.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/main/java/gregtech/api/gui/GT_Container.java b/src/main/java/gregtech/api/gui/GT_Container.java
index 8eb908ecae..ff0f1cbb9f 100644
--- a/src/main/java/gregtech/api/gui/GT_Container.java
+++ b/src/main/java/gregtech/api/gui/GT_Container.java
@@ -312,10 +312,9 @@ public class GT_Container extends Container {
while (aStack.stackSize > 0 && (!par4 && var6 < aSlotCount || par4 && var6 >= aStartIndex)) {
var7 = (Slot) this.inventorySlots.get(var6);
var8 = var7.getStack();
-
if (!(var7 instanceof GT_Slot_Holo) && !(var7 instanceof GT_Slot_Output) && var8 != null && var8.getItem() == aStack.getItem() && (!aStack.getHasSubtypes() || aStack.getItemDamage() == var8.getItemDamage()) && ItemStack.areItemStackTagsEqual(aStack, var8)) {
int var9 = var8.stackSize + aStack.stackSize;
-
+ if(var8.stackSize<mTileEntity.getInventoryStackLimit()){
if (var9 <= aStack.getMaxStackSize()) {
aStack.stackSize = 0;
var8.stackSize = var9;
@@ -326,7 +325,7 @@ public class GT_Container extends Container {
var8.stackSize = aStack.getMaxStackSize();
var7.onSlotChanged();
var5 = true;
- }
+ }}
}
if (par4) {
@@ -336,7 +335,6 @@ public class GT_Container extends Container {
}
}
}
-
if (aStack.stackSize > 0) {
if (par4) {
var6 = aSlotCount - 1;
@@ -349,9 +347,10 @@ public class GT_Container extends Container {
var8 = var7.getStack();
if (var8 == null) {
- var7.putStack(GT_Utility.copy(aStack));
+ int var10 = Math.min(aStack.stackSize, mTileEntity.getInventoryStackLimit());
+ var7.putStack(GT_Utility.copyAmount(var10, aStack));
var7.onSlotChanged();
- aStack.stackSize = 0;
+ aStack.stackSize -= var10;
var5 = true;
break;
}