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 Dimension;
17class FunctionEntry;
18class FunctionManager;
19class ServerLevel;
20// clang-format on
21
22class ScheduleCommand : public ::Command {
23public:
24 // ScheduleCommand inner types declare
25 // clang-format off
26 struct FunctionInfo;
27 // clang-format on
28
29 // ScheduleCommand inner types define
30 enum class ClearType : int {
31 FunctionName = 0,
32 TickingAreaName = 1,
33 };
34
35 enum class DelayMode : int {
36 Append = 0,
37 Replace = 1,
38 };
39
40 enum class RequestAction : int {
41 Add = 0,
42 Clear = 1,
43 };
44
45 enum class ScheduleAction : int {
46 Clear = 0,
47 Delay = 1,
48 OnAreaLoaded = 2,
49 };
50
51 struct FunctionInfo {
52 public:
53 // member variables
54 // NOLINTBEGIN
55 ::ll::TypedStorage<8, 8, ::FunctionEntry*> mFunctionEntry;
56 ::ll::TypedStorage<8, 32, ::std::string> mResolvedPath;
57 ::ll::TypedStorage<1, 1, bool> mIsValid;
58 // NOLINTEND
59
60 public:
61 // member functions
62 // NOLINTBEGIN
63 MCAPI ~FunctionInfo();
64 // NOLINTEND
65
66 public:
67 // destructor thunk
68 // NOLINTBEGIN
69 MCFOLD void $dtor();
70 // NOLINTEND
71 };
72
73public:
74 // member variables
75 // NOLINTBEGIN
76 ::ll::TypedStorage<4, 4, ::ScheduleCommand::ScheduleAction> mScheduleAction;
77 ::ll::TypedStorage<4, 4, ::ScheduleCommand::RequestAction> mRequestAction;
78 ::ll::TypedStorage<4, 4, ::ScheduleCommand::DelayMode> mDelayMode;
79 ::ll::TypedStorage<1, 1, ::AreaType> mAreaType;
80 ::ll::TypedStorage<4, 4, ::ScheduleCommand::ClearType> mClearType;
81 ::ll::TypedStorage<8, 32, ::CommandFilePath> mFilePath;
82 ::ll::TypedStorage<4, 16, ::CommandPosition> mFrom;
83 ::ll::TypedStorage<4, 16, ::CommandPosition> mTo;
84 ::ll::TypedStorage<4, 4, int> mRadius;
85 ::ll::TypedStorage<4, 4, int> mTime;
86 ::ll::TypedStorage<1, 1, bool> mSecondsSet;
87 ::ll::TypedStorage<1, 1, bool> mDaysSet;
88 ::ll::TypedStorage<8, 32, ::std::string> mTickingAreaName;
89 // NOLINTEND
90
91public:
92 // virtual functions
93 // NOLINTBEGIN
94 virtual void execute(::CommandOrigin const& origin, ::CommandOutput& output) const /*override*/;
95
96 virtual ~ScheduleCommand() /*override*/ = default;
97 // NOLINTEND
98
99public:
100 // member functions
101 // NOLINTBEGIN
102 MCAPI void _clear(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
103
104 MCAPI void _delayAdd(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
105
106 MCAPI void _delayClear(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
107
108 MCAPI void _onAreaLoadedAdd(
109 ::CommandOrigin const& origin,
110 ::ServerLevel& serverLevel,
111 ::Dimension& dimension,
112 ::CommandOutput& output
113 ) const;
114
115 MCAPI void _onAreaLoadedClear(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
116
117 MCAPI ::ScheduleCommand::FunctionInfo
118 _tryGetFunction(::FunctionManager& functionManager, ::CommandOutput& output) const;
119 // NOLINTEND
120
121public:
122 // static functions
123 // NOLINTBEGIN
124 MCAPI static void setup(::CommandRegistry& registry);
125 // NOLINTEND
126
127public:
128 // virtual function thunks
129 // NOLINTBEGIN
130 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
131
132
133 // NOLINTEND
134
135public:
136 // vftables
137 // NOLINTBEGIN
138 MCNAPI static void** $vftable();
139 // NOLINTEND
140};
Definition CommandOrigin.h:32
Definition CommandOutput.h:20
Definition CommandRegistry.h:50
Definition Command.h:17
Definition Dimension.h:86
Definition FunctionEntry.h:16
Definition FunctionManager.h:22
Definition ScheduleCommand.h:22
static MCAPI void ** $vftable()
Definition ServerLevel.h:56
Definition ScheduleCommand.h:51