From af385668c2bb7b91595ef4d3f7edb90d854fb04f Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 27 Mar 2023 17:55:39 +0100 Subject: [PATCH] InventoryManager: give more detailed information on failure to get info for held item --- src/network/mcpe/InventoryManager.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/network/mcpe/InventoryManager.php b/src/network/mcpe/InventoryManager.php index 35a45956b..a651b9213 100644 --- a/src/network/mcpe/InventoryManager.php +++ b/src/network/mcpe/InventoryManager.php @@ -576,9 +576,13 @@ class InventoryManager{ $playerInventory = $this->player->getInventory(); $selected = $playerInventory->getHeldItemIndex(); if($selected !== $this->clientSelectedHotbarSlot){ - $itemStackInfo = $this->getItemStackInfo($playerInventory, $selected); + $inventoryEntry = $this->inventories[spl_object_id($playerInventory)] ?? null; + if($inventoryEntry === null){ + throw new AssumptionFailedError("Player inventory should always be tracked"); + } + $itemStackInfo = $inventoryEntry->itemStackInfos[$selected] ?? null; if($itemStackInfo === null){ - throw new AssumptionFailedError("Player inventory slots should always be tracked"); + throw new AssumptionFailedError("Untracked player inventory slot $selected"); } $this->session->sendDataPacket(MobEquipmentPacket::create(