TypeConverter: account for items without properly mapped IDs

fixes #4459
This commit is contained in:
Dylan K. Taylor
2021-10-11 15:05:08 +01:00
parent 19a66a8d03
commit 8ac16345a3
2 changed files with 50 additions and 19 deletions

View File

@ -142,10 +142,10 @@ final class ItemTranslator{
}
/**
* @return int[]
* @phpstan-return array{int, int}
* @return int[]|null
* @phpstan-return array{int, int}|null
*/
public function toNetworkId(int $internalId, int $internalMeta) : array{
public function toNetworkIdQuiet(int $internalId, int $internalMeta) : ?array{
if($internalMeta === -1){
$internalMeta = 0x7fff;
}
@ -156,7 +156,16 @@ final class ItemTranslator{
return [$this->simpleCoreToNetMapping[$internalId], $internalMeta];
}
throw new \InvalidArgumentException("Unmapped ID/metadata combination $internalId:$internalMeta");
return null;
}
/**
* @return int[]
* @phpstan-return array{int, int}
*/
public function toNetworkId(int $internalId, int $internalMeta) : array{
return $this->toNetworkIdQuiet($internalId, $internalMeta) ??
throw new \InvalidArgumentException("Unmapped ID/metadata combination $internalId:$internalMeta");
}
/**