Fixes interface shift-clicking to generate correct onChangeInventory events (#3544)
This commit is contained in:
@@ -436,6 +436,8 @@ public abstract class AEBaseContainer extends Container
|
||||
}
|
||||
else
|
||||
{
|
||||
tis = tis.copy();
|
||||
|
||||
// target slots in the container...
|
||||
for( final Object inventorySlot : this.inventorySlots )
|
||||
{
|
||||
@@ -496,7 +498,7 @@ public abstract class AEBaseContainer extends Container
|
||||
{
|
||||
if( d.getHasStack() )
|
||||
{
|
||||
final ItemStack t = d.getStack();
|
||||
final ItemStack t = d.getStack().copy();
|
||||
|
||||
if( Platform.itemComparisons().isSameItem( tis, t ) ) // t.isItemEqual(tis))
|
||||
{
|
||||
@@ -516,6 +518,8 @@ public abstract class AEBaseContainer extends Container
|
||||
t.setCount( t.getCount() + placeAble );
|
||||
tis.setCount( tis.getCount() - placeAble );
|
||||
|
||||
d.putStack( t );
|
||||
|
||||
if( tis.getCount() <= 0 )
|
||||
{
|
||||
clickSlot.putStack( ItemStack.EMPTY );
|
||||
@@ -548,7 +552,7 @@ public abstract class AEBaseContainer extends Container
|
||||
{
|
||||
if( d.getHasStack() )
|
||||
{
|
||||
final ItemStack t = d.getStack();
|
||||
final ItemStack t = d.getStack().copy();
|
||||
|
||||
if( Platform.itemComparisons().isSameItem( t, tis ) )
|
||||
{
|
||||
@@ -568,6 +572,8 @@ public abstract class AEBaseContainer extends Container
|
||||
t.setCount( t.getCount() + placeAble );
|
||||
tis.setCount( tis.getCount() - placeAble );
|
||||
|
||||
d.putStack( t );
|
||||
|
||||
if( tis.getCount() <= 0 )
|
||||
{
|
||||
clickSlot.putStack( ItemStack.EMPTY );
|
||||
@@ -626,7 +632,7 @@ public abstract class AEBaseContainer extends Container
|
||||
}
|
||||
}
|
||||
|
||||
clickSlot.putStack( !tis.isEmpty() ? tis.copy() : ItemStack.EMPTY );
|
||||
clickSlot.putStack( !tis.isEmpty() ? tis : ItemStack.EMPTY );
|
||||
}
|
||||
|
||||
this.updateSlot( clickSlot );
|
||||
|
||||
Reference in New Issue
Block a user