LeviLamina
Loading...
Searching...
No Matches
PackSettingsFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/cereal/ReflectionCtx.h"
7#include "mc/deps/core/utility/pub_sub/Publisher.h"
8#include "mc/deps/puv/SlicedLoader.h"
9
10// auto generated forward declare list
11// clang-format off
12class PackManifest;
13class PackSettings;
14namespace Bedrock::PubSub::ThreadModel { struct MultiThreaded; }
15namespace Core { class Path; }
16namespace SharedTypes::v1_21_100::PackSettingsDefinition { struct Document; }
17namespace mce { class UUID; }
18// clang-format on
19
21public:
22 // PackSettingsFactory inner types declare
23 // clang-format off
24 struct Stats;
25 // clang-format on
26
27 // PackSettingsFactory inner types define
28 struct Stats {
29 public:
30 // member variables
31 // NOLINTBEGIN
34 // NOLINTEND
35
36 public:
37 // prevent constructor by default
38 Stats& operator=(Stats const&);
39 Stats(Stats const&);
40 Stats();
41 };
42
43 using PackIdToSettingsMap = ::std::unordered_map<::mce::UUID, ::std::unique_ptr<::PackSettings>>;
44
45public:
46 // member variables
47 // NOLINTBEGIN
48 ::ll::TypedStorage<4, 8, ::PackSettingsFactory::Stats> mStats;
49 ::ll::TypedStorage<8, 120, ::cereal::ReflectionCtx> mReflectionCtx;
50 ::ll::TypedStorage<
51 8,
52 192,
54 mLoader;
55 ::ll::TypedStorage<
56 8,
57 16,
58 ::std::shared_ptr<::Bedrock::PubSub::Publisher<
59 void(::mce::UUID const&, ::std::string const&, ::std::variant<float, bool, ::std::string> const&),
61 0>>>
62 mOnChangePublisher;
63 ::ll::TypedStorage<
64 8,
65 64,
66 ::std::unordered_map<::std::string, ::std::unordered_map<::mce::UUID, ::std::unique_ptr<::PackSettings>>>>
67 mPackSettingsByWorld;
68 ::ll::TypedStorage<
69 8,
70 64,
71 ::std::unordered_map<::std::string, ::SharedTypes::v1_21_100::PackSettingsDefinition::Document>>
72 mLoadedSettingsDocByWorld;
73 // NOLINTEND
74
75public:
76 // member functions
77 // NOLINTBEGIN
78 MCAPI PackSettingsFactory();
79
80 MCAPI ::PackSettings* getPackSettings(::PackManifest const& manifest, ::std::optional<::std::string> worldId);
81
82 MCAPI bool loadPackSettingsFromFile(::std::string const& worldId, ::Core::Path const& worldPath);
83
85 // NOLINTEND
86
87public:
88 // static variables
89 // NOLINTBEGIN
90 MCAPI static ::std::string_view const& WORLD_BEHAVIOR_PACK_SETTINGS_FILENAME();
91 // NOLINTEND
92
93public:
94 // constructor thunks
95 // NOLINTBEGIN
96 MCAPI void* $ctor();
97 // NOLINTEND
98
99public:
100 // destructor thunk
101 // NOLINTBEGIN
102 MCAPI void $dtor();
103 // NOLINTEND
104};
Definition Publisher.h:8
Definition Path.h:11
Definition PackManifest.h:35
Definition PackSettingsFactory.h:20
Definition PackSettings.h:18
Definition Path.h:16
Definition SlicedLoader.h:8
Definition UUID.h:7
Definition PackSettingsFactory.h:28
Definition Alias.h:14