22    public const ARM_SIZE_SLIM = 
"slim";
 
   23    public const ARM_SIZE_WIDE = 
"wide";
 
   26    private string $fullSkinId;
 
   34        private string $skinId,
 
   35        private string $playFabId,
 
   36        private string $resourcePatch,
 
   38        private array $animations = [],
 
   40        private string $geometryData = 
"",
 
   42        private string $animationData = 
"",
 
   43        private string $capeId = 
"",
 
   44        ?
string $fullSkinId = 
null,
 
   45        private string $armSize = self::ARM_SIZE_WIDE,
 
   46        private string $skinColor = 
"",
 
   47        private array $personaPieces = [],
 
   48        private array $pieceTintColors = [],
 
   49        private bool $isVerified = 
true,
 
   50        private bool $premium = 
false,
 
   51        private bool $persona = 
false,
 
   52        private bool $personaCapeOnClassic = 
false,
 
   53        private bool $isPrimaryUser = 
true,
 
   54        private bool $override = 
true 
   56        $this->capeImage = $capeImage ?? 
new SkinImage(0, 0, 
"");
 
   58        $this->fullSkinId = $fullSkinId ?? Uuid::uuid4()->toString();
 
 
   61    public function getSkinId() : string{
 
   65    public function getPlayFabId() : string{ return $this->playFabId; }
 
   67    public function getResourcePatch() : string{
 
   68        return $this->resourcePatch;
 
   71    public function getSkinImage() : SkinImage{
 
   72        return $this->skinImage;
 
   79        return $this->animations;
 
 
   82    public function getCapeImage() : 
SkinImage{
 
   83        return $this->capeImage;
 
   86    public function getGeometryData() : string{
 
   87        return $this->geometryData;
 
   90    public function getGeometryDataEngineVersion() : string{ return $this->geometryDataEngineVersion; }
 
   92    public function getAnimationData() : string{
 
   93        return $this->animationData;
 
   96    public function getCapeId() : string{
 
  100    public function getFullSkinId() : string{
 
  101        return $this->fullSkinId;
 
  104    public function getArmSize() : string{
 
  105        return $this->armSize;
 
  108    public function getSkinColor() : string{
 
  109        return $this->skinColor;
 
  116        return $this->personaPieces;
 
 
  123        return $this->pieceTintColors;
 
 
  126    public function isPersona() : bool{
 
  127        return $this->persona;
 
  130    public function isPremium() : bool{
 
  131        return $this->premium;
 
  134    public function isPersonaCapeOnClassic() : bool{
 
  135        return $this->personaCapeOnClassic;
 
  138    public function isPrimaryUser() : bool{ return $this->isPrimaryUser; }
 
  140    public function isOverride() : bool{ return $this->override; }
 
  142    public function isVerified() : bool{
 
  143        return $this->isVerified;
 
  149    public function setVerified(
bool $verified) : void{
 
  150        $this->isVerified = $verified;
 
 
__construct(private string $skinId, private string $playFabId, private string $resourcePatch, private SkinImage $skinImage, private array $animations=[], ?SkinImage $capeImage=null, private string $geometryData="", private string $geometryDataEngineVersion=ProtocolInfo::MINECRAFT_VERSION_NETWORK, private string $animationData="", private string $capeId="", ?string $fullSkinId=null, private string $armSize=self::ARM_SIZE_WIDE, private string $skinColor="", private array $personaPieces=[], private array $pieceTintColors=[], private bool $isVerified=true, private bool $premium=false, private bool $persona=false, private bool $personaCapeOnClassic=false, private bool $isPrimaryUser=true, private bool $override=true)