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/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/UniqueOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Subscription.h"
9#include "mc/deps/game_refs/WeakRef.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/persistence/DynamicPropertiesDefinition.h"
20
21// auto generated forward declare list
22// clang-format off
23class Actor;
26class Command;
27class CommandManager;
28class CommandOrigin;
30class EntityContext;
31class Experiments;
32class HashedString;
35class ItemRegistryRef;
36class LevelData;
37class LevelSettings;
38class LevelStorage;
40class MapDataManager;
42class MobEvents;
43class PacketSender;
44class Player;
46class Random;
48class Scheduler;
53class TagCacheManager;
55struct LevelTagIDType;
58namespace PositionTrackingDB { class PositionTrackingDBServer; }
59// clang-format on
60
61class ServerLevel : public ::Level {
62public:
63 // member variables
64 // NOLINTBEGIN
65 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mServerResourcePackManager;
66 ::ll::TypedStorage<8, 8, ::ResourcePackManager&> mClientResourcePackManager;
67 ::ll::TypedStorage<8, 64, ::TradeTables> mTradeTable;
68 ::ll::TypedStorage<8, 16, ::Bedrock::UniqueOwnerPointer<::CommandManager>> mCommandManager;
69 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::MobEvents>> mMobEvents;
70 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::TagCacheManager>>> mTagCacheManager;
71 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::PositionTrackingDB::PositionTrackingDBServer>>
72 mServerPositionTrackerDB;
73 ::ll::TypedStorage<8, 64, ::BossbarManager> mBossbarManager;
74 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::VolumeEntityManagerServer>> mVolumeEntityManager;
75 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::DynamicPropertiesManager>> mDynamicPropertiesManager;
76 ::ll::TypedStorage<8, 72, ::DynamicPropertiesDefinition> mDynamicPropertiesDefinition;
77 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnActorEntityAdded;
78 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::ChunkGenerationManager>>>
79 mChunkGenerationManager;
80 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::ServerPlayerSleepManager>>>
81 mServerPlayerSleepManager;
82 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerWakeUpSubscription;
83 ::ll::TypedStorage<8, 168, ::PlayerDeathManager> mPlayerDeathManager;
84 ::ll::TypedStorage<8, 48, ::LevelChunkMetaDataManager> mLevelChunkMetaDataManager;
85 ::ll::TypedStorage<8, 16, ::gsl::not_null<::Bedrock::UniqueOwnerPointer<::ServerMapDataManager>>> mMapDataManager;
86 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mNextTelemetrySendTime;
87 // NOLINTEND
88
89public:
90 // prevent constructor by default
91 ServerLevel& operator=(ServerLevel const&);
94
95public:
96 // virtual functions
97 // NOLINTBEGIN
98 // vIndex: 0
99 virtual ~ServerLevel() /*override*/;
100
101 // vIndex: 1
102 virtual bool initialize(
103 ::std::string const& levelName,
104 ::LevelSettings const& levelSettings,
105 ::Experiments const& experiments,
106 ::std::string const* levelId
107 ) /*override*/;
108
109 // vIndex: 386
110 virtual ::PlayerSleepManager const& getPlayerSleepManager() const /*override*/;
111
112 // vIndex: 385
113 virtual ::PlayerSleepManager& getPlayerSleepManager() /*override*/;
114
115 // vIndex: 155
116 virtual ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager> getServerPlayerSleepManager() /*override*/;
117
118 // vIndex: 154
119 virtual ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager const> getServerPlayerSleepManager() const
120 /*override*/;
121
122 // vIndex: 156
123 virtual void setCommandsEnabled(bool commandsEnabled) /*override*/;
124
125 // vIndex: 157
126 virtual void setWorldTemplateOptionsUnlocked() /*override*/;
127
128 // vIndex: 270
129 virtual ::ResourcePackManager* getClientResourcePackManager() const /*override*/;
130
131 // vIndex: 271
132 virtual ::ResourcePackManager* getServerResourcePackManager() const /*override*/;
133
134 // vIndex: 272
135 virtual ::TradeTables* getTradeTables() /*override*/;
136
137 // vIndex: 287
138 virtual void
139 runCommand(::HashedString const&, ::CommandOrigin&, ::CommandOriginSystem, ::CurrentCmdVersion const) /*override*/;
140
141 // vIndex: 286
142 virtual void runCommand(::Command&, ::CommandOrigin&, ::CommandOriginSystem) /*override*/;
143
144 // vIndex: 273
145 virtual void decrementTagCache(
146 ::std::string const& tag,
148 ) /*override*/;
149
150 // vIndex: 274
151 virtual void incrementTagCache(
152 ::std::string const& tag,
154 ) /*override*/;
155
156 // vIndex: 275
157 virtual ::Bedrock::NonOwnerPointer<::TagCacheManager> getTagCacheManager() /*override*/;
158
159 // vIndex: 226
160 virtual ::LevelChunkMetaDataManager* getLevelChunkMetaDataManager() /*override*/;
161
162 // vIndex: 233
163 virtual void loadFunctionManager() /*override*/;
164
165 // vIndex: 318
166 virtual ::Random& getThreadRandom() const /*override*/;
167
168 // vIndex: 297
169 virtual ::PositionTrackingDB::PositionTrackingDBServer* getPositionTrackerDBServer() const /*override*/;
170
171 // vIndex: 285
172 virtual ::Bedrock::NonOwnerPointer<::VolumeEntityManagerServer> tryGetVolumeEntityManagerServer() const
173 /*override*/;
174
175 // vIndex: 366
176 virtual ::Bedrock::NonOwnerPointer<::ChunkGenerationManager> getChunkGenerationManager() /*override*/;
177
178 // vIndex: 365
179 virtual ::Bedrock::NonOwnerPointer<::ChunkGenerationManager const> getChunkGenerationManager() const /*override*/;
180
181 // vIndex: 367
182 virtual ::Bedrock::NotNullNonOwnerPtr<::MapDataManager> getMapDataManager() /*override*/;
183
184 // vIndex: 387
185 virtual void _subTick() /*override*/;
186
187 // vIndex: 380
188 virtual ::PlayerDeathManager* _getPlayerDeathManager() /*override*/;
189
190 // vIndex: 381
191 virtual ::MapDataManager& _getMapDataManager() /*override*/;
192
193 // vIndex: 388
194 virtual void _initializeMapDataManager() /*override*/;
195 // NOLINTEND
196
197public:
198 // member functions
199 // NOLINTBEGIN
200 MCAPI ServerLevel(
201 ::Bedrock::NotNullNonOwnerPtr<::PacketSender> packetSender,
202 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> const& soundPlayer,
204 ::Bedrock::NotNullNonOwnerPtr<::LevelData> levelData,
205 ::IMinecraftEventing& eventing,
206 ::ResourcePackManager& serverResourcePackManager,
207 ::ResourcePackManager& clientResourcePackManager,
208 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
209 ::MinecraftCommands& commands,
210 ::Scheduler& callbackContext,
211 ::Bedrock::NotNullNonOwnerPtr<::IEntityRegistryOwner> const& entityRegistryOwner,
212 ::WeakRef<::EntityContext> levelEntity,
213 ::ItemRegistryRef itemRegistry,
214 bool clientSideChunkGenerationEnabled,
215 bool blockNetworkIdsAreHashes,
216 ::NetworkPermissions const& networkPermissions,
217 ::std::weak_ptr<::BlockTypeRegistry> blockRegistry,
219 );
220
221 MCAPI void _initializeActorManager();
222
223 MCAPI void _initializeMobEvents();
224
225 MCAPI void _initializePlayerSleepManager();
226
227 MCAPI void _initializeScoreboard();
228
229 MCAPI void _onActorEntityAdded(::Actor& actor);
230
231 MCAPI void _onPlayerWakeUp(::Player& player);
232 // NOLINTEND
233
234public:
235 // constructor thunks
236 // NOLINTBEGIN
237 MCAPI void* $ctor(
238 ::Bedrock::NotNullNonOwnerPtr<::PacketSender> packetSender,
239 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> const& soundPlayer,
241 ::Bedrock::NotNullNonOwnerPtr<::LevelData> levelData,
242 ::IMinecraftEventing& eventing,
243 ::ResourcePackManager& serverResourcePackManager,
244 ::ResourcePackManager& clientResourcePackManager,
245 ::Bedrock::NotNullNonOwnerPtr<::StructureManager> structureManager,
246 ::MinecraftCommands& commands,
247 ::Scheduler& callbackContext,
248 ::Bedrock::NotNullNonOwnerPtr<::IEntityRegistryOwner> const& entityRegistryOwner,
249 ::WeakRef<::EntityContext> levelEntity,
250 ::ItemRegistryRef itemRegistry,
251 bool clientSideChunkGenerationEnabled,
252 bool blockNetworkIdsAreHashes,
253 ::NetworkPermissions const& networkPermissions,
254 ::std::weak_ptr<::BlockTypeRegistry> blockRegistry,
256 );
257 // NOLINTEND
258
259public:
260 // destructor thunk
261 // NOLINTBEGIN
262 MCAPI void $dtor();
263 // NOLINTEND
264
265public:
266 // virtual function thunks
267 // NOLINTBEGIN
268 MCAPI bool $initialize(
269 ::std::string const& levelName,
270 ::LevelSettings const& levelSettings,
271 ::Experiments const& experiments,
272 ::std::string const* levelId
273 );
274
275 MCFOLD ::PlayerSleepManager const& $getPlayerSleepManager() const;
276
277 MCFOLD ::PlayerSleepManager& $getPlayerSleepManager();
278
279 MCFOLD ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager> $getServerPlayerSleepManager();
280
281 MCFOLD ::Bedrock::NonOwnerPointer<::ServerPlayerSleepManager const> $getServerPlayerSleepManager() const;
282
283 MCAPI void $setCommandsEnabled(bool commandsEnabled);
284
285 MCAPI void $setWorldTemplateOptionsUnlocked();
286
287 MCAPI ::ResourcePackManager* $getClientResourcePackManager() const;
288
289 MCAPI ::ResourcePackManager* $getServerResourcePackManager() const;
290
291 MCAPI ::TradeTables* $getTradeTables();
292
293 MCAPI void $decrementTagCache(
294 ::std::string const& tag,
296 );
297
298 MCAPI void $incrementTagCache(
299 ::std::string const& tag,
301 );
302
303 MCAPI ::Bedrock::NonOwnerPointer<::TagCacheManager> $getTagCacheManager();
304
305 MCAPI ::LevelChunkMetaDataManager* $getLevelChunkMetaDataManager();
306
307 MCAPI void $loadFunctionManager();
308
309 MCFOLD ::Random& $getThreadRandom() const;
310
311 MCAPI ::PositionTrackingDB::PositionTrackingDBServer* $getPositionTrackerDBServer() const;
312
313 MCAPI ::Bedrock::NonOwnerPointer<::VolumeEntityManagerServer> $tryGetVolumeEntityManagerServer() const;
314
315 MCFOLD ::Bedrock::NonOwnerPointer<::ChunkGenerationManager> $getChunkGenerationManager();
316
317 MCFOLD ::Bedrock::NonOwnerPointer<::ChunkGenerationManager const> $getChunkGenerationManager() const;
318
319 MCAPI ::Bedrock::NotNullNonOwnerPtr<::MapDataManager> $getMapDataManager();
320
321 MCAPI void $_subTick();
322
323 MCAPI ::PlayerDeathManager* $_getPlayerDeathManager();
324
325 MCAPI ::MapDataManager& $_getMapDataManager();
326
327 MCAPI void $_initializeMapDataManager();
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:103
Definition NonOwnerPointer.h:9
Definition UniqueOwnerPointer.h:11
Definition BlockTypeRegistry.h:25
Definition ChunkGenerationManager.h:17
Definition CommandManager.h:14
Definition CommandOrigin.h:32
Definition Command.h:17
Definition DynamicPropertiesManager.h:12
Definition EntityContext.h:16
Definition Experiments.h:14
Definition HashedString.h:5
Definition IEntityRegistryOwner.h:14
Definition IMinecraftEventing.h:144
Definition ItemRegistryRef.h:32
Definition LevelData.h:49
Definition LevelSettings.h:37
Definition LevelStorage.h:25
Definition Level.h:239
Definition LinkedAssetValidator.h:8
Definition MapDataManager.h:24
Definition MinecraftCommands.h:33
Definition MobEvents.h:18
Definition PacketSender.h:17
Definition PlayerSleepManager.h:5
Definition Player.h:120
Definition Random.h:11
Definition ResourcePackManager.h:24
Definition Scheduler.h:13
Definition ServerLevel.h:61
static MCAPI void ** $vftableForBlockSourceListener()
static MCAPI void ** $vftableForILevel()
static MCAPI void ** $vftableForIWorldRegistriesProvider()
Definition ServerMapDataManager.h:24
Definition ServerPlayerSleepManager.h:22
Definition SoundPlayerInterface.h:20
Definition StructureManager.h:43
Definition TagCacheManager.h:17
Definition TagRegistry.h:9
Definition VolumeEntityManagerServer.h:20
Definition WeakRef.h:8
Definition IDType.h:6
Definition LevelTagIDType.h:5
Definition LevelTagSetIDType.h:5
Definition NetworkPermissions.h:5