ClientDataToSkinDataHelper: Remove SingletonTrait

SingletonTrait is pointless here for multiple reasons:
1) the class is final
2) this is protocol-specific translation of types, no loss of data or alternative mutation of it needs to occur

Using SingletonTrait is an obstacle to separating the protocol library from the core code, so it has to go.
This commit is contained in:
Dylan K. Taylor 2021-07-14 14:50:59 +01:00
parent 1ad38d499c
commit c474aa42e5
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
2 changed files with 2 additions and 4 deletions

View File

@ -105,7 +105,7 @@ class LoginPacketHandler extends PacketHandler{
$clientData = $this->parseClientData($packet->clientDataJwt);
try{
$skin = SkinAdapterSingleton::get()->fromSkinData(ClientDataToSkinDataHelper::getInstance()->fromClientData($clientData));
$skin = SkinAdapterSingleton::get()->fromSkinData(ClientDataToSkinDataHelper::fromClientData($clientData));
}catch(\InvalidArgumentException | InvalidSkinException $e){
$this->session->getLogger()->debug("Invalid skin: " . $e->getMessage());
$this->session->disconnect("disconnectionScreen.invalidSkin");

View File

@ -28,12 +28,10 @@ use pocketmine\network\mcpe\protocol\types\skin\PersonaSkinPiece;
use pocketmine\network\mcpe\protocol\types\skin\SkinAnimation;
use pocketmine\network\mcpe\protocol\types\skin\SkinData;
use pocketmine\network\mcpe\protocol\types\skin\SkinImage;
use pocketmine\utils\SingletonTrait;
use function array_map;
use function base64_decode;
final class ClientDataToSkinDataHelper{
use SingletonTrait;
/**
* @throws \InvalidArgumentException
@ -49,7 +47,7 @@ final class ClientDataToSkinDataHelper{
/**
* @throws \InvalidArgumentException
*/
public function fromClientData(ClientData $clientData) : SkinData{
public static function fromClientData(ClientData $clientData) : SkinData{
/** @var SkinAnimation[] $animations */
$animations = [];
foreach($clientData->AnimatedImageData as $k => $animation){