LeviLamina
Loading...
Searching...
No Matches
LevelChunkMetaDataManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/AutomaticID.h"
7#include "mc/world/level/GeneratorType.h"
8
9// auto generated forward declare list
10// clang-format off
11class BaseGameVersion;
12class Dimension;
16class LevelChunk;
19class LevelSeed64;
20namespace Bedrock::PubSub { class Subscription; }
21// clang-format on
22
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LevelChunkMetaDataDictionary>> mLevelChunkMetaDataDictionary;
28 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnNewDimensionCreatedSubscription;
29 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoadedSubscription;
30 // NOLINTEND
31
32public:
33 // member functions
34 // NOLINTBEGIN
35 MCAPI void _consolidateLevelChunkMetaData(::LevelChunk& levelChunk);
36
37 MCAPI void _onNewDimensionCreated(::Dimension& dimension);
38
39 MCFOLD ::std::shared_ptr<::LevelChunkMetaDataDictionary> getLevelChunkMetaDataDictionary() const;
40
41 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
42
43 MCAPI void registerOnNewDimensionCreated(::IDimensionManagerConnector& dimensionManagerConnector);
44
45 MCAPI void updateLevelChunkMetaDataForSaving(
46 ::LevelChunk& lc,
47 ::BaseGameVersion const& currentBaseGameVersion,
48 ::DimensionHeightRange const& dimensionHeightRange
49 );
50
52 // NOLINTEND
53
54public:
55 // static functions
56 // NOLINTBEGIN
57 MCAPI static void inferInitialMetaDataAfterDeserialization(
58 ::LevelChunk& lc,
59 ::LevelSeed64 generationSeed,
60 ::GeneratorType generatorType,
61 ::std::string const& dimensionName,
62 ::DimensionType dimensionId,
63 ::DimensionHeightRange const& dimensionHeightRange,
64 ::BaseGameVersion const& currentBaseGameVersion,
65 ::LevelChunkMetaData& metaData
66 );
67
68 MCAPI static ::std::shared_ptr<::LevelChunkMetaData> initializeLevelChunkMetaData(
69 ::DimensionType dimensionId,
70 ::std::string const& dimensionName,
71 ::DimensionHeightRange const& dimensionHeightRange,
72 bool use3DBiomeMaps,
73 ::LevelSeed64 levelSeed,
74 ::GeneratorType generatorType,
75 ::BaseGameVersion const& baseGameVersion
76 );
77 // NOLINTEND
78
79public:
80 // destructor thunk
81 // NOLINTBEGIN
82 MCAPI void $dtor();
83 // NOLINTEND
84};
Definition AutomaticID.h:6
Definition BaseGameVersion.h:13
Definition DimensionHeightRange.h:5
Definition Dimension.h:83
Definition IDimensionManagerConnector.h:13
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunkMetaDataDictionary.h:11
Definition LevelChunkMetaDataManager.h:23
Definition LevelChunkMetaData.h:10
Definition LevelChunk.h:73
Definition LevelSeed64.h:5