From a4d68fb32bb9b4192944bf29b21ee14aaf3f4ceb Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 9 Dec 2019 18:16:46 +0000 Subject: [PATCH] LegacySkinAdapter: fix some wacky cape handling logic I added checks for length validity locally and ran into some interesting behaviour because of this code. --- .../network/mcpe/protocol/types/LegacySkinAdapter.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pocketmine/network/mcpe/protocol/types/LegacySkinAdapter.php b/src/pocketmine/network/mcpe/protocol/types/LegacySkinAdapter.php index 676868b3e..e503ee825 100644 --- a/src/pocketmine/network/mcpe/protocol/types/LegacySkinAdapter.php +++ b/src/pocketmine/network/mcpe/protocol/types/LegacySkinAdapter.php @@ -31,10 +31,8 @@ use function is_string; class LegacySkinAdapter implements SkinAdapter{ public function toSkinData(Skin $skin) : SkinData{ - $capeData = new SkinImage(32, 64, $skin->getCapeData()); - if($skin->getCapeData() === ""){ - $capeData = new SkinImage(0, 0, $skin->getCapeData()); - } + $capeData = $skin->getCapeData(); + $capeImage = $capeData === "" ? new SkinImage(0, 0, "") : new SkinImage(32, 64, $capeData); $geometryName = $skin->getGeometryName(); if($geometryName === ""){ $geometryName = "geometry.humanoid.custom"; @@ -43,7 +41,7 @@ class LegacySkinAdapter implements SkinAdapter{ $skin->getSkinId(), json_encode(["geometry" => ["default" => $geometryName]]), SkinImage::fromLegacy($skin->getSkinData()), [], - $capeData, + $capeImage, $skin->getGeometryData() ); }