LeviLamina
Loading...
Searching...
No Matches
ServerLevel.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/common/SubClientId.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/UniqueOwnerPointer.h"
9#include "mc/deps/core/utility/pub_sub/Subscription.h"
10#include "mc/deps/game_refs/OwnerPtr.h"
11#include "mc/server/commands/CurrentCmdVersion.h"
12#include "mc/util/IDType.h"
13#include "mc/util/TagRegistry.h"
14#include "mc/world/actor/player/PlayerDeathManager.h"
15#include "mc/world/level/BossbarManager.h"
16#include "mc/world/level/CommandOriginSystem.h"
17#include "mc/world/level/Level.h"
18#include "mc/world/level/LevelChunkMetaDataManager.h"
19#include "mc/world/persistence/DynamicPropertiesDefinition.h"
20
21// auto generated forward declare list
22// clang-format off
23class Actor;
25class Command;
26class CommandManager;
27class CommandOrigin;
30class Experiments;
31class HashedString;
33class LevelSettings;
34class MapDataManager;
35class MobEvents;
37class Player;
39class Random;
45class TagCacheManager;
46class TickTimeManager;
48class TradeTables;
52struct LevelTagIDType;
55namespace GameModeExt { struct MessengerFactory; }
56namespace PositionTrackingDB { class PositionTrackingDBServer; }
57// clang-format on
58
59class ServerLevel : public ::Level {
60public:
61 // member variables
62 // NOLINTBEGIN
63 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mServerResourcePackManager;
64 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mClientResourcePackManager;
65 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::TradeTables>> mTradeTable;
66 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueOwnerPointer<::CommandManager>> mCommandManager;
67 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MobEvents>> mMobEvents;
68 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::TagCacheManager>>> mTagCacheManager;
69 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PositionTrackingDB::PositionTrackingDBServer>>
70 mServerPositionTrackerDB;
71 ::ll::TypedStorage<8, 64, ::BossbarManager> mBossbarManager;
72 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VolumeEntityManagerServer>> mVolumeEntityManager;
73 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DynamicPropertiesManager>> mDynamicPropertiesManager;
74 ::ll::TypedStorage<8, 72, ::DynamicPropertiesDefinition> mDynamicPropertiesDefinition;
75 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnActorEntityAdded;
76 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::ChunkGenerationManager>>>
77 mChunkGenerationManager;
78 ::ll::TypedStorage<8, 16, ::gsl::not_null<::OwnerPtr<::TickTimeManagerServer>>> mTickTimeManager;
79 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::ServerPlayerSleepManager>>>
80 mServerPlayerSleepManager;
81 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerWakeUpSubscription;
82 ::ll::TypedStorage<8, 168, ::PlayerDeathManager> mPlayerDeathManager;
83 ::ll::TypedStorage<8, 48, ::LevelChunkMetaDataManager> mLevelChunkMetaDataManager;
84 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::ServerMapDataManager>>> mMapDataManager;
85 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mNextTelemetrySendTime;
86 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ServerSubChunkLighter>> mServerSubChunkLighter;
87 // NOLINTEND
88
89public:
90 // prevent constructor by default
91 ServerLevel& operator=(ServerLevel const&);
92 ServerLevel(ServerLevel const&);
93 ServerLevel();
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 virtual ~ServerLevel() /*override*/;
99
100 virtual bool initialize(
101 ::std::string const& levelName,
102 ::LevelSettings const& levelSettings,
103 ::Experiments const& experiments,
104 ::std::string const* levelId,
105 ::std::optional<::std::reference_wrapper<
106 ::std::unordered_map<::std::string, ::std::unique_ptr<::BiomeJsonDocumentGlueResolvedBiomeData>>>>
107 biomeIdToResolvedData
108 ) /*override*/;
109
110 virtual ::PlayerSleepManager const& getPlayerSleepManager() const /*override*/;
111
112 virtual ::PlayerSleepManager& getPlayerSleepManager() /*override*/;
113
114 virtual ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager> getServerPlayerSleepManager() /*override*/;
115
116 virtual ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager const> getServerPlayerSleepManager() const
117 /*override*/;
118
119 virtual void setCommandsEnabled(bool commandsEnabled) /*override*/;
120
121 virtual void setWorldTemplateOptionsUnlocked() /*override*/;
122
123 virtual ::ResourcePackManager* getClientResourcePackManager() const /*override*/;
124
125 virtual ::ResourcePackManager* getServerResourcePackManager() const /*override*/;
126
127 virtual ::TradeTables* getTradeTables() /*override*/;
128
129 virtual void runCommand(
130 ::HashedString const& commandStr,
131 ::CommandOrigin& origin,
132 ::CommandOriginSystem originSystem,
133 ::CurrentCmdVersion const commandVersion
134 ) /*override*/;
135
136 virtual void
137 runCommand(::Command& command, ::CommandOrigin& origin, ::CommandOriginSystem originSystem) /*override*/;
138
139 virtual void decrementTagCache(
140 ::std::string const& tag,
142 ) /*override*/;
143
144 virtual void incrementTagCache(
145 ::std::string const& tag,
147 ) /*override*/;
148
149 virtual ::Bedrock::NonOwnerPointer<::TagCacheManager> getTagCacheManager() /*override*/;
150
151 virtual ::LevelChunkMetaDataManager* getLevelChunkMetaDataManager() /*override*/;
152
153 virtual void loadFunctionManager() /*override*/;
154
155 virtual ::Random& getThreadRandom() const /*override*/;
156
157 virtual ::PositionTrackingDB::PositionTrackingDBServer* getPositionTrackerDBServer() const /*override*/;
158
159 virtual ::Bedrock::NonOwnerPointer<::VolumeEntityManagerServer> tryGetVolumeEntityManagerServer() const
160 /*override*/;
161
162 virtual void clearAllGenerationRequests(::NetworkIdentifier const& player, ::SubClientId clientId) /*override*/;
163
164 virtual ::Bedrock::NonOwnerPointer<::ChunkGenerationManager> getChunkGenerationManager() /*override*/;
165
166 virtual ::Bedrock::NonOwnerPointer<::ChunkGenerationManager const> getChunkGenerationManager() const /*override*/;
167
168 virtual ::Bedrock::NotNullNonOwnerPtr<::MapDataManager> getMapDataManager() /*override*/;
169
170 virtual ::GameModeExt::MessengerFactory createMessengerFactory() const /*override*/;
171
172 virtual ::std::weak_ptr<::ISubChunkLighter> getSubChunkLighter() const /*override*/;
173
174 virtual void _subTick() /*override*/;
175
176 virtual ::TickTimeManager const& _getTickTimeManager() const /*override*/;
177
178 virtual ::TickTimeManager& _getTickTimeManager() /*override*/;
179
180 virtual ::PlayerDeathManager* _getPlayerDeathManager() /*override*/;
181
182 virtual ::MapDataManager& _getMapDataManager() /*override*/;
183
184 virtual void _initializeMapDataManager() /*override*/;
185 // NOLINTEND
186
187public:
188 // member functions
189 // NOLINTBEGIN
190 MCAPI explicit ServerLevel(::ServerLevelArguments&& args);
191
192 MCAPI void _initializeActorManager();
193
194 MCAPI void _initializeDynamicPropertiesManager();
195
196 MCAPI void _initializeMobEvents();
197
198 MCAPI void _initializePlayerSleepManager();
199
200 MCAPI void _initializeScoreboard();
201
202 MCAPI void _onActorEntityAdded(::Actor& actor);
203
204 MCAPI void _onPlayerWakeUp(::Player& player);
205
206 MCAPI void bindDynamicScriptTypes(::ServerScriptManager& script);
207
208 MCFOLD ::CommandManager const& getCommandManager() const;
209
210 MCFOLD ::CommandManager& getCommandManager();
211
212 MCAPI ::DynamicPropertiesDefinition& getDynamicPropertiesDefinition();
213
214 MCAPI ::DynamicPropertiesManager& getDynamicPropertiesManager() const;
215
216 MCFOLD ::MobEvents const& getMobEvents() const;
217
218 MCFOLD ::MobEvents& getMobEvents();
219
220 MCAPI ::DynamicProperties& getOrAddDynamicProperties();
221
222 MCAPI ::Bedrock::NotNullNonOwnerPtr<::WorldClockRegistryServer> getWorldClockRegistryServer() const;
223
224 MCAPI void setShouldSendSleepMessage(bool shouldSend);
225
226 MCAPI bool shouldSendSleepMessage() const;
227 // NOLINTEND
228
229public:
230 // constructor thunks
231 // NOLINTBEGIN
232 MCAPI void* $ctor(::ServerLevelArguments&& args);
233 // NOLINTEND
234
235public:
236 // destructor thunk
237 // NOLINTBEGIN
238 MCAPI void $dtor();
239 // NOLINTEND
240
241public:
242 // virtual function thunks
243 // NOLINTBEGIN
244 MCAPI bool $initialize(
245 ::std::string const& levelName,
246 ::LevelSettings const& levelSettings,
247 ::Experiments const& experiments,
248 ::std::string const* levelId,
249 ::std::optional<::std::reference_wrapper<
250 ::std::unordered_map<::std::string, ::std::unique_ptr<::BiomeJsonDocumentGlueResolvedBiomeData>>>>
251 biomeIdToResolvedData
252 );
253
254 MCFOLD ::PlayerSleepManager const& $getPlayerSleepManager() const;
255
256 MCFOLD ::PlayerSleepManager& $getPlayerSleepManager();
257
258 MCFOLD ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager> $getServerPlayerSleepManager();
259
260 MCFOLD ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager const> $getServerPlayerSleepManager() const;
261
262 MCAPI void $setCommandsEnabled(bool commandsEnabled);
263
264 MCAPI void $setWorldTemplateOptionsUnlocked();
265
266 MCAPI ::ResourcePackManager* $getClientResourcePackManager() const;
267
268 MCAPI ::ResourcePackManager* $getServerResourcePackManager() const;
269
270 MCAPI ::TradeTables* $getTradeTables();
271
272 MCAPI void $runCommand(
273 ::HashedString const& commandStr,
274 ::CommandOrigin& origin,
275 ::CommandOriginSystem originSystem,
276 ::CurrentCmdVersion const commandVersion
277 );
278
279 MCAPI void $runCommand(::Command& command, ::CommandOrigin& origin, ::CommandOriginSystem originSystem);
280
281 MCAPI void $decrementTagCache(
282 ::std::string const& tag,
284 );
285
286 MCAPI void $incrementTagCache(
287 ::std::string const& tag,
289 );
290
291 MCAPI ::Bedrock::NonOwnerPointer<::TagCacheManager> $getTagCacheManager();
292
293 MCAPI ::LevelChunkMetaDataManager* $getLevelChunkMetaDataManager();
294
295 MCAPI void $loadFunctionManager();
296
297 MCFOLD ::Random& $getThreadRandom() const;
298
299 MCAPI ::PositionTrackingDB::PositionTrackingDBServer* $getPositionTrackerDBServer() const;
300
301 MCAPI ::Bedrock::NonOwnerPointer<::VolumeEntityManagerServer> $tryGetVolumeEntityManagerServer() const;
302
303 MCAPI void $clearAllGenerationRequests(::NetworkIdentifier const& player, ::SubClientId clientId);
304
305 MCFOLD ::Bedrock::NonOwnerPointer<::ChunkGenerationManager> $getChunkGenerationManager();
306
307 MCFOLD ::Bedrock::NonOwnerPointer<::ChunkGenerationManager const> $getChunkGenerationManager() const;
308
309 MCAPI ::Bedrock::NotNullNonOwnerPtr<::MapDataManager> $getMapDataManager();
310
311 MCAPI ::GameModeExt::MessengerFactory $createMessengerFactory() const;
312
313 MCAPI ::std::weak_ptr<::ISubChunkLighter> $getSubChunkLighter() const;
314
315 MCAPI void $_subTick();
316
317 MCFOLD ::TickTimeManager const& $_getTickTimeManager() const;
318
319 MCFOLD ::TickTimeManager& $_getTickTimeManager();
320
321 MCAPI ::PlayerDeathManager* $_getPlayerDeathManager();
322
323 MCAPI ::MapDataManager& $_getMapDataManager();
324
325 MCAPI void $_initializeMapDataManager();
326
327
328 // NOLINTEND
329
330public:
331 // vftables
332 // NOLINTBEGIN
333 MCNAPI static void** $vftableForBlockSourceListener();
334
336
337 MCNAPI static void** $vftableForILevel();
338 // NOLINTEND
339};
Definition Actor.h:123
Definition ChunkGenerationManager.h:17
Definition CommandManager.h:19
Definition CommandOrigin.h:32
Definition Command.h:18
Definition DynamicPropertiesManager.h:13
Definition DynamicProperties.h:14
Definition Experiments.h:14
Definition HashedString.h:5
Definition ISubChunkLighter.h:16
Definition LevelSettings.h:39
Definition MapDataManager.h:22
Definition MobEvents.h:18
Definition NetworkIdentifier.h:10
Definition PlayerSleepManager.h:9
Definition Player.h:136
Definition PositionTrackingDBServer.h:23
Definition Random.h:10
Definition ResourcePackManager.h:35
static MCAPI void ** $vftableForBlockSourceListener()
static MCAPI void ** $vftableForILevel()
static MCAPI void ** $vftableForIWorldRegistriesProvider()
Definition ServerMapDataManager.h:24
Definition ServerPlayerSleepManager.h:25
Definition ServerScriptManager.h:77
Definition ServerSubChunkLighter.h:16
Definition TagCacheManager.h:17
Definition TagRegistry.h:9
Definition TickTimeManagerServer.h:22
Definition TickTimeManager.h:15
Definition TradeTables.h:19
Definition VolumeEntityManagerServer.h:18
Definition WorldClockRegistryServer.h:21
Definition BiomeJsonDocumentGlueResolvedBiomeData.h:10
Definition MessengerFactory.h:13
Definition IDType.h:6
Definition LevelTagIDType.h:5
Definition LevelTagSetIDType.h:5
Definition ServerLevelArguments.h:5