// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"
#include "Command.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class AgentCommand : public Command {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_AGENTCOMMAND
public:
    class AgentCommand& operator=(class AgentCommand const &) = delete;
    AgentCommand(class AgentCommand const &) = delete;
    AgentCommand() = delete;
#endif

public:
    /*0*/ virtual ~AgentCommand();
    /*1*/ virtual void execute(class CommandOrigin const &, class CommandOutput &) const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_AGENTCOMMAND
#endif
    MCAPI static void setup(class CommandRegistry &);

//private:
    MCAPI void createAgent(class Player &, class CommandOrigin const &, class CommandOutput &) const;
    MCAPI void createAgentOutputSuccess(class CommandOutput &, bool) const;
    MCAPI void reportSuccess(bool, class CommandOutput &) const;
    MCAPI bool runAgentCommand(class CommandOrigin const &, class CommandOutput &, class std::function<std::unique_ptr<class AgentCommands::Command> (class Player &)>) const;
    MCAPI void setAgentOwner(class Agent &, class Player &) const;
    MCAPI void tpAgent(class Player &, class CommandOrigin const &, class CommandOutput &) const;
    MCAPI static bool validateRange(class Agent *, class CommandOrigin const &, class CommandOutput &);

private:

};