LeviLamina
Loading...
Searching...
No Matches
BiomeManager.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/string/HashedString.h"
7#include "mc/deps/core/utility/NonOwnerPointer.h"
8#include "mc/deps/core/utility/pub_sub/Publisher.h"
9#include "mc/deps/game_refs/OwnerPtr.h"
10
11// auto generated forward declare list
12// clang-format off
15class BiomeRegistry;
17class LevelSeed64;
18class LevelStorage;
24namespace Bedrock::PubSub { class Subscription; }
25namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
26// clang-format on
27
28class BiomeManager {
29public:
30 // BiomeManager inner types define
31 using onLevelBiomesRegisteredSignature = void(::BiomeRegistry&);
32
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 16, ::gsl::not_null<::OwnerPtr<::BiomeRegistry>>> mBiomes;
37 ::ll::TypedStorage<8, 16, ::gsl::not_null<::OwnerPtr<::BiomeComponentFactory>>> mBiomeComponentFactory;
38 ::ll::TypedStorage<8, 16, ::gsl::not_null<::OwnerPtr<::SurfaceBuilderRegistry>>> mSurfaceBuilders;
39 ::ll::TypedStorage<8, 8, ::gsl::not_null<::std::unique_ptr<::AutomaticFeatureRules>>> mAutomaticFeatureRules;
40 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::BiomeDecorationFeature>>
41 mBiomeDecorationFeatureMap;
42 ::ll::TypedStorage<
43 8,
44 128,
46 mOnLevelBiomesRegisteredPublisher;
47 // NOLINTEND
48
49public:
50 // prevent constructor by default
51 BiomeManager();
52
53public:
54 // member functions
55 // NOLINTBEGIN
56 MCAPI
57 BiomeManager(::OwnerPtr<::BiomeRegistry> biomes, ::std::unique_ptr<::AutomaticFeatureRules> automaticFeatureRules);
58
59 MCAPI void _initializeServerBiomeRegistry(
60 ::IWorldRegistriesProvider& worldRegistries,
61 ::LevelSeed64 levelSeed,
62 ::LevelStorage& levelStorage,
64 ::std::unordered_map<::std::string, ::std::unique_ptr<::BiomeJsonDocumentGlueResolvedBiomeData>>&
65 biomeIdToResolvedData
66 );
67
68 MCAPI void initializeBiomeRegistryAndAutomaticFeatureRulesOnServer(
69 ::IWorldRegistriesProvider& worldRegistries,
70 ::ResourcePackManager& resourcePackManager,
71 ::LevelSeed64 levelSeed,
72 ::LevelStorage& levelStorage,
74 ::std::unordered_map<::std::string, ::std::unique_ptr<::BiomeJsonDocumentGlueResolvedBiomeData>>&
75 biomeIdToResolvedData
76 );
77
78#ifdef LL_PLAT_C
79 MCAPI ::Bedrock::PubSub::Subscription
80 subscribeToLevelBiomesRegistered(::std::function<void(::BiomeRegistry&)> callback);
81#endif
82
83 MCAPI ~BiomeManager();
84 // NOLINTEND
85
86public:
87 // constructor thunks
88 // NOLINTBEGIN
89 MCAPI void*
90 $ctor(::OwnerPtr<::BiomeRegistry> biomes, ::std::unique_ptr<::AutomaticFeatureRules> automaticFeatureRules);
91 // NOLINTEND
92
93public:
94 // destructor thunk
95 // NOLINTBEGIN
96 MCAPI void $dtor();
97 // NOLINTEND
98};
Definition AutomaticFeatureRules.h:26
Definition NonOwnerPointer.h:9
Definition Publisher.h:8
Definition Subscription.h:10
Definition BiomeComponentFactory.h:22
Definition BiomeRegistry.h:38
Definition IWorldRegistriesProvider.h:25
Definition LevelSeed64.h:5
Definition LevelStorage.h:25
Definition LinkedAssetValidator.h:8
Definition OwnerPtr.h:7
Definition ResourcePackManager.h:30
Definition SurfaceBuilderRegistry.h:13
Definition MultiThreaded.h:12
Definition BiomeDecorationFeature.h:15
Definition BiomeJsonDocumentGlueResolvedBiomeData.h:10