#pragma once #include "Packet.h" class AddEntityPacket : public Packet, public std::enable_shared_from_this { public: static const int BOAT = 1; static const int ITEM = 2; static const int MINECART = 10; static const int PRIMED_TNT = 50; static const int ENDER_CRYSTAL = 51; static const int ARROW = 60; static const int SNOWBALL = 61; static const int EGG = 62; static const int FIREBALL = 63; static const int SMALL_FIREBALL = 64; static const int THROWN_ENDERPEARL = 65; static const int WITHER_SKULL = 66; static const int FALLING = 70; static const int ITEM_FRAME = 71; static const int EYEOFENDERSIGNAL = 72; static const int THROWN_POTION = 73; static const int FALLING_EGG = 74; static const int THROWN_EXPBOTTLE = 75; static const int FIREWORKS = 76; static const int LEASH_KNOT = 77; static const int FISH_HOOK = 90; // 4J Added TU9 static const int DRAGON_FIRE_BALL = 200; int id; int x, y, z; int xa, ya, za; int type; int data; uint8_t yRot, xRot; // 4J added private: void _init(std::shared_ptr e, int type, int data, int xp, int yp, int zp, int yRotp, int xRotp); public: AddEntityPacket(); AddEntityPacket(std::shared_ptr e, int type, int yRotp, int xRotp, int xp, int yp, int zp); AddEntityPacket(std::shared_ptr e, int type, int data, int yRotp, int xRotp, int xp, int yp, int zp); virtual void read(DataInputStream* dis); virtual void write(DataOutputStream* dos); virtual void handle(PacketListener* listener); virtual int getEstimatedSize(); public: static std::shared_ptr create() { return std::shared_ptr(new AddEntityPacket()); } virtual int getId() { return 23; } };