47 lines
2.4 KiB
Diff
47 lines
2.4 KiB
Diff
--- ../src-base/minecraft/net/minecraft/inventory/Container.java
|
|
+++ ../src-work/minecraft/net/minecraft/inventory/Container.java
|
|
@@ -81,9 +81,11 @@
|
|
|
|
if (!ItemStack.func_77989_b(itemstack1, itemstack))
|
|
{
|
|
+ boolean clientStackChanged = !ItemStack.areItemStacksEqualUsingNBTShareTag(itemstack1, itemstack);
|
|
itemstack1 = itemstack.func_190926_b() ? ItemStack.field_190927_a : itemstack.func_77946_l();
|
|
this.field_75153_a.set(i, itemstack1);
|
|
|
|
+ if (clientStackChanged)
|
|
for (int j = 0; j < this.field_75149_d.size(); ++j)
|
|
{
|
|
((IContainerListener)this.field_75149_d.get(j)).func_71111_a(this, i, itemstack1);
|
|
@@ -589,18 +591,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;
|
|
}
|
|
@@ -738,7 +741,7 @@
|
|
p_94525_2_.func_190920_e(1);
|
|
break;
|
|
case 2:
|
|
- p_94525_2_.func_190920_e(p_94525_2_.func_77973_b().func_77639_j());
|
|
+ p_94525_2_.func_190920_e(p_94525_2_.func_77976_d());
|
|
}
|
|
|
|
p_94525_2_.func_190917_f(p_94525_3_);
|