#pragma once #include #include #include #include #include #include "Packet.h" #include "minecraft/network/packet/Packet.h" class CustomPayloadPacket : public Packet, public std::enable_shared_from_this { public: // Mojang-defined custom packets static const std::string CUSTOM_BOOK_PACKET; static const std::string CUSTOM_BOOK_SIGN_PACKET; static const std::string TEXTURE_PACK_PACKET; static const std::string TRADER_LIST_PACKET; static const std::string TRADER_SELECTION_PACKET; static const std::string SET_ADVENTURE_COMMAND_PACKET; static const std::string SET_BEACON_PACKET; static const std::string SET_ITEM_NAME_PACKET; std::string identifier; int length; std::vector data; CustomPayloadPacket(); CustomPayloadPacket(const std::string& identifier, std::vector data); 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::make_shared(); } virtual int getId() { return 250; } };