mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-27 13:23:44 +00:00
ArmorInventory: use broadcast for sending armour updates
This commit is contained in:
parent
f2fd505bae
commit
59a51a6c75
@ -93,23 +93,21 @@ class ArmorInventory extends BaseInventory{
|
|||||||
$target = [$target];
|
$target = [$target];
|
||||||
}
|
}
|
||||||
|
|
||||||
$armor = $this->getContents(true);
|
/** @var Player[] $target */
|
||||||
|
|
||||||
$pk = new MobArmorEquipmentPacket();
|
if(($k = array_search($this->holder, $target, true)) !== false){
|
||||||
$pk->entityRuntimeId = $this->getHolder()->getId();
|
$pk = new InventorySlotPacket();
|
||||||
$pk->slots = $armor;
|
$pk->windowId = $target[$k]->getWindowId($this);
|
||||||
|
$pk->inventorySlot = $index;
|
||||||
foreach($target as $player){
|
$pk->item = $this->getItem($index);
|
||||||
/** @var Player $player */
|
$target[$k]->sendDataPacket($pk);
|
||||||
if($player === $this->getHolder()){
|
unset($target[$k]);
|
||||||
$pk2 = new InventorySlotPacket();
|
}
|
||||||
$pk2->windowId = $player->getWindowId($this);
|
if(!empty($target)){
|
||||||
$pk2->inventorySlot = $index;
|
$pk = new MobArmorEquipmentPacket();
|
||||||
$pk2->item = $this->getItem($index);
|
$pk->entityRuntimeId = $this->getHolder()->getId();
|
||||||
$player->sendDataPacket($pk2);
|
$pk->slots = $this->getContents(true);
|
||||||
}else{
|
$this->holder->getLevel()->getServer()->broadcastPacket($target, $pk);
|
||||||
$player->sendDataPacket($pk);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,20 +118,18 @@ class ArmorInventory extends BaseInventory{
|
|||||||
|
|
||||||
$armor = $this->getContents(true);
|
$armor = $this->getContents(true);
|
||||||
|
|
||||||
$pk = new MobArmorEquipmentPacket();
|
if(($k = array_search($this->holder, $target, true)) !== false){
|
||||||
$pk->entityRuntimeId = $this->getHolder()->getId();
|
$pk = new InventoryContentPacket();
|
||||||
$pk->slots = $armor;
|
$pk->windowId = $target[$k]->getWindowId($this);
|
||||||
|
$pk->items = $armor;
|
||||||
foreach($target as $player){
|
$target[$k]->sendDataPacket($pk);
|
||||||
/** @var Player $player */
|
unset($target[$k]);
|
||||||
if($player === $this->getHolder()){
|
}
|
||||||
$pk2 = new InventoryContentPacket();
|
if(!empty($target)){
|
||||||
$pk2->windowId = $player->getWindowId($this);
|
$pk = new MobArmorEquipmentPacket();
|
||||||
$pk2->items = $armor;
|
$pk->entityRuntimeId = $this->getHolder()->getId();
|
||||||
$player->sendDataPacket($pk2);
|
$pk->slots = $armor;
|
||||||
}else{
|
$this->holder->getLevel()->getServer()->broadcastPacket($target, $pk);
|
||||||
$player->sendDataPacket($pk);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user