Files
minecraft-pe-0.6.1/src/network/packet/ChatPacket.h
2026-03-02 22:04:18 +03:00

41 lines
1.1 KiB
C++
Executable File

#ifndef NET_MINECRAFT_NETWORK_PACKET__ChatPacket_H__
#define NET_MINECRAFT_NETWORK_PACKET__ChatPacket_H__
#include "../Packet.h"
#include "../..//world/entity/player/Player.h"
class ChatPacket: public Packet
{
public:
static const int MAX_CHAT_LENGTH = 100;
static const int MAX_LENGTH = MAX_CHAT_LENGTH + Player::MAX_NAME_LENGTH;
ChatPacket() {
}
ChatPacket(std::string message, bool isSystem = true) {
if(message.length() > MAX_LENGTH) {
message = message.substr(0, MAX_LENGTH);
}
this->message = message;
this->isSystem = isSystem;
}
void write(RakNet::BitStream* bitStream) {
bitStream->Write((RakNet::MessageID)(ID_USER_PACKET_ENUM + PACKET_CHAT));
bitStream->Write(message.c_str());
}
void read(RakNet::BitStream* bitStream) {
char buff[MAX_LENGTH + 30];
bitStream->Read(buff);
message = buff;
}
void handle(const RakNet::RakNetGUID& source, NetEventCallback* callback) {
callback->handle(source, (ChatPacket*)this);
}
std::string message;
bool isSystem;
};
#endif /* NET_MINECRAFT_NETWORK_PACKET__ChatPacket_H__ */