mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 17:59:48 +00:00
Players now have entity id 0
This commit is contained in:
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user