LeviLamina
Loading...
Searching...
No Matches
ScheduleCommand.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/server/commands/Command.h"
7#include "mc/server/commands/CommandFilePath.h"
8#include "mc/server/commands/CommandPosition.h"
9#include "mc/world/level/chunk/AreaType.h"
10
11// auto generated forward declare list
12// clang-format off
13class CommandOrigin;
14class CommandOutput;
15class CommandRegistry;
16class FunctionEntry;
17class FunctionManager;
18// clang-format on
19
20class ScheduleCommand : public ::Command {
21public:
22 // ScheduleCommand inner types declare
23 // clang-format off
24 struct FunctionInfo;
25 // clang-format on
26
27 // ScheduleCommand inner types define
28 enum class ClearType : int {
29 FunctionName = 0,
30 TickingAreaName = 1,
31 };
32
33 enum class DelayMode : int {
34 Append = 0,
35 Replace = 1,
36 };
37
38 enum class RequestAction : int {
39 Add = 0,
40 Clear = 1,
41 };
42
43 enum class ScheduleAction : int {
44 Clear = 0,
45 Delay = 1,
46 OnAreaLoaded = 2,
47 };
48
49 struct FunctionInfo {
50 public:
51 // member variables
52 // NOLINTBEGIN
53 ::ll::TypedStorage<8, 8, ::FunctionEntry*> mFunctionEntry;
54 ::ll::TypedStorage<8, 32, ::std::string> mResolvedPath;
55 ::ll::TypedStorage<1, 1, bool> mIsValid;
56 // NOLINTEND
57 };
58
59public:
60 // member variables
61 // NOLINTBEGIN
62 ::ll::TypedStorage<4, 4, ::ScheduleCommand::ScheduleAction> mScheduleAction;
63 ::ll::TypedStorage<4, 4, ::ScheduleCommand::RequestAction> mRequestAction;
64 ::ll::TypedStorage<4, 4, ::ScheduleCommand::DelayMode> mDelayMode;
65 ::ll::TypedStorage<1, 1, ::AreaType> mAreaType;
66 ::ll::TypedStorage<4, 4, ::ScheduleCommand::ClearType> mClearType;
67 ::ll::TypedStorage<8, 32, ::CommandFilePath> mFilePath;
68 ::ll::TypedStorage<4, 16, ::CommandPosition> mFrom;
69 ::ll::TypedStorage<4, 16, ::CommandPosition> mTo;
70 ::ll::TypedStorage<4, 4, int> mRadius;
71 ::ll::TypedStorage<4, 4, int> mTime;
72 ::ll::TypedStorage<1, 1, bool> mSecondsSet;
73 ::ll::TypedStorage<1, 1, bool> mDaysSet;
74 ::ll::TypedStorage<8, 32, ::std::string> mTickingAreaName;
75 // NOLINTEND
76
77public:
78 // virtual functions
79 // NOLINTBEGIN
80 virtual void execute(::CommandOrigin const& origin, ::CommandOutput& output) const /*override*/;
81 // NOLINTEND
82
83public:
84 // member functions
85 // NOLINTBEGIN
86 MCAPI ::ScheduleCommand::FunctionInfo
87 _tryGetFunction(::FunctionManager& functionManager, ::CommandOutput& output) const;
88 // NOLINTEND
89
90public:
91 // static functions
92 // NOLINTBEGIN
93 MCAPI static void setup(::CommandRegistry& registry);
94 // NOLINTEND
95
96public:
97 // virtual function thunks
98 // NOLINTBEGIN
99 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
100
101
102 // NOLINTEND
103};
Definition CommandOrigin.h:32
Definition CommandOutput.h:20
Definition CommandRegistry.h:51
Definition Command.h:17
Definition FunctionEntry.h:16
Definition FunctionManager.h:19
Definition ScheduleCommand.h:20
Definition ScheduleCommand.h:49