22class FunctionManager {
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CommandOrigin>> mOrigin;
37 ::ll::TypedStorage<4, 4, uint> mRefCount;
45 ::ll::TypedStorage<8, 8, ::IFunctionEntry*> mFunction;
46 ::ll::TypedStorage<8, 8, ::gsl::not_null<::CommandOrigin const*>> mOrigin;
54 ::ll::TypedStorage<8, 8, ::gsl::not_null<::FunctionEntry*>> mFunction;
55 ::ll::TypedStorage<1, 1, ::FunctionQueueOrder> mOrder;
62 ::ll::TypedStorage<8, 8, ::GameRule const*> mGameRule;
63 ::ll::TypedStorage<1, 1, bool> mIsProcessingStack;
64 ::ll::TypedStorage<8, 8, uint64> mInsertPoint;
65 ::ll::TypedStorage<4, 4, int> mExecutionCount;
66 ::ll::TypedStorage<8, 24, ::std::vector<::FunctionManager::QueuedCommand>> mCommandList;
67 ::ll::TypedStorage<8, 64, ::std::unordered_map<::CommandOrigin const*, ::FunctionManager::OriginMapping>>
69 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::ICommandDispatcher>> mCommandDispatcher;
70 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::CommandOrigin>> mTickOrigin;
71 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::std::unique_ptr<::FunctionEntry>>> mFunctions;
72 ::ll::TypedStorage<8, 24, ::std::vector<::FunctionManager::TickFunction>> mTickFunctions;
82 virtual ~FunctionManager();
88 MCAPI FunctionManager(
89 ::std::unique_ptr<::ICommandDispatcher> commandDispatcher,
90 ::std::unique_ptr<::CommandOrigin> tickOrigin,
94 MCAPI ::CommandOrigin
const& _addOriginReference(
::CommandOrigin const& origin, uint amount);
96 MCAPI
void _addTickFunctionsFromJson(
::Json::Value const& arrayVal, ::CurrentCmdVersion resourceCommandVersion);
103 MCAPI
void _processFunctionEntry(
104 ::std::string
const& functionName,
105 ::std::vector<::std::string>
const& lines,
106 ::std::vector<::std::string>& errorList,
107 ::CurrentCmdVersion commandVersion,
111 MCAPI
void _queueCommandsAfterCaller(
112 ::std::vector<::std::unique_ptr<::IFunctionEntry>>
const& toQueue,
116 MCAPI
void _queueCommandsNextToExecute(
117 ::std::vector<::std::unique_ptr<::IFunctionEntry>>
const& toQueue,
121 MCAPI
void _removeOriginReference(
::CommandOrigin const& origin, uint amount);
125 MCAPI ::FunctionEntry* getFunction(::std::string
const& functionName);
135 MCAPI static ::std::string getFunctionNameFromPath(
::Core::Path const& filename);
137 MCAPI static ::FunctionQueueOrder getQueueOrderForCommandVersion(::CurrentCmdVersion version);
144 ::std::unique_ptr<::ICommandDispatcher> commandDispatcher,
145 ::std::unique_ptr<::CommandOrigin> tickOrigin,
Definition FunctionEntry.h:16
Definition IFunctionEntry.h:14