mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-06 01:46:04 +00:00
Player: move sendAllInventories() to network layer
This commit is contained in:
@ -819,6 +819,12 @@ class NetworkSession{
|
||||
}
|
||||
}
|
||||
|
||||
public function syncAllInventoryContents() : void{
|
||||
foreach($this->player->getAllWindows() as $inventory){
|
||||
$this->syncInventoryContents($inventory);
|
||||
}
|
||||
}
|
||||
|
||||
public function syncInventoryData(Inventory $inventory, int $propertyId, int $value) : void{
|
||||
$windowId = $this->player->getWindowId($inventory);
|
||||
if($windowId !== ContainerIds::NONE){
|
||||
|
@ -158,7 +158,7 @@ class InGameSessionHandler extends SessionHandler{
|
||||
|
||||
public function handleInventoryTransaction(InventoryTransactionPacket $packet) : bool{
|
||||
if($this->player->isSpectator()){
|
||||
$this->player->sendAllInventories();
|
||||
$this->session->syncAllInventoryContents();
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -167,7 +167,7 @@ class InGameSessionHandler extends SessionHandler{
|
||||
if($packet->trData instanceof NormalTransactionData){
|
||||
$result = $this->handleNormalTransaction($packet->trData);
|
||||
}elseif($packet->trData instanceof MismatchTransactionData){
|
||||
$this->player->sendAllInventories();
|
||||
$this->session->syncAllInventoryContents();
|
||||
$result = true;
|
||||
}elseif($packet->trData instanceof UseItemTransactionData){
|
||||
$result = $this->handleUseItemTransaction($packet->trData);
|
||||
@ -178,7 +178,7 @@ class InGameSessionHandler extends SessionHandler{
|
||||
}
|
||||
|
||||
if(!$result){
|
||||
$this->player->sendAllInventories();
|
||||
$this->session->syncAllInventoryContents();
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ class PreSpawnSessionHandler extends SessionHandler{
|
||||
$this->player->sendPotionEffects($this->player);
|
||||
$this->player->sendData($this->player);
|
||||
|
||||
$this->player->sendAllInventories();
|
||||
$this->session->syncAllInventoryContents();
|
||||
$this->player->getInventory()->sendCreativeContents();
|
||||
$this->player->getInventory()->sendHeldItem($this->player);
|
||||
$this->session->queueCompressed($this->server->getCraftingManager()->getCraftingDataPacket());
|
||||
|
Reference in New Issue
Block a user