78        if(($blockData = $data->getBlock()) !== null){
 
   81                $block = $this->blockStateDeserializer->deserialize($blockData);
 
   89            return RuntimeBlockStateRegistry::getInstance()->fromStateId($block)->asItem();
 
   91        $id = $data->getName();
 
   92        if(!isset($this->deserializers[$id])){
 
   96        return ($this->deserializers[$id])($data);
 
 
  103        $itemStack = $this->deserializeType($data->getTypeData());
 
  105        $itemStack->
setCount($data->getCount());
 
  106        if(($tagTag = $data->getTypeData()->getTag()) !== 
null){
 
  108                $itemStack->setNamedTag(clone $tagTag);
 
  110                throw new ItemTypeDeserializeException(
"Invalid item saved NBT: " . $e->getMessage(), 0, $e);
 
  115        if($itemStack instanceof 
Durable && $itemStack->getDamage() === 0 && ($damage = $data->getTypeData()->getMeta()) > 0){
 
  116            $itemStack->setDamage(min($damage, $itemStack->getMaxDurability()));