mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-11 05:55:33 +00:00
Add some isset checks to prevent server from crashing on an invalid resourcepatch
This commit is contained in:
parent
fa56290bb4
commit
a303c4b294
@ -43,11 +43,16 @@ class LegacySkinAdapter implements SkinAdapter{
|
|||||||
|
|
||||||
public function fromSkinData(SkinData $data) : Skin{
|
public function fromSkinData(SkinData $data) : Skin{
|
||||||
$capeData = $data->getCapeImage()->getData();
|
$capeData = $data->getCapeImage()->getData();
|
||||||
|
$geometryName = "";
|
||||||
|
$resourcePatch = json_decode($data->getResourcePatch(), true);
|
||||||
|
if(isset($resourcePatch["geometry"]) && isset($resourcePatch["geometry"]["default"])){
|
||||||
|
$geometryName = $resourcePatch["geometry"]["default"];
|
||||||
|
}
|
||||||
if($data->isPersona()){
|
if($data->isPersona()){
|
||||||
return new Skin("Standard_Custom", str_repeat(random_bytes(3) . "\xff", 2048), "", "geometry.humanoid.custom");
|
return new Skin("Standard_Custom", str_repeat(random_bytes(3) . "\xff", 2048), "", "geometry.humanoid.custom");
|
||||||
}elseif($data->isPersonaCapeOnClassic()){
|
}elseif($data->isPersonaCapeOnClassic()){
|
||||||
$capeData = "";
|
$capeData = "";
|
||||||
}
|
}
|
||||||
return new Skin($data->getSkinId(), $data->getSkinImage()->getData(), $capeData, json_decode($data->getResourcePatch(), true)["geometry"]["default"], $data->getGeometryData());
|
return new Skin($data->getSkinId(), $data->getSkinImage()->getData(), $capeData, $geometryName, $data->getGeometryData());
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user