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