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

@@ -6,7 +6,7 @@
#include "../../../world/level/Level.h"
#include "../../../network/RakNetInstance.h"
#include "../../../network/ServerSideNetworkHandler.h"
#include "../../../network/packet/ChatPacket.h"
#include "../../../network/packet/MessagePacket.h"
#include "../../../platform/log.h"
#include "util/StringUtils.h"
@@ -76,7 +76,7 @@ void ConsoleScreen::execute()
if (minecraft->netCallback && minecraft->raknetInstance->isServer()) {
static_cast<ServerSideNetworkHandler*>(minecraft->netCallback)->displayGameMessage(_input);
} else if (minecraft->netCallback) {
ChatPacket chatPkt(_input);
MessagePacket chatPkt(_input.c_str());
minecraft->raknetInstance->send(chatPkt);
} else {
minecraft->gui.addMessage("<" + minecraft->player->name + "> " + _input);

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;