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
44
45 MCFOLD ::FeatureRegistry::FeatureBinaryJsonFormat& operator=(::FeatureRegistry::FeatureBinaryJsonFormat&&);
46
47 MCFOLD bool operator==(::FeatureRegistry::FeatureBinaryJsonFormat const& rhs) const;
48
50 // NOLINTEND
51
52 public:
53 // constructor thunks
54 // NOLINTBEGIN
56 // NOLINTEND
57
58 public:
59 // destructor thunk
60 // NOLINTBEGIN
61 MCFOLD void $dtor();
62 // NOLINTEND
63 };
64
65public:
66 // member variables
67 // NOLINTBEGIN
68 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::IFeature>>> mFeatureRegistry;
69 ::ll::TypedStorage<8, 24, ::std::vector<::OwnerPtr<::IFeature>>> mFeatureSlots;
70 ::ll::TypedStorage<8, 64, ::std::unordered_map<::HashedString, uint64>> mFeatureLookupMap;
71 ::ll::TypedStorage<8, 24, ::std::vector<::FeatureRegistry::FeatureBinaryJsonFormat>> mFeatureSerializeData;
72 ::ll::TypedStorage<1, 1, bool> mClientInitialized;
73 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mLargeFeaturePasses;
74 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mSmallFeaturePasses;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCAPI FeatureRegistry();
81
82 MCAPI ::std::string const _featureNamespaceFromInput(::std::string const& filePath, ::std::string const& contents);
83
84 MCAPI void _registerFeature(::std::string const& name, ::std::unique_ptr<::IFeature> featurePtr);
85
86 MCAPI ::std::string const& _reverseLookup(uint64 index) const;
87
88 MCAPI bool _setupFeature(
89 ::IWorldRegistriesProvider& worldRegistries,
90 bool isBasePack,
91 ::ResourcePackManager const& rpm,
92 ::std::string const& featureName,
93 ::std::string const& jsonDefinition,
94 ::MinEngineVersion const& minEngineVersion,
95 bool serializeFeatures
96 );
97
98 MCAPI void loadFromDefinitions(
99 ::IWorldRegistriesProvider& worldRegistries,
100 ::ResourcePackManager const& rpm,
101 bool clientSideGenEnabled
102 );
103
104 MCAPI ::WeakRef<::IFeature> lookupByName(::std::string const& name) const;
105
106 MCAPI ::WeakRef<::IFeature> lookupOrReserveFeature(::std::string const& featureName);
107
108 MCAPI ::WeakRef<::IFeature> reserveFeature(::std::string const& name);
109
110 MCAPI ~FeatureRegistry();
111 // NOLINTEND
112
113public:
114 // static variables
115 // NOLINTBEGIN
116 MCAPI static ::std::string const& AFTER_SKY_PASS();
117
118 MCAPI static ::std::string const& AFTER_SURFACE_PASS();
119
120 MCAPI static ::std::string const& AFTER_UNDERGROUND_PASS();
121
122 MCAPI static ::std::string const& BEFORE_SKY_PASS();
123
124 MCAPI static ::std::string const& BEFORE_SURFACE_PASS();
125
126 MCAPI static ::std::string const& BEFORE_UNDERGROUND_PASS();
127
128 MCAPI static ::std::string const& FINAL_PASS();
129
130 MCAPI static ::std::string const& FIRST_PASS();
131
132 MCAPI static ::std::string const& PREGENERATION_PASS();
133
134 MCAPI static ::std::string const& SKY_PASS();
135
136 MCAPI static ::std::string const& SURFACE_PASS();
137
138 MCAPI static ::std::string const& UNDERGROUND_PASS();
139 // NOLINTEND
140
141public:
142 // constructor thunks
143 // NOLINTBEGIN
144 MCAPI void* $ctor();
145 // NOLINTEND
146
147public:
148 // destructor thunk
149 // NOLINTBEGIN
150 MCAPI void $dtor();
151 // NOLINTEND
152};
Definition FeatureRegistry.h:18
Definition HashedString.h:5
Definition IFeature.h:18
Definition IWorldRegistriesProvider.h:25
Definition MinEngineVersion.h:10
Definition ResourcePackManager.h:24
Definition FeatureRegistry.h:26