Всем привет!
Ядро NetherGamesMC api 5.x.x
Не правильно отображается скины игроков они цветные как исправить? Пробовал плагин PersonaSkin не работает
Тема не по адресу! Вам стоит перенести её в Minecraft Pocket/Bedrock Edition > Ядра, чтобы получить помощь по ядрам.
Не слушайте её.
Оно только под PMMP.
И как исправить?
Как минимум посмотреть как устроен плагин, и попытаться адаптировать под незер
Понимаю, но не знаю как
Тогда закажи у кодера
Сделал так но не работает
<?php
/**
*
* ____ _ _ ___
* | _ \ _ __ ___ ___ ___ _ __ | |_| |/ (_)_ __ ___
* | |_) | '__/ _ \/ __|/ _ \ '_ \| __| ' /| | '_ ` _ \
* | __/| | | __/\__ \ __/ | | | |_| . \| | | | | | |
* |_| |_| \___||___/\___|_| |_|\__|_|\_\_|_| |_| |_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PresentKim ([email protected])
* @link https://github.com/PresentKim
* @license https://www.gnu.org/licenses/lgpl-3.0 LGPL-3.0 License
*
* (\ /)
* ( . .) ♥
* c(")(")
*/
declare(strict_types=1);
namespace kim\present\personaskin;
use JsonException;
use pocketmine\entity\Skin;
use pocketmine\network\mcpe\convert\SkinAdapter;
use pocketmine\network\mcpe\protocol\types\skin\SkinData;
use pocketmine\network\mcpe\convert\SkinImage;
use pocketmine\utils\InvalidSkinException;
class PersonaSkinAdapter implements SkinAdapter{
/**
* @var SkinData[]
* @phpstan-var array<int, SkinData>
*/
public function toSkinData(Skin $skin) : SkinData{
$capeData = $skin->getCapeData();
$capeImage = $capeData === "" ? new SkinImage(0, 0, "") : new SkinImage(32, 64, $capeData);
$geometryName = $skin->getGeometryName();
if ($geometryName === "") {
$geometryName = "geometry.humanoid.custom";
}
return new SkinData(
$skin->getSkinId(),
"", //TODO: playfab ID
json_encode(["geometry" => ["default" => $geometryName]], JSON_THROW_ON_ERROR),
new SkinImage($skin->getSkinImage()->getWidth(), $skin->getSkinImage()->getHeight(), $skin->getSkinData()),
[],
$capeImage,
$skin->getGeometryData()
);
}
public function fromSkinData(SkinData $data) : Skin{
$capeData = $data->isPersonaCapeOnClassic() ? "" : $data->getCapeImage()->getData();
$resourcePatch = json_decode($data->getResourcePatch(), true);
if(is_array($resourcePatch) && isset($resourcePatch["geometry"]["default"]) && is_string($resourcePatch["geometry"]["default"])){
$geometryName = $resourcePatch["geometry"]["default"];
}else{
throw new InvalidSkinException("Missing geometry name field");
}
return new Skin(
$data->getSkinId(),
$data->getSkinImage()->getData(),
$capeData,
$geometryName,
$data->getGeometryData()
);
}
}
Ошибка? CrashDump? Или нам гадать?
Ошибок нет