Fixed issue with Terminal Inventories on Servers.

This commit is contained in:
AlgorithmX2
2014-02-09 18:56:35 -06:00
parent bc9cc1b9f3
commit 9f26cc0b43
3 changed files with 37 additions and 7 deletions
+23 -6
View File
@@ -1,5 +1,6 @@
package appeng.container;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -37,10 +38,14 @@ import appeng.container.slot.SlotFake;
import appeng.container.slot.SlotInaccessable;
import appeng.container.slot.SlotPlayerHotBar;
import appeng.container.slot.SlotPlayerInv;
import appeng.core.AELog;
import appeng.core.sync.network.NetworkHandler;
import appeng.core.sync.packets.PacketInventoryAction;
import appeng.helpers.InventoryAction;
import appeng.util.InventoryAdaptor;
import appeng.util.Platform;
import appeng.util.inv.AdaptorPlayerHand;
import appeng.util.item.AEItemStack;
public abstract class AEBaseContainer extends Container
{
@@ -556,7 +561,7 @@ public abstract class AEBaseContainer extends Container
if ( fail != null )
cellInv.injectItems( ais, Actionable.MODULATE, mySrc );
player.updateHeldItem();
updateHeld( player );
}
}
break;
@@ -575,7 +580,7 @@ public abstract class AEBaseContainer extends Container
player.inventory.setItemStack( ais.getItemStack() );
else
player.inventory.setItemStack( null );
player.updateHeldItem();
updateHeld( player );
}
}
else
@@ -586,7 +591,7 @@ public abstract class AEBaseContainer extends Container
player.inventory.setItemStack( ais.getItemStack() );
else
player.inventory.setItemStack( null );
player.updateHeldItem();
updateHeld( player );
}
break;
@@ -606,7 +611,7 @@ public abstract class AEBaseContainer extends Container
player.inventory.setItemStack( ais.getItemStack() );
else
player.inventory.setItemStack( null );
player.updateHeldItem();
updateHeld( player );
}
}
else
@@ -620,7 +625,7 @@ public abstract class AEBaseContainer extends Container
is.stackSize--;
if ( is.stackSize <= 0 )
player.inventory.setItemStack( null );
player.updateHeldItem();
updateHeld( player );
}
}
@@ -631,7 +636,7 @@ public abstract class AEBaseContainer extends Container
ItemStack is = slotItem.getItemStack();
is.stackSize = is.getMaxStackSize();
player.inventory.setItemStack( is );
player.updateHeldItem();
updateHeld( player );
}
break;
case MOVE_REGION:
@@ -641,4 +646,16 @@ public abstract class AEBaseContainer extends Container
}
}
private void updateHeld(EntityPlayerMP p)
{
try
{
NetworkHandler.instance.sendTo( new PacketInventoryAction( InventoryAction.UPDATE_HAND, 0, AEItemStack.create( p.inventory.getItemStack() ) ), p );
}
catch (IOException e)
{
AELog.error( e );
}
}
}