mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-11 00:09:39 +00:00
ClientDataToSkinDataHelper: move safeB64Decode to its own function
This commit is contained in:
parent
e6a3f7baa2
commit
05615b3eb7
@ -38,15 +38,18 @@ final class ClientDataToSkinDataHelper{
|
|||||||
/**
|
/**
|
||||||
* @throws \InvalidArgumentException
|
* @throws \InvalidArgumentException
|
||||||
*/
|
*/
|
||||||
public function fromClientData(ClientData $clientData) : SkinData{
|
private static function safeB64Decode(string $base64, string $context) : string{
|
||||||
$safeB64Decode = static function(string $base64, string $context) : string{
|
$result = base64_decode($base64, true);
|
||||||
$result = base64_decode($base64, true);
|
if($result === false){
|
||||||
if($result === false){
|
throw new \InvalidArgumentException("$context: Malformed base64, cannot be decoded");
|
||||||
throw new \InvalidArgumentException("$context: Malformed base64, cannot be decoded");
|
}
|
||||||
}
|
return $result;
|
||||||
return $result;
|
}
|
||||||
};
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @throws \InvalidArgumentException
|
||||||
|
*/
|
||||||
|
public function fromClientData(ClientData $clientData) : SkinData{
|
||||||
/** @var SkinAnimation[] $animations */
|
/** @var SkinAnimation[] $animations */
|
||||||
$animations = [];
|
$animations = [];
|
||||||
foreach($clientData->AnimatedImageData as $k => $animation){
|
foreach($clientData->AnimatedImageData as $k => $animation){
|
||||||
@ -54,7 +57,7 @@ final class ClientDataToSkinDataHelper{
|
|||||||
new SkinImage(
|
new SkinImage(
|
||||||
$animation->ImageHeight,
|
$animation->ImageHeight,
|
||||||
$animation->ImageWidth,
|
$animation->ImageWidth,
|
||||||
$safeB64Decode($animation->Image, "AnimatedImageData.$k.Image")
|
self::safeB64Decode($animation->Image, "AnimatedImageData.$k.Image")
|
||||||
),
|
),
|
||||||
$animation->Type,
|
$animation->Type,
|
||||||
$animation->Frames
|
$animation->Frames
|
||||||
@ -62,12 +65,12 @@ final class ClientDataToSkinDataHelper{
|
|||||||
}
|
}
|
||||||
return new SkinData(
|
return new SkinData(
|
||||||
$clientData->SkinId,
|
$clientData->SkinId,
|
||||||
$safeB64Decode($clientData->SkinResourcePatch, "SkinResourcePatch"),
|
self::safeB64Decode($clientData->SkinResourcePatch, "SkinResourcePatch"),
|
||||||
new SkinImage($clientData->SkinImageHeight, $clientData->SkinImageWidth, $safeB64Decode($clientData->SkinData, "SkinData")),
|
new SkinImage($clientData->SkinImageHeight, $clientData->SkinImageWidth, self::safeB64Decode($clientData->SkinData, "SkinData")),
|
||||||
$animations,
|
$animations,
|
||||||
new SkinImage($clientData->CapeImageHeight, $clientData->CapeImageWidth, $safeB64Decode($clientData->CapeData, "CapeData")),
|
new SkinImage($clientData->CapeImageHeight, $clientData->CapeImageWidth, self::safeB64Decode($clientData->CapeData, "CapeData")),
|
||||||
$safeB64Decode($clientData->SkinGeometryData, "SkinGeometryData"),
|
self::safeB64Decode($clientData->SkinGeometryData, "SkinGeometryData"),
|
||||||
$safeB64Decode($clientData->SkinAnimationData, "SkinAnimationData"),
|
self::safeB64Decode($clientData->SkinAnimationData, "SkinAnimationData"),
|
||||||
$clientData->PremiumSkin,
|
$clientData->PremiumSkin,
|
||||||
$clientData->PersonaSkin,
|
$clientData->PersonaSkin,
|
||||||
$clientData->CapeOnClassicSkin,
|
$clientData->CapeOnClassicSkin,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user