113 $key = $this->reprocess($input);
115 $b = explode(
":", $key, limit: 3);
119 }elseif(is_numeric($b[1])){
122 throw new LegacyStringToItemParserException(
"Unable to parse \"" . $b[1] .
"\" from \"" . $input .
"\" as a valid meta value");
125 $lower = strtolower($b[0]);
126 if($lower ===
"0" || $lower ===
"air"){
128 return VanillaItems::AIR();
131 $legacyId = $this->map[$lower] ??
null;
132 if($legacyId ===
null){
133 throw new LegacyStringToItemParserException(
"Unable to resolve \"" . $input .
"\" to a valid item");
135 $itemData = $this->itemDataUpgrader->upgradeItemTypeDataString($legacyId, $meta, 1,
null);
138 return $this->itemDeserializer->deserializeStack($itemData);
139 }
catch(ItemTypeDeserializeException $e){
140 throw new LegacyStringToItemParserException($e->getMessage(), 0, $e);