FEAT: server-side commands

This commit is contained in:
Kolyah35
2026-04-04 01:13:56 +03:00
parent 4dc7055d9d
commit 4023d70687
13 changed files with 83 additions and 40 deletions

View File

@@ -9,13 +9,13 @@
CommandKick::CommandKick() : Command("kick") {}
void CommandKick::execute(Minecraft& mc, Player& player, const std::vector<std::string>& args) {
std::string CommandKick::execute(Minecraft& mc, Player& player, const std::vector<std::string>& args) {
if (!isPlayerOp(mc, player)) {
return mc.addMessage("You aren't enough priveleged to run this command");
return "You aren't enough priveleged to run this command";
}
if (args.empty()) {
return printHelp(mc);
return help(mc);
}
auto it = std::find_if(mc.level->players.begin(), mc.level->players.end(), [args] (auto& it) -> bool {
@@ -23,11 +23,11 @@ void CommandKick::execute(Minecraft& mc, Player& player, const std::vector<std::
});
if (it == mc.level->players.end()) {
return mc.addMessage("kick: can't find player with name " + args[0]);
return "kick: can't find player with name " + args[0];
}
if (*it == (Player*)mc.player) {
return mc.addMessage("kick: you can't kick urself lol");
return "kick: you can't kick urself lol";
}
mc.level->removePlayer(*it);
@@ -36,6 +36,6 @@ void CommandKick::execute(Minecraft& mc, Player& player, const std::vector<std::
mc.addMessage("kick: successfully kicked player " + args[0]);
}
void CommandKick::printHelp(Minecraft& mc) {
mc.addMessage("Usage: /kick <player>");
std::string CommandKick::help(Minecraft& mc) {
return "Usage: /kick <player>";
}