Use ContainerSetSlotPacket instead of ContainerSetContentsPacket

This commit is contained in:
Shoghi Cervantes 2015-03-13 10:25:48 +01:00
parent 7f9aad6840
commit 1ce7cc64a6

View File

@ -146,9 +146,7 @@ class PlayerInventory extends BaseInventory{
foreach($target as $player){ foreach($target as $player){
if($player === $this->getHolder()){ if($player === $this->getHolder()){
//TODO: Check if Mojang enabled sending a single slot this $this->sendSlot($this->getHeldItemSlot());
//$this->sendSlot($this->getHeldItemSlot());
$this->sendContents($player);
}else{ }else{
$player->dataPacket($pk); $player->dataPacket($pk);
} }
@ -393,9 +391,6 @@ class PlayerInventory extends BaseInventory{
foreach($target as $player){ foreach($target as $player){
if($player === $this->getHolder()){ if($player === $this->getHolder()){
/** @var Player $player */ /** @var Player $player */
//$pk2 = clone $pk;
//$pk2->eid = 0;
$pk2 = new ContainerSetSlotPacket(); $pk2 = new ContainerSetSlotPacket();
$pk2->windowid = 0x78; //Armor window id constant $pk2->windowid = 0x78; //Armor window id constant
$pk2->slot = $index; $pk2->slot = $index;
@ -454,7 +449,8 @@ class PlayerInventory extends BaseInventory{
foreach($target as $player){ foreach($target as $player){
if($player === $this->getHolder()){ if($player === $this->getHolder()){
/** @var Player $player */ /** @var Player $player */
$this->sendContents($player); //#blamemojang $pk->windowid = 0;
$player->dataPacket(clone $pk);
}else{ }else{
if(($id = $player->getWindowId($this)) === -1){ if(($id = $player->getWindowId($this)) === -1){
$this->close($player); $this->close($player);
@ -473,4 +469,4 @@ class PlayerInventory extends BaseInventory{
return parent::getHolder(); return parent::getHolder();
} }
} }