fix a bunch of bugs

This commit is contained in:
Dylan K. Taylor
2022-06-23 19:34:08 +01:00
parent 5ed75731f2
commit 6964012464
6 changed files with 51 additions and 12 deletions

View File

@@ -31,6 +31,7 @@ use pocketmine\block\BlockBreakInfo;
use pocketmine\block\BlockToolType;
use pocketmine\block\VanillaBlocks;
use pocketmine\data\bedrock\EnchantmentIdMap;
use pocketmine\data\bedrock\item\ItemTypeDeserializeException;
use pocketmine\data\bedrock\item\SavedItemStackData;
use pocketmine\data\SavedDataLoadingException;
use pocketmine\entity\Entity;
@@ -661,13 +662,16 @@ class Item implements \JsonSerializable{
/**
* Deserializes an Item from an NBT CompoundTag
* @throws NbtException
* @throws SavedDataLoadingException
*/
public static function nbtDeserialize(CompoundTag $tag) : Item{
$itemData = GlobalItemDataHandlers::getUpgrader()->upgradeItemStackNbt($tag);
$item = GlobalItemDataHandlers::getDeserializer()->deserialize($itemData->getTypeData());
try{
$item = GlobalItemDataHandlers::getDeserializer()->deserialize($itemData->getTypeData());
}catch(ItemTypeDeserializeException $e){
throw new SavedDataLoadingException($e->getMessage(), 0, $e);
}
$item->setCount($itemData->getCount());
if(($tagTag = $itemData->getTypeData()->getTag()) !== null){