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/pub_sub/Subscription.h"
7#include "mc/world/level/GeneratorType.h"
8
9// auto generated forward declare list
10// clang-format off
11class Dimension;
15class LevelChunk;
19class LevelSeed64;
20struct DimensionType;
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 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
40
41 MCAPI void registerOnNewDimensionCreated(::IDimensionManagerConnector& dimensionManagerConnector);
42
43 MCAPI void tick();
44
45 MCAPI void updateLevelChunkMetaDataForSaving(
46 ::LevelChunk& lc,
47 ::LevelChunkMetaDataBaseGameVersionWrapper const& levelChunkMetaDataBaseGameVersionWrapper,
48 ::DimensionHeightRange const& dimensionHeightRange
49 );
50 // NOLINTEND
51
52public:
53 // static functions
54 // NOLINTBEGIN
55 MCAPI static void inferInitialMetaDataAfterDeserialization(
56 ::LevelChunk& lc,
57 ::LevelSeed64 generationSeed,
58 ::GeneratorType generatorType,
59 ::std::string const& dimensionName,
60 ::DimensionType dimensionId,
61 ::DimensionHeightRange const& dimensionHeightRange,
62 ::LevelChunkMetaDataBaseGameVersionWrapper const& levelChunkMetaDataBaseGameVersionWrapper,
63 ::LevelChunkMetaData& metaData
64 );
65
66 MCAPI static void inferTargetMetaData(
67 ::LevelChunkMetaDataBaseGameVersionWrapper const& levelChunkMetaDataBaseGameVersionWrapper,
68 ::DimensionType dimensionID,
69 ::LevelChunkMetaData& metaData
70 );
71
72 MCAPI static ::std::shared_ptr<::LevelChunkMetaData> initializeLevelChunkMetaData(
73 ::DimensionType dimensionId,
74 ::std::string const& dimensionName,
75 ::DimensionHeightRange const& dimensionHeightRange,
76 bool use3DBiomeMaps,
77 ::LevelSeed64 levelSeed,
78 ::GeneratorType generatorType,
79 ::LevelChunkMetaDataBaseGameVersionWrapper const& levelChunkMetaDataBaseGameVersionWrapper
80 );
81 // NOLINTEND
82};
Definition DimensionHeightRange.h:5
Definition Dimension.h:86
Definition IDimensionManagerConnector.h:14
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunkMetaDataBaseGameVersionWrapper.h:13
Definition LevelChunkMetaDataDictionary.h:11
Definition LevelChunkMetaDataManager.h:23
Definition LevelChunkMetaData.h:13
Definition LevelChunk.h:75
Definition LevelSeed64.h:5
Definition DimensionType.h:5