So I have this, Code: $nbt = new CompoundTag('', [ 'Pos' => new ListTag('Pos', [ new DoubleTag('', $pos->x), new DoubleTag('', $pos->y), new DoubleTag('', $pos->z) ]), 'Motion' => new ListTag('Motion', [ new DoubleTag('', 0), new DoubleTag('', 0), new DoubleTag('', 0) ]), 'Rotation' => new ListTag('Rotation', [ new FloatTag(0, $yaw), new FloatTag(1, $pitch) ]), ]); $entity = Entity::createEntity("Human", $this->getServer()->getDefaultLevel(), $nbt); How would I set its skin? I know there's a ->setSkin function but It accept a Skin class which I have no idea on how to get it? Please assist.
this will work: $nbt = new CompoundTag("", [ new ListTag("Pos", [ new DoubleTag("", $player->getX()), new DoubleTag("", $player->getY()), new DoubleTag("", $player->getZ()) ]), new ListTag("Motion", [ new DoubleTag("", 0), new DoubleTag("", 0), new DoubleTag("", 0) ]), new ListTag("Rotation", [ new FloatTag("", lcg_value() * 360), new FloatTag("", 0) ]), //use pocketmine =>1.2/*new CompoundTag("Skin", [ new StringTag("Data", $player->getSkin()->getSkinData()), new StringTag("Name", $player->getSkin()->getSkinId()), ]),*/ new CompoundTag("Skin", [ "Data" => new StringTag("Data", $player->getSkinData()), "Name" => new StringTag("Name", $player->getSkinId()) ]), ]); $npc = new Human($player->getLevel(), $nbt); foreach($this->getServer()->getOnlinePlayers() as $plr) { $npc->spawnTo($plr); }