#pragma once using namespace std; #include "Packet.h" #include "SynchedEntityData.h" class Mob; class AddMobPacket : public Packet, public enable_shared_from_this { public: int id; int type; int x, y, z; int xd, yd, zd; byte yRot, xRot, yHeadRot; private: shared_ptr entityData; vector > *unpack; public: AddMobPacket(); ~AddMobPacket(); AddMobPacket(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(); vector > *getUnpackedData(); public: static shared_ptr create() { return shared_ptr(new AddMobPacket()); } virtual int getId() { return 24; } };