#pragma once #include "Packet.h" #include "../../Entities/SyncedEntityData.h" class LivingEntity; 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; } };