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 bool _setupFeature(
83 ::IWorldRegistriesProvider& worldRegistries,
84 bool isBasePack,
85 ::ResourcePackManager const& rpm,
86 ::std::string const& featureName,
87 ::std::string const& jsonDefinition,
88 ::MinEngineVersion const& minEngineVersion,
89 bool serializeFeatures
90 );
91
92 MCAPI void loadFromDefinitions(
93 ::IWorldRegistriesProvider& worldRegistries,
94 ::ResourcePackManager const& rpm,
95 bool clientSideGenEnabled
96 );
97
98 MCAPI ::WeakRef<::IFeature> lookupByName(::std::string const& name) const;
99
100 MCAPI ::WeakRef<::IFeature> lookupOrReserveFeature(::std::string const& featureName);
101
102 MCAPI ::WeakRef<::IFeature> reserveFeature(::std::string const& name);
103
104 MCAPI ~FeatureRegistry();
105 // NOLINTEND
106
107public:
108 // static variables
109 // NOLINTBEGIN
110 MCAPI static ::std::string const& AFTER_SKY_PASS();
111
112 MCAPI static ::std::string const& AFTER_SURFACE_PASS();
113
114 MCAPI static ::std::string const& AFTER_UNDERGROUND_PASS();
115
116 MCAPI static ::std::string const& BEFORE_SKY_PASS();
117
118 MCAPI static ::std::string const& BEFORE_SURFACE_PASS();
119
120 MCAPI static ::std::string const& BEFORE_UNDERGROUND_PASS();
121
122 MCAPI static ::std::string const& FINAL_PASS();
123
124 MCAPI static ::std::string const& FIRST_PASS();
125
126 MCAPI static ::std::string const& PREGENERATION_PASS();
127
128 MCAPI static ::std::string const& SKY_PASS();
129
130 MCAPI static ::std::string const& SURFACE_PASS();
131
132 MCAPI static ::std::string const& UNDERGROUND_PASS();
133 // NOLINTEND
134
135public:
136 // constructor thunks
137 // NOLINTBEGIN
138 MCAPI void* $ctor();
139 // NOLINTEND
140
141public:
142 // destructor thunk
143 // NOLINTBEGIN
144 MCAPI void $dtor();
145 // NOLINTEND
146};
Definition FeatureRegistry.h:18
Definition HashedString.h:5
Definition IFeature.h:13
Definition IWorldRegistriesProvider.h:26
Definition MinEngineVersion.h:10
Definition ResourcePackManager.h:23
Definition FeatureRegistry.h:26
MCAPI FeatureBinaryJsonFormat(::FeatureRegistry::FeatureBinaryJsonFormat &&)
MCAPI void * $ctor(::FeatureRegistry::FeatureBinaryJsonFormat &&)