FEAT: Ban command, save ops and banned ppl in files

TODO: fix many crashes...
This commit is contained in:
2026-05-09 16:37:11 +02:00
parent dfb3bf1da7
commit 5bc19c4ab2
13 changed files with 187 additions and 29 deletions

View File

@@ -5,7 +5,6 @@
#include "world/level/Level.h"
#include <algorithm>
#include <client/Minecraft.h>
// RakNet::RakPeerInterface
CommandKick::CommandKick() : Command("kick") {}
@@ -18,8 +17,14 @@ std::string CommandKick::execute(Minecraft& mc, Player& player, const std::vecto
return help(mc);
}
auto it = std::find_if(mc.level->players.begin(), mc.level->players.end(), [args] (auto& it) -> bool {
return it->name == args[0];
std::string nicknameLower = args[0];
std::transform(nicknameLower.begin(), nicknameLower.end(), nicknameLower.begin(), ::tolower);
auto it = std::find_if(mc.level->players.begin(), mc.level->players.end(), [args, nicknameLower] (auto& it) -> bool {
std::string lower = it->name;
std::transform(lower.begin(), lower.end(), lower.begin(), ::tolower);
return lower == nicknameLower;
});
if (it == mc.level->players.end()) {
@@ -33,7 +38,7 @@ std::string CommandKick::execute(Minecraft& mc, Player& player, const std::vecto
mc.level->removePlayer(*it);
(*it)->remove();
mc.raknetInstance->getPeer()->CloseConnection((*it)->owner, true);
mc.addMessage("kick: successfully kicked player " + args[0]);
return "kick: successfully kicked player " + args[0];
}
std::string CommandKick::help(Minecraft& mc) {