#pragma once #include "Packet.h" #include "../../Entities/SyncedEntityData.h" class Mob; class AddMobPacket : public Packet, public std::enable_shared_from_this { public: int id; int type; int x, y, z; int xd, yd, zd; uint8_t yRot, xRot, yHeadRot; private: std::shared_ptr entityData; std::vector > *unpack; public: AddMobPacket(); ~AddMobPacket(); AddMobPacket(std::shared_ptr mob, int yRotp, int xRotp, int xp, int yp, int zp, int yHeadRotp); virtual void read(DataInputStream *dis); virtual void write(DataOutputStream *dos); virtual void handle(PacketListener *listener); virtual int getEstimatedSize(); std::vector > *getUnpackedData(); public: static std::shared_ptr create() { return std::shared_ptr(new AddMobPacket()); } virtual int getId() { return 24; } };