FIX: MessagePacket instead of ChatPacket

This commit is contained in:
2026-07-21 13:03:22 +02:00
parent 6452eacb34
commit d7a51b09f1
4 changed files with 22 additions and 3 deletions

View File

@@ -155,6 +155,23 @@ void ServerSideNetworkHandler::displayGameMessage(const std::string& message)
raknetInstance->send(packet);
}
void ServerSideNetworkHandler::handle(const RakNet::RakNetGUID& source, MessagePacket* packet)
{
auto player = getPlayer(source);
if (player == nullptr) return; // @todo maybe kick?
std::string msg = packet->message.C_String();
if (packet->message[0] == '/') {
// This is a command
ChatPacket resp(minecraft->commandManager().execute(*minecraft, *player, Util::stringTrim(msg.substr(1))));
return sendPrivate(resp, source);
}
displayGameMessage("<" + player->name + "> " + msg);
}
void ServerSideNetworkHandler::handle(const RakNet::RakNetGUID& source, ChatPacket* packet)
{
auto player = getPlayer(source);

View File

@@ -58,6 +58,8 @@ public:
virtual void handle(const RakNet::RakNetGUID& source, ContainerClosePacket* packet);
virtual void handle(const RakNet::RakNetGUID& source, SignUpdatePacket* packet);
virtual void handle(const RakNet::RakNetGUID& source, ChatPacket* packet);
virtual void handle(const RakNet::RakNetGUID& source, MessagePacket* packet);
virtual void handle(const RakNet::RakNetGUID& source, WantCreatePacket* packet);
bool allowsIncomingConnections() { return _allowIncoming; }

View File

@@ -92,7 +92,7 @@ static std::string ToStringOk(const T& a, const T& b, const T& c) {
std::stringstream ss;
ss << a << "," << b << "," << c << "\n";
return ss.str();
}
}
static bool inRange(int c, int lowInclusive, int highInclusive) {
return c >= lowInclusive && c <= highInclusive;