LeviLamina
Loading...
Searching...
No Matches
CommandOrigin.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4#include "mc/deps/crypto/random/Random.h"
5#include "mc/platform/UUID.h"
6
7// auto generated inclusion list
8#include "mc/common/SubClientId.h"
9#include "mc/deps/core/utility/NonOwnerPointer.h"
10#include "mc/platform/UUID.h"
11#include "mc/server/commands/CommandOriginType.h"
12#include "mc/server/commands/CommandPermissionLevel.h"
13#include "mc/world/actor/player/AbilitiesIndex.h"
14
15// auto generated forward declare list
16// clang-format off
17class Actor;
18class BlockPos;
19class CommandArea;
21class CompoundTag;
22class Dimension;
23class ILevel;
24class Level;
26class Vec2;
27class Vec3;
30// clang-format on
31
32class CommandOrigin {
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 16, ::mce::UUID> mUUID;
37 // NOLINTEND
38
39public:
40 CommandOrigin() { mUUID = Crypto::Random::generateUUID(); }
41 LLNDAPI std::string getLocaleCode() const;
42
43public:
44 // virtual functions
45 // NOLINTBEGIN
46 virtual ~CommandOrigin() = default;
47
48 virtual ::std::string const& getRequestId() const = 0;
49
50 virtual ::std::string getName() const = 0;
51
52 virtual ::BlockPos getBlockPosition() const = 0;
53
54 virtual ::Vec3 getWorldPosition() const = 0;
55
56 virtual ::std::optional<::Vec2> getRotation() const = 0;
57
58 virtual ::Level* getLevel() const = 0;
59
60 virtual ::Dimension* getDimension() const = 0;
61
62 virtual ::Actor* getEntity() const = 0;
63
64 virtual ::CommandPermissionLevel getPermissionsLevel() const = 0;
65
66 virtual ::std::unique_ptr<::CommandOrigin> clone() const = 0;
67
68 virtual ::std::optional<::BlockPos> getCursorHitBlockPos() const;
69
70 virtual ::std::optional<::Vec3> getCursorHitPos() const;
71
72 virtual bool hasChatPerms() const;
73
74 virtual bool hasTellPerms() const;
75
76 virtual bool canUseAbility(::AbilitiesIndex ability) const;
77
78 virtual bool isWorldBuilder() const;
79
80 virtual bool canUseCommandsWithoutCheatsEnabled() const;
81
82 virtual bool isSelectorExpansionAllowed() const;
83
84 virtual ::NetworkIdentifier const& getSourceId() const;
85
86 virtual ::SubClientId getSourceSubId() const;
87
88 virtual ::CommandOrigin const& getOutputReceiver() const;
89
90 virtual ::CommandOriginIdentity getIdentity() const;
91
92 virtual ::CommandOriginType getOriginType() const = 0;
93
94 virtual ::CommandOriginData toCommandOriginData() const;
95
96 virtual ::mce::UUID const& getUUID() const;
97
98 virtual void handleCommandOutputCallback(int, ::std::string&&) const;
99
100 virtual void updateValues();
101
102 virtual ::Vec3 const getExecutePosition(int version, ::CommandPositionFloat const& commandPosition) const;
103
104 virtual ::CompoundTag serialize() const;
105
106 virtual bool isValid() const = 0;
107
108 virtual bool requiresValidLevel() const;
109
110 virtual void _setUUID(::mce::UUID const& uuid);
111 // NOLINTEND
112
113public:
114 // member functions
115 // NOLINTBEGIN
116 MCAPI ::std::unique_ptr<::CommandArea> getAreaAt(::BlockPos const& pos, int commandVersion) const;
117
118 MCAPI ::std::unique_ptr<::CommandArea>
119 getAreaAt(::BlockPos const& min, ::BlockPos const& max, int commandVersion, bool allowUnloadedChunks) const;
120
121 MCAPI ::std::unique_ptr<::CommandArea> getAreaAtWithBuffer(
122 ::BlockPos const& min,
123 ::BlockPos const& max,
124 int commandVersion,
125 bool allowUnloadedChunks
126 ) const;
127 // NOLINTEND
128
129public:
130 // static functions
131 // NOLINTBEGIN
132 MCAPI static ::std::unique_ptr<::CommandOrigin> fromCommandOriginData(
133 ::CommandOriginData const& data,
135 ::NetworkIdentifier const& sourceId,
136 ::SubClientId sourceSubId
137 );
138 // NOLINTEND
139
140public:
141 // static variables
142 // NOLINTBEGIN
143 MCAPI static ::NetworkIdentifier& sUnknownSource();
144 // NOLINTEND
145
146public:
147 // virtual function thunks
148 // NOLINTBEGIN
149 MCFOLD ::std::optional<::BlockPos> $getCursorHitBlockPos() const;
150
151 MCFOLD ::std::optional<::Vec3> $getCursorHitPos() const;
152
153 MCAPI bool $hasChatPerms() const;
154
155 MCAPI bool $hasTellPerms() const;
156
157#ifdef LL_PLAT_S
158 MCFOLD bool $canUseAbility(::AbilitiesIndex ability) const;
159#endif
160
161 MCAPI bool $isWorldBuilder() const;
162
163 MCFOLD bool $canUseCommandsWithoutCheatsEnabled() const;
164
165 MCAPI bool $isSelectorExpansionAllowed() const;
166
167 MCAPI ::NetworkIdentifier const& $getSourceId() const;
168
169 MCFOLD ::SubClientId $getSourceSubId() const;
170
171 MCFOLD ::CommandOrigin const& $getOutputReceiver() const;
172
173 MCAPI ::CommandOriginIdentity $getIdentity() const;
174
175 MCAPI ::CommandOriginData $toCommandOriginData() const;
176
177 MCFOLD ::mce::UUID const& $getUUID() const;
178
179 MCFOLD void $handleCommandOutputCallback(int, ::std::string&&) const;
180
181 MCFOLD void $updateValues();
182
183 MCAPI ::Vec3 const $getExecutePosition(int version, ::CommandPositionFloat const& commandPosition) const;
184
185 MCAPI ::CompoundTag $serialize() const;
186
187 MCFOLD bool $requiresValidLevel() const;
188
189 MCAPI void $_setUUID(::mce::UUID const& uuid);
190
191
192 // NOLINTEND
193
194public:
195 // vftables
196 // NOLINTBEGIN
197 MCNAPI static void** $vftable();
198 // NOLINTEND
199};
Definition Actor.h:105
Definition NonOwnerPointer.h:9
Definition BlockPos.h:19
Definition CommandArea.h:5
static MCAPI void ** $vftable()
Definition CommandPositionFloat.h:8
Definition CompoundTag.h:23
Definition Dimension.h:85
Definition ILevel.h:214
Definition Level.h:249
Definition NetworkIdentifier.h:10
Definition Vec2.h:5
Definition Vec3.h:10
Definition UUID.h:7
Definition CommandOriginData.h:9
Definition CommandOriginIdentity.h:5