23class PackSettingsFactory {
43 Stats& operator=(Stats
const&);
48 using PackIdToSettingsMap = ::std::unordered_map<::mce::UUID, ::std::unique_ptr<::PackSettings>>;
53 ::ll::TypedStorage<8, 8, uint64 const> mMaxGlobalPackSettingEntriesPerFile;
54 ::ll::TypedStorage<8, 32, ::Core::PathBuffer<::std::string>> mGlobalPackSettingsPath;
55 ::ll::TypedStorage<4, 16, ::PackSettingsFactory::Stats> mStats;
56 ::ll::TypedStorage<8, 128, ::cereal::ReflectionCtx> mReflectionCtx;
74 ::std::variant<
float,
bool, ::std::string, ::std::vector<::std::string>>
const&
82 ::std::unique_ptr<::std::unordered_map<
84 ::std::unique_ptr<::PackSettings, ::std::default_delete<::PackSettings>>>>>
89 ::std::unordered_map<::std::string, ::std::unordered_map<::mce::UUID, ::std::unique_ptr<::PackSettings>>>>
91 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::SharedTypes::v1_26_40::PackSettingsDefinition::Document>>
97 unordered_map<::std::string, ::std::unique_ptr<::SharedTypes::v1_26_40::PackSettingsDefinition::Document>>>
98 mPerWorldUserOverrides;
103 PackSettingsFactory();
108 virtual ~PackSettingsFactory() =
default;
110 virtual uint64 getAccessTimestamp()
const;
117 PackSettingsFactory(uint64 maxGlobalPackSettingEntriesPerFile, ::std::optional<::Core::PathView> globalPathRoot);
121 MCNAPI ::PackSettings*
124 MCNAPI ::std::unique_ptr<::SharedTypes::v1_26_40::PackSettingsDefinition::Document>
128 MCNAPI
bool _saveUserOverridesToFile(
133 MCNAPI
void _syncPackSettingsToSaveDoc(
137 bool includeTimestamp
141 MCAPI ::PackSettings* getPackSettings(
::PackManifest const& manifest, ::std::optional<::std::string> worldId);
146 MCNAPI
bool saveGlobalUserOverrides();
148 MCNAPI
bool savePerWorldUserOverrides(::std::string
const& worldId,
::Core::Path const& worldPath);
150 MCNAPI ::std::string serializePackSettingsNameValueMap(
151 ::std::unordered_map<::std::string, ::PackSettingValueAndDefault>
const& packSettingsNameValueMap
159 MCNAPI static ::brstd::basic_cstring_view<char, ::std::char_traits<char>>
const&
162 MCNAPI static ::brstd::basic_cstring_view<char, ::std::char_traits<char>>
const&
169 MCNAPI
void*
$ctor(uint64 maxGlobalPackSettingEntriesPerFile, ::std::optional<::Core::PathView> globalPathRoot);