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