Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
ActorMigratedDefinitionFactory.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/puv/ComponentStorageLoadDataRefVariant.h"
8#include "mc/deps/resource_processing/category/CategoryLoader.h"
9#include "mc/world/level/storage/Experiments.h"
10
11// auto generated forward declare list
12// clang-format off
13class ActorDefinition;
17class SemVersion;
20namespace JsonComponentGlueUtils { struct ActorLoaderTraits; }
21namespace JsonComponentGlueUtils { struct CustomUpgradeData; }
22namespace SharedTypes::Beta { struct ActorDefinitions; }
23namespace SharedTypes::Beta { struct ActorDocument; }
24namespace SharedTypes::Legacy { struct ActorDocumentCorrected; }
25namespace SharedTypes::v1_21_100 { struct ActorDocument; }
26namespace SharedTypes::v1_21_110 { struct ActorDocument; }
27namespace SharedTypes::v1_21_120 { struct ActorDocument; }
28namespace SharedTypes::v1_21_130 { struct ActorDocument; }
29namespace SharedTypes::v1_21_90 { struct ActorDocument; }
30namespace SharedTypes::v1_26_0 { struct ActorDocument; }
31namespace SharedTypes::v1_26_10 { struct ActorDocument; }
32namespace SharedTypes::v1_26_20 { struct ActorDocument; }
33namespace SharedTypes::v1_26_30 { struct ActorDocument; }
34namespace SharedTypes::v1_26_40 { struct ActorDocument; }
35namespace SharedTypes::v1_26_50 { struct ActorDocument; }
36namespace SharedTypes::v1_26_60 { struct ActorDefinitions; }
37namespace SharedTypes::v1_26_60 { struct ActorDocument; }
38namespace cereal { class DynamicValue; }
39namespace cereal { struct ReflectionCtx; }
40// clang-format on
41
42class ActorMigratedDefinitionFactory {
43public:
44 // ActorMigratedDefinitionFactory inner types define
45 enum class InitResult : int {
46 Success = 0,
47 BetaFeaturesNotEnabled = 1,
48 GenericGoalSuffixMissing = 2,
49 };
50
51 using FillDefinitionCb = ::std::function<::ActorMigratedDefinitionFactory::InitResult(
56 )>;
57
58 using FillDescriptionCb = ::ActorMigratedDefinitionFactory::InitResult (*)(
64 );
65
66 using LoaderPtr =
67 ::std::unique_ptr<::Bedrock::Resources::CategoryLoader<::JsonComponentGlueUtils::ActorLoaderTraits>>;
68
70
71 using SerializerPtr = ::std::unique_ptr<::IJsonDefinitionSerializer>;
72
73public:
74 // member variables
75 // NOLINTBEGIN
76 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::cereal::ReflectionCtx>> mCerealContext;
77 ::ll::TypedStorage<8, 72, ::Experiments const> mExperiments;
78 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, ::std::unique_ptr<::IJsonDefinitionSerializer>>>
79 mDefinitionSerializers;
80 ::ll::TypedStorage<
81 8,
82 24,
83 ::std::vector<::ActorMigratedDefinitionFactory::InitResult (*)(
89 )>>
90 mFillActorDescriptionCbs;
91 ::ll::TypedStorage<
92 8,
93 24,
94 ::std::vector<::std::function<::ActorMigratedDefinitionFactory::InitResult(
99 )>>>
100 mFillActorDefinitionCbs;
101 ::ll::TypedStorage<
102 8,
103 312,
104 ::std::tuple<
105 ::std::vector<void (*)(::Puv::CerealUpgrader<
109 ::std::vector<void (*)(::Puv::CerealUpgrader<
113 ::std::vector<void (*)(::Puv::CerealUpgrader<
117 ::std::vector<void (*)(::Puv::CerealUpgrader<
121 ::std::vector<void (*)(::Puv::CerealUpgrader<
125 ::std::vector<void (*)(::Puv::CerealUpgrader<
129 ::std::vector<void (*)(::Puv::CerealUpgrader<
133 ::std::vector<void (*)(::Puv::CerealUpgrader<
137 ::std::vector<void (*)(::Puv::CerealUpgrader<
141 ::std::vector<void (*)(::Puv::CerealUpgrader<
145 ::std::vector<void (*)(::Puv::CerealUpgrader<
149 ::std::vector<void (*)(::Puv::CerealUpgrader<
153 ::std::vector<void (*)(::Puv::CerealUpgrader<
157 mLegacyUpgradeCallbacks;
158 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::SemVersion>> mVersionedDefinitions;
159 ::ll::TypedStorage<
160 8,
161 8,
162 ::std::unique_ptr<::Bedrock::Resources::CategoryLoader<::JsonComponentGlueUtils::ActorLoaderTraits>>>
163 mDocumentLoader;
164 // NOLINTEND
165
166public:
167 // prevent constructor by default
168 ActorMigratedDefinitionFactory();
169
170public:
171 // member functions
172 // NOLINTBEGIN
173 MCNAPI explicit ActorMigratedDefinitionFactory(::Experiments const& experiments);
174
175 MCNAPI void _initialize();
176
177 MCNAPI ::IJsonDefinitionSerializer* _tryGetDefinitionSerializer(::std::string_view name) const;
178
179 MCNAPI void resetLoader();
180
181 MCNAPI void
182 setLoaderCustomData(::BedrockLoadContext customParseData, ::DeserializeDataSettings customUpgradeData) const;
183
185 // NOLINTEND
186
187public:
188 // static functions
189 // NOLINTBEGIN
190 MCNAPI static ::LegacyGoalDefinition _parseLegacyGoalDefinition(
191 ::std::string name,
192 ::cereal::DynamicValue const& def,
193 ::DeserializeDataSettings const& settings
194 );
195 // NOLINTEND
196
197public:
198 // constructor thunks
199 // NOLINTBEGIN
200 MCNAPI void* $ctor(::Experiments const& experiments);
201 // NOLINTEND
202
203public:
204 // destructor thunk
205 // NOLINTBEGIN
206 MCNAPI void $dtor();
207 // NOLINTEND
208};
Definition ActorDefinitionDescriptor.h:72
Definition ActorDefinition.h:80
MCAPI void setLoaderCustomData(::BedrockLoadContext customParseData, ::DeserializeDataSettings customUpgradeData) const
MCAPI::IJsonDefinitionSerializer * _tryGetDefinitionSerializer(::std::string_view name) const
MCAPI void * $ctor(::Experiments const &experiments)
static MCAPI ::LegacyGoalDefinition _parseLegacyGoalDefinition(::std::string name, ::cereal::DynamicValue const &def, ::DeserializeDataSettings const &settings)
MCAPI ActorMigratedDefinitionFactory(::Experiments const &experiments)
Definition BedrockLoadContext.h:15
Definition CategoryLoader.h:8
Definition ComponentStorageLoadDataRefVariant.h:6
Definition Experiments.h:14
Definition IJsonDefinitionSerializer.h:13
Definition _HeaderOutputPredefine.h:404
Definition SemVersion.h:15
Definition DynamicValue.h:14
Definition DeserializeDataSettings.h:11
Definition ActorLoaderTraits.h:30
Definition CustomUpgradeData.h:15
Definition LegacyGoalDefinition.h:32
Definition ActorDefinitions.h:10
Definition ActorDocument.h:16
Definition ActorDocumentCorrected.h:17
Definition ActorDocument.h:17
Definition ActorDocument.h:17
Definition ActorDocument.h:17
Definition ActorDocument.h:18
Definition ActorDocument.h:17
Definition ActorDocument.h:18
Definition ActorDocument.h:18
Definition ActorDocument.h:18
Definition ActorDocument.h:18
Definition ActorDocument.h:18
Definition ActorDocument.h:18
Definition ActorDefinitions.h:15
Definition ActorDocument.h:18
Definition ReflectionCtx.h:11