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/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/deps/game_refs/OwnerPtr.h"
9#include "mc/world/level/biome/glue/BiomeJsonDocumentGlue.h"
10
11// auto generated forward declare list
12// clang-format off
15class BiomeRegistry;
16class HashedString;
18class LevelSeed64;
19class 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<::BiomeJsonDocumentGlue::ResolvedBiomeData>>&
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<::BiomeJsonDocumentGlue::ResolvedBiomeData>>&
75 biomeIdToResolvedData
76 );
77
78 MCAPI_C ::Bedrock::PubSub::Subscription
79 subscribeToLevelBiomesRegistered(::std::function<void(::BiomeRegistry&)> callback);
80
81 MCAPI ~BiomeManager();
82 // NOLINTEND
83
84public:
85 // constructor thunks
86 // NOLINTBEGIN
87 MCAPI void*
88 $ctor(::OwnerPtr<::BiomeRegistry> biomes, ::std::unique_ptr<::AutomaticFeatureRules> automaticFeatureRules);
89 // NOLINTEND
90
91public:
92 // destructor thunk
93 // NOLINTBEGIN
94 MCAPI void $dtor();
95 // NOLINTEND
96};
Definition AutomaticFeatureRules.h:26
Definition NonOwnerPointer.h:9
Definition Publisher.h:8
Definition Subscription.h:10
Definition BiomeComponentFactory.h:22
Definition BiomeRegistry.h:37
Definition HashedString.h:5
Definition IWorldRegistriesProvider.h:25
Definition LevelSeed64.h:5
Definition LevelStorage.h:25
Definition LinkedAssetValidator.h:8
Definition OwnerPtr.h:7
Definition ResourcePackManager.h:29
Definition SurfaceBuilderRegistry.h:13
Definition BiomeDecorationFeature.h:15