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