4jcraft/Minecraft.World/Network/Packets/AddPlayerPacket.h
2026-03-06 12:16:41 -06:00

44 lines
1.2 KiB
C++

#pragma once
#include "Packet.h"
#include "../../Entities/SyncedEntityData.h"
class Player;
class AddPlayerPacket : public Packet, public std::enable_shared_from_this<AddPlayerPacket>
{
private:
std::shared_ptr<SynchedEntityData> entityData;
std::vector<std::shared_ptr<SynchedEntityData::DataItem> > *unpack;
public:
int id;
std::wstring name;
int x, y, z;
char yRot, xRot;
int carriedItem;
PlayerUID xuid; // 4J Added
PlayerUID OnlineXuid; // 4J Added
BYTE m_playerIndex; // 4J Added
DWORD m_skinId; // 4J Added
DWORD m_capeId; // 4J Added
unsigned int m_uiGamePrivileges; // 4J Added
uint8_t yHeadRot; // 4J Added
AddPlayerPacket();
~AddPlayerPacket();
AddPlayerPacket(std::shared_ptr<Player> player, PlayerUID xuid, PlayerUID OnlineXuid,int xp, int yp, int zp, int yRotp, int xRotp, int yHeadRotp);
virtual void read(DataInputStream *dis);
virtual void write(DataOutputStream *dos);
virtual void handle(PacketListener *listener);
virtual int getEstimatedSize();
std::vector<std::shared_ptr<SynchedEntityData::DataItem> > *getUnpackedData();
public:
static std::shared_ptr<Packet> create() { return std::shared_ptr<Packet>(new AddPlayerPacket()); }
virtual int getId() { return 20; }
};