#include "minecraft/util/Log.h" #include "CommandDispatcher.h" #include #include #include "app/linux/LinuxGame.h" #include "minecraft/commands/Command.h" #include "minecraft/commands/CommandSender.h" #include "minecraft/commands/CommandsEnum.h" int CommandDispatcher::performCommand(std::shared_ptr sender, EGameCommand command, std::vector& commandData) { auto it = commandsById.find(command); if (it != commandsById.end()) { Command* command = it->second; if (command->canExecute(sender)) { command->execute(sender, commandData); } else { #ifndef _CONTENT_PACKAGE sender->sendMessage( "\u00A7cYou do not have permission to use this command."); #endif } } else { Log::info("Command %d not found!\n", command); } return 0; } Command* CommandDispatcher::addCommand(Command* command) { commandsById[command->getId()] = command; commands.insert(command); return command; }