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 // NOLINTEND
96
97public:
98 // member functions
99 // NOLINTBEGIN
100 MCAPI void _clear(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
101
102 MCAPI void _delayAdd(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
103
104 MCAPI void _delayClear(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
105
106 MCAPI void _onAreaLoadedAdd(
107 ::CommandOrigin const& origin,
108 ::ServerLevel& serverLevel,
109 ::Dimension& dimension,
110 ::CommandOutput& output
111 ) const;
112
113 MCAPI void _onAreaLoadedClear(::ServerLevel& serverLevel, ::Dimension& dimension, ::CommandOutput& output) const;
114
115 MCAPI ::ScheduleCommand::FunctionInfo
116 _tryGetFunction(::FunctionManager& functionManager, ::CommandOutput& output) const;
117 // NOLINTEND
118
119public:
120 // static functions
121 // NOLINTBEGIN
122 MCAPI static void setup(::CommandRegistry& registry);
123 // NOLINTEND
124
125public:
126 // virtual function thunks
127 // NOLINTBEGIN
128 MCAPI void $execute(::CommandOrigin const& origin, ::CommandOutput& output) const;
129
130
131 // NOLINTEND
132
133public:
134 // vftables
135 // NOLINTBEGIN
136 MCNAPI static void** $vftable();
137 // NOLINTEND
138};
139
140// clang-format off
141template <>
142MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::ScheduleCommand::ClearType>();
143template <>
144MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::ScheduleCommand::DelayMode>();
145template <>
146MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::ScheduleCommand::RequestAction>();
147template <>
148MCAPI ::ll::type_id_ref Bedrock::typeid_storage_impl<class CommandRegistry, ::ScheduleCommand::ScheduleAction>();
149// clang-format on
Definition CommandOrigin.h:32
Definition CommandOutput.h:20
Definition CommandRegistry.h:51
Definition Dimension.h:89
Definition FunctionEntry.h:16
Definition FunctionManager.h:22
Definition ScheduleCommand.h:22
static MCAPI void ** $vftable()
Definition ServerLevel.h:59
Definition ScheduleCommand.h:51