50 ::ll::TypedStorage<4, 4, int> mID;
51 ::ll::TypedStorage<8, 48, ::HashedString> mTag;
71 ::ll::TypedStorage<8, 8, ::Item*> mItem;
72 ::ll::TypedStorage<8, 8, ::Block const*> mBlock;
73 ::ll::TypedStorage<8, 24, ::RecipeIngredient> mIngredient;
74 ::ll::TypedStorage<1, 1, char> mC;
90 using TypeList = ::std::vector<::Recipes::Type>;
96 ::ll::TypedStorage<4, 4, int> mWidth;
97 ::ll::TypedStorage<4, 4, int> mHeight;
98 ::ll::TypedStorage<8, 32, ::std::string> mNormalizedResult;
99 ::ll::TypedStorage<8, 32, ::std::string> mWarning;
118 ::ll::TypedStorage<8, 8, ::ResourcePackManager*> mResourcePackManager;
119 ::ll::TypedStorage<8, 8, ::ExternalRecipeStore> mExternalRecipeStore;
120 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::map<::std::string, ::std::shared_ptr<::Recipe>>>>
122 ::ll::TypedStorage<8, 16, ::std::map<::Recipes::FurnaceRecipeKey, ::ItemInstance>> mFurnaceRecipes;
123 ::ll::TypedStorage<1, 1, bool> mInitializing;
129 ::ll::TypedStorage<8, 64, ::std::unordered_map<::RecipeNetId, ::Recipe*>> mRecipesByNetId;
133 ::std::unordered_map<uint64, ::std::unordered_map<uint64, ::std::shared_ptr<::std::vector<::ItemInstance>>>>>
135 ::ll::TypedStorage<8, 24, ::std::vector<::gsl::not_null<::Recipe*>>> mUnlockableRecipes;
136 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::weak_ptr<bool>, ::std::function<void()>>>> mListeners;
137 ::ll::TypedStorage<8, 8, ::Level*> mLevel;
145 MCAPI
void _addItemRecipe(::std::unique_ptr<::Recipe> recipe);
147 MCAPI
void _addMapRecipes();
149 MCAPI ::RecipeUnlockingRequirement
150 _createUnlockingRequirementFromContext(::RecipeUnlockingRequirement::UnlockingContext
context)
const;
152 MCAPI
bool _isRecipeValidToAdd(
::Recipe const& recipe);
156 MCAPI
void _loadDataDrivenRecipes(::std::vector<::PackInstance>
const& resourcePacksNewestToOldest);
160 MCAPI ::RecipeIngredient
const _loadIngredientFromJson(
162 ::MolangVersion molangVersion,
167 MCAPI ::RecipeIngredient
const
170 MCAPI ::RecipeIngredient
const
171 _loadOutputIngredientFromJson(
::Json::Value const& obj, ::MolangVersion molangVersion)
const;
173 MCAPI
bool _loadSmithingTransform(
175 ::MolangVersion molangVersion,
176 ::std::string
const& recipeId,
177 ::std::vector<::HashedString>
const& tags
180 MCAPI
bool _loadSmithingTrim(
182 ::MolangVersion molangVersion,
183 ::std::string
const& recipeId,
184 ::std::vector<::HashedString>
const& tags
187 MCAPI ::std::optional<::RecipeUnlockingRequirement> _loadUnlockingRequirementFromJson(
189 ::MolangVersion molangVersion,
190 ::std::string
const& recipeId
193 MCAPI
void addBundleDyeRecipe(
194 ::std::string recipeId,
202 MCAPI
void addFurnaceRecipeAuxData(
205 ::std::vector<::HashedString>
const& tags
208 MCAPI
void addShapedRecipe(
209 ::std::string recipeId,
211 ::std::string
const& r0,
212 ::std::vector<::Recipes::Type>
const& types,
213 ::std::vector<::HashedString>
const& tags,
215 ::std::function<::std::unique_ptr<
216 ::ShapedRecipe>(::std::string,
int,
int, ::std::vector<::RecipeIngredient>
const&, ::std::vector<::ItemInstance>
const&,
::HashedString,
bool,
int,
::mce::UUID const*,
::RecipeUnlockingRequirement const&,
::SemVersion const&)>
223 MCAPI
void addShapedRecipe(
224 ::std::string recipeId,
226 ::std::vector<::std::string>
const& rows,
227 ::std::vector<::Recipes::Type>
const& types,
228 ::std::vector<::HashedString>
const& tags,
230 ::std::function<::std::unique_ptr<
231 ::ShapedRecipe>(::std::string,
int,
int, ::std::vector<::RecipeIngredient>
const&, ::std::vector<::ItemInstance>
const&,
::HashedString,
bool,
int,
::mce::UUID const*,
::RecipeUnlockingRequirement const&,
::SemVersion const&)>
238 MCAPI
void addShapedRecipe(
239 ::std::string recipeId,
240 ::std::vector<::ItemInstance>
const& result,
241 ::std::vector<::std::string>
const& rows,
242 ::std::vector<::Recipes::Type>
const& types,
243 ::std::vector<::HashedString>
const& tags,
245 ::std::function<::std::unique_ptr<
246 ::ShapedRecipe>(::std::string,
int,
int, ::std::vector<::RecipeIngredient>
const&, ::std::vector<::ItemInstance>
const&,
::HashedString,
bool,
int,
::mce::UUID const*,
::RecipeUnlockingRequirement const&,
::SemVersion const&)>
253 MCAPI
void addShapedRecipe(
254 ::std::string recipeId,
256 ::std::string
const& r0,
257 ::std::string
const& r1,
258 ::std::vector<::Recipes::Type>
const& types,
259 ::std::vector<::HashedString>
const& tags,
261 ::std::function<::std::unique_ptr<
262 ::ShapedRecipe>(::std::string,
int,
int, ::std::vector<::RecipeIngredient>
const&, ::std::vector<::ItemInstance>
const&,
::HashedString,
bool,
int,
::mce::UUID const*,
::RecipeUnlockingRequirement const&,
::SemVersion const&)>
269 MCAPI
void addShapedRecipe(
270 ::std::string recipeId,
272 ::std::string
const& r0,
273 ::std::string
const& r1,
274 ::std::string
const& r2,
275 ::std::vector<::Recipes::Type>
const& types,
276 ::std::vector<::HashedString>
const& tags,
278 ::std::function<::std::unique_ptr<
279 ::ShapedRecipe>(::std::string,
int,
int, ::std::vector<::RecipeIngredient>
const&, ::std::vector<::ItemInstance>
const&,
::HashedString,
bool,
int,
::mce::UUID const*,
::RecipeUnlockingRequirement const&,
::SemVersion const&)>
286 MCAPI
void addShapelessRecipe(
287 ::std::string recipeId,
289 ::std::vector<::Recipes::Type>
const& types,
290 ::std::vector<::HashedString>
const& tags,
292 ::std::function<::std::unique_ptr<
299 MCAPI
void addShulkerBoxRecipe(
300 ::std::string& recipeId,
302 ::std::vector<::Recipes::Type>
const& types,
303 ::std::vector<::HashedString>
const& tags,
308 MCAPI
void clearRecipes();
310 MCAPI ::SemVersion extractRecipeFormatVersion(
::Json::Value const& obj);
312 MCAPI ::std::pair<::std::string, ::Json::Value> extractRecipeObjInfo(
::Json::Value const& obj);
316 MCAPI ::Recipe
const* getRecipeByNetId(
::RecipeNetId const& netId)
const;
327 MCAPI
bool loadRecipe(
328 ::std::pair<::std::string, ::Json::Value>
const& recipeObjInfo,
340 MCAPI static ::Recipes::NormalizedRectangularRecipeResults
341 _normalizeRectangularRecipe(::std::vector<::std::string>
const& rows);
347 MCAPI
void* $ctor(
::Level* level);