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