diff --git a/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java index 6a41634830..26cac44d99 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/InvWrapper.java @@ -80,6 +80,9 @@ public class InvWrapper implements IItemHandlerModifiable int m; if (!stackInSlot.isEmpty()) { + if (stackInSlot.getCount() >= Math.min(stackInSlot.getMaxStackSize(), getSlotLimit(slot))) + return stack; + if (!ItemHandlerHelper.canItemStacksStack(stack, stackInSlot)) return stack; diff --git a/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java b/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java index 641c407e4b..d185bbd649 100644 --- a/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java +++ b/src/main/java/net/minecraftforge/items/wrapper/SidedInvWrapper.java @@ -98,10 +98,13 @@ public class SidedInvWrapper implements IItemHandlerModifiable int m; if (!stackInSlot.isEmpty()) { + if (stackInSlot.getCount() >= Math.min(stackInSlot.getMaxStackSize(), getSlotLimit(slot))) + return stack; + if (!ItemHandlerHelper.canItemStacksStack(stack, stackInSlot)) return stack; - if (!inv.isItemValidForSlot(slot1, stack) || !inv.canInsertItem(slot1, stack, side)) + if (!inv.canInsertItem(slot1, stack, side) || !inv.isItemValidForSlot(slot1, stack)) return stack; m = Math.min(stack.getMaxStackSize(), getSlotLimit(slot)) - stackInSlot.getCount(); @@ -137,7 +140,7 @@ public class SidedInvWrapper implements IItemHandlerModifiable } else { - if (!inv.isItemValidForSlot(slot1, stack) || !inv.canInsertItem(slot1, stack, side)) + if (!inv.canInsertItem(slot1, stack, side) || !inv.isItemValidForSlot(slot1, stack)) return stack; m = Math.min(stack.getMaxStackSize(), getSlotLimit(slot));