Players now have entity id 0

This commit is contained in:
Shoghi Cervantes
2015-06-19 14:40:05 +02:00
parent b856e5e909
commit f7ec1de0fd
7 changed files with 108 additions and 55 deletions

View File

@ -51,7 +51,7 @@ class ChestInventory extends ContainerInventory{
$pk->case1 = 1;
$pk->case2 = 2;
if(($level = $this->getHolder()->getLevel()) instanceof Level){
Server::broadcastPacket($level->getChunkPlayers($this->getHolder()->getX() >> 4, $this->getHolder()->getZ() >> 4), $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
$level->addChunkPacket($this->getHolder()->getX() >> 4, $this->getHolder()->getZ() >> 4, $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
}
}
}
@ -65,7 +65,7 @@ class ChestInventory extends ContainerInventory{
$pk->case1 = 1;
$pk->case2 = 0;
if(($level = $this->getHolder()->getLevel()) instanceof Level){
Server::broadcastPacket($level->getChunkPlayers($this->getHolder()->getX() >> 4, $this->getHolder()->getZ() >> 4), $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
$level->addChunkPacket($this->getHolder()->getX() >> 4, $this->getHolder()->getZ() >> 4, $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
}
}
parent::onClose($who);

View File

@ -106,7 +106,7 @@ class DoubleChestInventory extends ChestInventory implements InventoryHolder{
$pk->case1 = 1;
$pk->case2 = 2;
if(($level = $this->right->getHolder()->getLevel()) instanceof Level){
Server::broadcastPacket($level->getChunkPlayers($this->right->getHolder()->getX() >> 4, $this->right->getHolder()->getZ() >> 4), $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
$level->addChunkPacket($this->right->getHolder()->getX() >> 4, $this->right->getHolder()->getZ() >> 4, $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
}
}
}
@ -120,7 +120,7 @@ class DoubleChestInventory extends ChestInventory implements InventoryHolder{
$pk->case1 = 1;
$pk->case2 = 0;
if(($level = $this->right->getHolder()->getLevel()) instanceof Level){
Server::broadcastPacket($level->getChunkPlayers($this->right->getHolder()->getX() >> 4, $this->right->getHolder()->getZ() >> 4), $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
$level->addChunkPacket($this->right->getHolder()->getX() >> 4, $this->right->getHolder()->getZ() >> 4, $pk->setChannel(Network::CHANNEL_WORLD_EVENTS));
}
}
parent::onClose($who);

View File

@ -124,26 +124,27 @@ class PlayerInventory extends BaseInventory{
* @param Player|Player[] $target
*/
public function sendHeldItem($target){
if($target instanceof Player){
$target = [$target];
}
$item = $this->getItemInHand();
$pk = new PlayerEquipmentPacket();
$pk->eid = $this->getHolder()->getId();
$pk->eid = ($target === $this->getHolder() ? 0 : $this->getHolder()->getId());
$pk->item = $item->getId();
$pk->meta = $item->getDamage();
$pk->slot = $this->getHeldItemSlot();
$pk->selectedSlot = $this->getHeldItemIndex();
$pk->isEncoded = true;
Server::broadcastPacket($target, $pk->setChannel(Network::CHANNEL_ENTITY_SPAWNING));
foreach($target as $player){
if($player === $this->getHolder()){
$this->sendSlot($this->getHeldItemSlot(), $player);
break;
if(!is_array($target)){
$target->dataPacket($pk->setChannel(Network::CHANNEL_ENTITY_SPAWNING));
if($target === $this->getHolder()){
$this->sendSlot($this->getHeldItemSlot(), $target);
}
}else{
Server::broadcastPacket($target, $pk->setChannel(Network::CHANNEL_ENTITY_SPAWNING));
foreach($target as $player){
if($player === $this->getHolder()){
$this->sendSlot($this->getHeldItemSlot(), $player);
break;
}
}
}
}
@ -323,10 +324,6 @@ class PlayerInventory extends BaseInventory{
foreach($target as $player){
if($player === $this->getHolder()){
/** @var Player $player */
//$pk2 = clone $pk;
//$pk2->eid = 0;
$pk2 = new ContainerSetContentPacket();
$pk2->windowid = ContainerSetContentPacket::SPECIAL_ARMOR;
$pk2->slots = $armor;