LeviLamina
Loading...
Searching...
No Matches
FeatureRegistry.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/OwnerPtr.h"
7#include "mc/deps/game_refs/WeakRef.h"
8
9// auto generated forward declare list
10// clang-format off
11class HashedString;
12class IFeature;
16// clang-format on
17
19public:
20 // FeatureRegistry inner types declare
21 // clang-format off
23 // clang-format on
24
25 // FeatureRegistry inner types define
27 public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<8, 32, ::std::string> featureName;
31 ::ll::TypedStorage<8, 32, ::std::string> binaryJsonOutput;
32 // NOLINTEND
33
34 public:
35 // prevent constructor by default
39
40 public:
41 // member functions
42 // NOLINTBEGIN
43 MCFOLD ::FeatureRegistry::FeatureBinaryJsonFormat& operator=(::FeatureRegistry::FeatureBinaryJsonFormat&&);
44
45 MCFOLD bool operator==(::FeatureRegistry::FeatureBinaryJsonFormat const& rhs) const;
46
48 // NOLINTEND
49
50 public:
51 // destructor thunk
52 // NOLINTBEGIN
53 MCFOLD void $dtor();
54 // NOLINTEND
55 };
56
57public:
58 // member variables
59 // NOLINTBEGIN
60 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::IFeature>>> mFeatureRegistry;
61 ::ll::TypedStorage<8, 24, ::std::vector<::OwnerPtr<::IFeature>>> mFeatureSlots;
62 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, uint64>> mFeatureLookupMap;
63 ::ll::TypedStorage<8, 24, ::std::vector<::FeatureRegistry::FeatureBinaryJsonFormat>> mFeatureSerializeData;
64 ::ll::TypedStorage<1, 1, bool> mClientInitialized;
65 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLargeFeaturePasses;
66 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mSmallFeaturePasses;
67 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI FeatureRegistry();
73
74 MCAPI ::std::string const _featureNamespaceFromInput(::std::string const& filePath, ::std::string const& contents);
75
76 MCAPI void _registerFeature(::std::string const& name, ::std::unique_ptr<::IFeature> featurePtr);
77
78 MCAPI ::std::string const& _reverseLookup(uint64 index) const;
79
80 MCAPI bool _setupFeature(
81 ::IWorldRegistriesProvider& worldRegistries,
82 bool isBasePack,
83 ::ResourcePackManager const& rpm,
84 ::std::string const& featureName,
85 ::std::string const& jsonDefinition,
86 ::MinEngineVersion const& minEngineVersion,
87 bool serializeFeatures
88 );
89
90 MCAPI void loadFromDefinitions(
91 ::IWorldRegistriesProvider& worldRegistries,
92 ::ResourcePackManager const& rpm,
93 bool clientSideGenEnabled
94 );
95
96 MCAPI ::WeakRef<::IFeature> lookupByName(::std::string const& name) const;
97
98 MCAPI ::WeakRef<::IFeature> lookupOrReserveFeature(::std::string const& featureName);
99
100 MCAPI ::WeakRef<::IFeature> reserveFeature(::std::string const& name);
101
102 MCAPI ~FeatureRegistry();
103 // NOLINTEND
104
105public:
106 // static variables
107 // NOLINTBEGIN
108 MCAPI static ::std::string const& AFTER_SKY_PASS();
109
110 MCAPI static ::std::string const& AFTER_SURFACE_PASS();
111
112 MCAPI static ::std::string const& AFTER_UNDERGROUND_PASS();
113
114 MCAPI static ::std::string const& BEFORE_SKY_PASS();
115
116 MCAPI static ::std::string const& BEFORE_SURFACE_PASS();
117
118 MCAPI static ::std::string const& BEFORE_UNDERGROUND_PASS();
119
120 MCAPI static ::std::string const& FINAL_PASS();
121
122 MCAPI static ::std::string const& FIRST_PASS();
123
124 MCAPI static ::std::string const& PREGENERATION_PASS();
125
126 MCAPI static ::std::string const& SKY_PASS();
127
128 MCAPI static ::std::string const& SURFACE_PASS();
129
130 MCAPI static ::std::string const& UNDERGROUND_PASS();
131 // NOLINTEND
132
133public:
134 // constructor thunks
135 // NOLINTBEGIN
136 MCAPI void* $ctor();
137 // NOLINTEND
138
139public:
140 // destructor thunk
141 // NOLINTBEGIN
142 MCAPI void $dtor();
143 // NOLINTEND
144};
Definition FeatureRegistry.h:18
Definition HashedString.h:5
Definition IFeature.h:18
Definition IWorldRegistriesProvider.h:26
Definition MinEngineVersion.h:10
Definition ResourcePackManager.h:24
Definition FeatureRegistry.h:26