21class FeatureRegistry {
29 struct FeatureBinaryJsonFormat {
33 ::ll::TypedStorage<8, 32, ::std::string> featureName;
34 ::ll::TypedStorage<8, 32, ::std::string> binaryJsonOutput;
39 FeatureBinaryJsonFormat& operator=(FeatureBinaryJsonFormat
const&);
40 FeatureBinaryJsonFormat();
68 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::LinkedAssetValidator>> mValidator;
69 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::IFeature>>> mFeatureRegistry;
70 ::ll::TypedStorage<8, 24, ::std::vector<::OwnerPtr<::IFeature>>> mFeatureSlots;
71 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, uint64>> mFeatureLookupMap;
72 ::ll::TypedStorage<8, 24, ::std::vector<::FeatureRegistry::FeatureBinaryJsonFormat>> mFeatureSerializeData;
73 ::ll::TypedStorage<1, 1, bool> mClientInitialized;
74 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLargeFeaturePasses;
75 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mSmallFeaturePasses;
87 MCAPI
void _registerFeature(::std::string
const& name, ::std::unique_ptr<::IFeature> featurePtr);
90 MCNAPI
bool _setupFeature(
94 ::std::string
const& featureName,
95 ::std::string
const& jsonDefinition,
97 bool serializeFeatures
101 MCAPI
bool _setupFeature(
105 ::std::string
const& featureName,
108 bool serializeFeatures
116 bool clientSideGenEnabled
120 MCNAPI
void loadFromJsonData(
123 ::std::vector<::FeatureRegistry::FeatureBinaryJsonFormat>
const& jsonData
127 MCAPI ::WeakRef<::IFeature> lookupByName(::std::string
const& name)
const;
139 MCNAPI static ::std::string
148 MCAPI static ::std::string
const& AFTER_SURFACE_PASS();