diff --git a/patches/minecraft/net/minecraft/inventory/Container.java.patch b/patches/minecraft/net/minecraft/inventory/Container.java.patch index 67669e778c..1741ee26d0 100644 --- a/patches/minecraft/net/minecraft/inventory/Container.java.patch +++ b/patches/minecraft/net/minecraft/inventory/Container.java.patch @@ -1,6 +1,30 @@ --- ../src-base/minecraft/net/minecraft/inventory/Container.java +++ ../src-work/minecraft/net/minecraft/inventory/Container.java -@@ -708,7 +708,7 @@ +@@ -578,18 +578,19 @@ + if (!itemstack.func_190926_b() && itemstack.func_77973_b() == p_75135_1_.func_77973_b() && (!p_75135_1_.func_77981_g() || p_75135_1_.func_77960_j() == itemstack.func_77960_j()) && ItemStack.func_77970_a(p_75135_1_, itemstack)) + { + int j = itemstack.func_190916_E() + p_75135_1_.func_190916_E(); ++ int maxSize = Math.min(slot.func_75219_a(), p_75135_1_.func_77976_d()); + +- if (j <= p_75135_1_.func_77976_d()) ++ if (j <= maxSize) + { + p_75135_1_.func_190920_e(0); + itemstack.func_190920_e(j); + slot.func_75218_e(); + flag = true; + } +- else if (itemstack.func_190916_E() < p_75135_1_.func_77976_d()) ++ else if (itemstack.func_190916_E() < maxSize) + { +- p_75135_1_.func_190918_g(p_75135_1_.func_77976_d() - itemstack.func_190916_E()); +- itemstack.func_190920_e(p_75135_1_.func_77976_d()); ++ p_75135_1_.func_190918_g(maxSize - itemstack.func_190916_E()); ++ itemstack.func_190920_e(maxSize); + slot.func_75218_e(); + flag = true; + } +@@ -708,7 +709,7 @@ p_94525_2_.func_190920_e(1); break; case 2: diff --git a/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch b/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch index 0c55b32a63..4ff44b321f 100644 --- a/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch +++ b/patches/minecraft/net/minecraft/inventory/ContainerBeacon.java.patch @@ -1,6 +1,21 @@ --- ../src-base/minecraft/net/minecraft/inventory/ContainerBeacon.java +++ ../src-work/minecraft/net/minecraft/inventory/ContainerBeacon.java -@@ -145,8 +145,7 @@ +@@ -90,12 +90,9 @@ + + slot.func_75220_a(itemstack1, itemstack); + } +- else if (!this.field_82864_f.func_75216_d() && this.field_82864_f.func_75214_a(itemstack1) && itemstack1.func_190916_E() == 1) ++ else if (this.func_75135_a(itemstack1, 0, 1, false)) //Forge Fix Shift Clicking in beacons with stacks larger then 1. + { +- if (!this.func_75135_a(itemstack1, 0, 1, false)) +- { +- return ItemStack.field_190927_a; +- } ++ return ItemStack.field_190927_a; + } + else if (p_82846_2_ >= 1 && p_82846_2_ < 28) + { +@@ -145,8 +142,7 @@ public boolean func_75214_a(ItemStack p_75214_1_) { diff --git a/src/main/java/net/minecraftforge/items/SlotItemHandler.java b/src/main/java/net/minecraftforge/items/SlotItemHandler.java index efaed42cb2..71ae290229 100644 --- a/src/main/java/net/minecraftforge/items/SlotItemHandler.java +++ b/src/main/java/net/minecraftforge/items/SlotItemHandler.java @@ -87,6 +87,12 @@ public class SlotItemHandler extends Slot } + @Override + public int getSlotStackLimit() + { + return this.itemHandler.getSlotLimit(this.index); + } + @Override public int getItemStackLimit(@Nonnull ItemStack stack) {