LeviLamina
Loading...
Searching...
No Matches
FeatureTypeFactory.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class FeatureLoader;
15namespace Documentation { struct Node; }
16namespace Json { class Value; }
17namespace Puv { class VersionRange; }
18// clang-format on
19
20class FeatureTypeFactory {
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 24, ::std::vector<::SupportedFeatureSchema>> mSupportedSchemas;
25 ::ll::TypedStorage<8, 24, ::std::vector<::SupportedFeatureUpgrader>> mSupportedUpgraders;
26 ::ll::TypedStorage<8, 24, ::std::vector<::std::function<void(::Documentation::Node&)>>> mDocumentationGenerators;
27 ::ll::TypedStorage<8, 64, ::std::unordered_map<::std::string, ::FeatureTypeVersion>> mRegisteredFeatureTypeVersions;
28 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FeatureLoader>> mLoader;
29 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FeatureParserContext>> mParserContext;
30 // NOLINTEND
31
32public:
33 // virtual functions
34 // NOLINTBEGIN
35 virtual ~FeatureTypeFactory();
36 // NOLINTEND
37
38public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI FeatureTypeFactory();
42
43 MCAPI uint64 addSupportedSchema(::std::optional<::Puv::VersionRange> versionRange);
44
45 MCAPI ::FeatureTypeVersion getFeatureTypeVersion(::std::string const& featureTypeName) const;
46
47 MCAPI bool processFeature(
48 ::IWorldRegistriesProvider& lookupProvider,
49 bool isBasePack,
50 ::ResourcePackManager const& rpm,
51 ::std::string const& expectedFeatureName,
52 ::Json::Value const& featureData,
53 ::MinEngineVersion const& minEngineVersion
54 );
55 // NOLINTEND
56
57public:
58 // constructor thunks
59 // NOLINTBEGIN
60 MCAPI void* $ctor();
61 // NOLINTEND
62
63public:
64 // destructor thunk
65 // NOLINTBEGIN
66 MCAPI void $dtor();
67 // NOLINTEND
68
69public:
70 // vftables
71 // NOLINTBEGIN
72 MCNAPI static void** $vftable();
73 // NOLINTEND
74};
Definition FeatureLoader.h:16
static MCAPI void ** $vftable()
Definition FeatureTypeVersion.h:9
Definition IWorldRegistriesProvider.h:25
Definition Value.h:16
Definition MinEngineVersion.h:15
Definition VersionRange.h:15
Definition ResourcePackManager.h:35
Definition Node.h:7
Definition FeatureParserContext.h:14
Definition SupportedFeatureSchema.h:15
Definition SupportedFeatureUpgrader.h:8