FEAT: Meet the commands

This commit is contained in:
Kolyah35
2026-03-30 14:04:16 +03:00
parent 3cfa2d9ee7
commit 5194575092
12 changed files with 230 additions and 119 deletions

25
src/commands/Command.hpp Normal file
View File

@@ -0,0 +1,25 @@
#pragma once
#include <string>
#include <vector>
enum CommandFlags {
COMMAND_FLAG_SINGLEPLAYER_ONLY = (1 << 1),
COMMAND_FLAG_NO_ARGS = (1 << 2),
};
class Minecraft;
class Command {
public:
const std::string& getName() { return m_name; }
const CommandFlags getFlags() { return m_flags; }
virtual void execute(Minecraft& mc, const std::vector<std::string>& args) = 0;
virtual void printHelp(Minecraft& mc) = 0;
protected:
Command(const std::string& name, CommandFlags flags = (CommandFlags)0) : m_name(name), m_flags(flags) {}
const std::string m_name;
const CommandFlags m_flags;
};