private function initialHuman(Player $player) { $player->setDataFlag($player::DATA_PLAYER_FLAGS, $player::DATA_PLAYER_FLAG_SLEEP, false); $player->setDataProperty($player::DATA_PLAYER_BED_POSITION, $player::DATA_TYPE_POS, [0, 0, 0]); $inventory = new PlayerInventory($player); $this->setPrivateVariableData($player, 'inventory', $inventory); if ($player instanceof Player) { $player->addWindow($inventory, 0); } if (!$player instanceof Player) { if (isset($player->namedtag->NameTag)) { $player->setNameTag($player->namedtag["NameTag"]); } if (isset($player->namedtag->Skin) and $player->namedtag->Skin instanceof CompoundTag) { $player->setSkin($player->namedtag->Skin["Data"], $player->namedtag->Skin["Slim"] > 0); } $this->setPrivateVariableData($player, 'uuid', UUID::fromData($player->getId(), $player->getSkinData(), $player->getNameTag())); } if (isset($player->namedtag->Inventory) and $player->namedtag->Inventory instanceof ListTag) { foreach ($player->namedtag->Inventory as $item) { if ($item["Slot"] >= 0 and $item["Slot"] < 9) { // Hotbar $player->inventory->setHotbarSlotIndex($item["Slot"], isset($item["TrueSlot"]) ? $item["TrueSlot"] : -1); } elseif ($item["Slot"] >= 100 and $item["Slot"] < 104) { // Armor $player->getInventory()->setItem($player->getInventory()->getSize() + $item["Slot"] - 100, NBT::getItemHelper($item)); } else { $player->getInventory()->setItem($item["Slot"] - 9, NBT::getItemHelper($item)); } } } $this->initialEntity($player); }