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