diff --git a/src/client/gui/screens/ConsoleScreen.cpp b/src/client/gui/screens/ConsoleScreen.cpp index 5a9e4a6..2bdec3c 100644 --- a/src/client/gui/screens/ConsoleScreen.cpp +++ b/src/client/gui/screens/ConsoleScreen.cpp @@ -63,24 +63,25 @@ void ConsoleScreen::execute() return minecraft->setScreen(NULL); } - if (_input[0] == '/') { - // Command + if (minecraft->netCallback && !minecraft->raknetInstance->isServer()) { + minecraft->raknetInstance->send(MessagePacket(_input.c_str())); + } else if (_input[0] == '/') { _input = Util::stringTrim(_input.substr(1)); - - std::istringstream iss(minecraft->commandManager().execute(*minecraft, *minecraft->player, _input)); - for (std::string line; std::getline(iss, line); ) { + + std::istringstream iss( + minecraft->commandManager().execute(*minecraft, *minecraft->player, _input) + ); + + for (std::string line; std::getline(iss, line);) { minecraft->gui.addMessage(line); } - } else { - // @ai @rewrite - if (minecraft->netCallback && minecraft->raknetInstance->isServer()) { - static_cast(minecraft->netCallback)->displayGameMessage(_input); - } else if (minecraft->netCallback) { - MessagePacket chatPkt(_input.c_str()); - minecraft->raknetInstance->send(chatPkt); - } else { - minecraft->gui.addMessage("<" + minecraft->player->name + "> " + _input); + } + else { + if (minecraft->raknetInstance->isServer()) { + minecraft->raknetInstance->send(MessagePacket(_input.c_str())); } + + minecraft->gui.addMessage("<" + minecraft->player->name + "> " + _input); } minecraft->setScreen(NULL); diff --git a/src/commands/CommandBan.cpp b/src/commands/CommandBan.cpp index 0373d5b..3877d95 100644 --- a/src/commands/CommandBan.cpp +++ b/src/commands/CommandBan.cpp @@ -36,14 +36,14 @@ std::string CommandBan::execute(Minecraft& mc, Player& player, const std::vector (*it)->remove(); mc.raknetInstance->getPeer()->CloseConnection((*it)->owner, true); } else { - for (auto& banned : mc.level->bannedPpl) { + for (auto& banned : mc.level->bannedPlayers) { if (nicknameLower == banned) { return args[0] + "already banned!"; } } } - mc.level->bannedPpl.insert(nicknameLower); + mc.level->bannedPlayers.insert(nicknameLower); return "ban: successfully banned player " + args[0]; } diff --git a/src/commands/CommandManager.cpp b/src/commands/CommandManager.cpp index 4c49eaf..ae25b9a 100644 --- a/src/commands/CommandManager.cpp +++ b/src/commands/CommandManager.cpp @@ -36,32 +36,25 @@ std::vector CommandManager::getListAllCommands() { } std::string CommandManager::execute(Minecraft& mc, Player& player, const std::string& input) { - if (!mc.level->isClientSide) { - std::istringstream ss(input); - std::string cmd; + std::istringstream ss(input); + std::string cmd; - ss >> cmd; + ss >> cmd; - auto it = std::find_if(m_commands.begin(), m_commands.end(), [cmd](auto& it) -> bool { - return it->getName() == cmd; - }); + auto it = std::find_if(m_commands.begin(), m_commands.end(), [cmd](auto& it) -> bool { + return it->getName() == cmd; + }); - if (it == m_commands.end()) { - return "Command /" + cmd + " not found"; - } - - std::vector args; - - std::string tok; - while (ss >> tok) args.push_back(tok); - - return (*it)->execute(mc, player, args); - } else { - ChatPacket packet("/" + input); - mc.raknetInstance->send(packet); + if (it == m_commands.end()) { + return "Command /" + cmd + " not found"; } - return std::string(); + std::vector args; + + std::string tok; + while (ss >> tok) args.push_back(tok); + + return (*it)->execute(mc, player, args); } Command* CommandManager::getCommand(const std::string& name) { diff --git a/src/main_dedicated.cpp b/src/main_dedicated.cpp index fcf14ce..5e27cd3 100755 --- a/src/main_dedicated.cpp +++ b/src/main_dedicated.cpp @@ -190,13 +190,13 @@ int main(int numArguments, char* pszArgs[]) { while (std::getline(banned, line)) { if (!line.empty()) { - ((MAIN_CLASS*)g_app)->level->bannedPpl.insert(line); + ((MAIN_CLASS*)g_app)->level->bannedPlayers.insert(line); } } } else { - std::ofstream bannedPpl("banned-players.txt"); + std::ofstream bannedPlayers("banned-players.txt"); - if (!bannedPpl.is_open()) { + if (!bannedPlayers.is_open()) { throw std::runtime_error("Cannot create banned players list."); } } @@ -225,7 +225,7 @@ int main(int numArguments, char* pszArgs[]) { std::ofstream bannedWrite("banned-players.txt"); if (bannedWrite.is_open()) { - for (auto& banned : ((MAIN_CLASS*)g_app)->level->bannedPpl) { + for (auto& banned : ((MAIN_CLASS*)g_app)->level->bannedPlayers) { bannedWrite << banned << std::endl; } bannedWrite.close(); diff --git a/src/network/RakNetInstance.cpp b/src/network/RakNetInstance.cpp index 75a2814..d5e3ad0 100755 --- a/src/network/RakNetInstance.cpp +++ b/src/network/RakNetInstance.cpp @@ -200,7 +200,7 @@ void RakNetInstance::runEvents(NetEventCallback* callback) case ID_DISCONNECTION_NOTIFICATION: case ID_CONNECTION_LOST: callback->onDisconnect(currentEvent->guid); - break; + return; case ID_UNCONNECTED_PONG: { RakNet::TimeMS time; diff --git a/src/network/ServerSideNetworkHandler.cpp b/src/network/ServerSideNetworkHandler.cpp index dd9f08f..7863e37 100755 --- a/src/network/ServerSideNetworkHandler.cpp +++ b/src/network/ServerSideNetworkHandler.cpp @@ -257,7 +257,7 @@ void ServerSideNetworkHandler::handle(const RakNet::RakNetGUID& source, LoginPac } } - for (auto& banned : level->bannedPpl) { + for (auto& banned : level->bannedPlayers) { if (nicknameLower == banned) { loginStatus = packet->newProto ? LoginStatus::Failed_Banned : LoginStatus::Failed_ClientOld; break; diff --git a/src/world/level/Level.h b/src/world/level/Level.h index 17c1d48..e9b9294 100755 --- a/src/world/level/Level.h +++ b/src/world/level/Level.h @@ -312,7 +312,7 @@ public: Random random; std::set ops; - std::set bannedPpl; + std::set bannedPlayers; protected: bool isFindingSpawn;