49 ::ll::TypedStorage<4, 4, int> mID;
50 ::ll::TypedStorage<8, 48, ::HashedString> mTag;
70 ::ll::TypedStorage<8, 8, ::Item*> mItem;
71 ::ll::TypedStorage<8, 8, ::Block const*> mBlock;
72 ::ll::TypedStorage<8, 24, ::RecipeIngredient> mIngredient;
73 ::ll::TypedStorage<1, 1, char> mC;
89 using TypeList = ::std::vector<::Recipes::Type>;
95 ::ll::TypedStorage<4, 4, int> mWidth;
96 ::ll::TypedStorage<4, 4, int> mHeight;
97 ::ll::TypedStorage<8, 32, ::std::string> mNormalizedResult;
98 ::ll::TypedStorage<8, 32, ::std::string> mWarning;
117 ::ll::TypedStorage<8, 8, ::ResourcePackManager*> mResourcePackManager;
118 ::ll::TypedStorage<8, 8, ::ExternalRecipeStore> mExternalRecipeStore;
119 ::ll::TypedStorage<8, 16, ::std::map<::HashedString, ::std::map<::std::string, ::std::shared_ptr<::Recipe>>>>
121 ::ll::TypedStorage<8, 16, ::std::map<::Recipes::FurnaceRecipeKey, ::ItemInstance>> mFurnaceRecipes;
122 ::ll::TypedStorage<1, 1, bool> mInitializing;
128 ::ll::TypedStorage<8, 64, ::std::unordered_map<::RecipeNetId, ::Recipe*>> mRecipesByNetId;
132 ::std::unordered_map<uint64, ::std::unordered_map<uint64, ::std::shared_ptr<::std::vector<::ItemInstance>>>>>
134 ::ll::TypedStorage<8, 24, ::std::vector<::gsl::not_null<::Recipe*>>> mUnlockableRecipes;
135 ::ll::TypedStorage<8, 24, ::std::vector<::std::pair<::std::weak_ptr<bool>, ::std::function<void()>>>> mListeners;
136 ::ll::TypedStorage<8, 8, ::Level*> mLevel;
148 MCAPI
void _addItemRecipe(::std::unique_ptr<::Recipe> recipe);
150 MCAPI
void _addMapRecipes();
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
bool _loadSmithingTransform(
172 ::MolangVersion molangVersion,
173 ::std::string
const& recipeId,
174 ::std::vector<::HashedString>
const& tags
177 MCAPI
bool _loadSmithingTrim(
179 ::MolangVersion molangVersion,
180 ::std::string
const& recipeId,
181 ::std::vector<::HashedString>
const& tags
184 MCAPI ::std::optional<::RecipeUnlockingRequirement> _loadUnlockingRequirementFromJson(
186 ::MolangVersion molangVersion,
187 ::std::string
const& recipeId
190 MCAPI
void addDyedItemRecipe(
191 ::std::string recipeId,
200 MCAPI
void addFurnaceRecipeAuxData(
203 ::std::vector<::HashedString>
const& tags
206 MCAPI
void addShapedRecipe(
207 ::std::string recipeId,
209 ::std::string
const& r0,
210 ::std::vector<::Recipes::Type>
const& types,
211 ::std::vector<::HashedString>
const& tags,
213 ::std::function<::std::unique_ptr<::ShapedRecipe>(
217 ::std::vector<::RecipeIngredient>
const&,
218 ::std::vector<::ItemInstance>
const&,
231 MCAPI
void addShapedRecipe(
232 ::std::string recipeId,
234 ::std::vector<::std::string>
const& rows,
235 ::std::vector<::Recipes::Type>
const& types,
236 ::std::vector<::HashedString>
const& tags,
238 ::std::function<::std::unique_ptr<::ShapedRecipe>(
242 ::std::vector<::RecipeIngredient>
const&,
243 ::std::vector<::ItemInstance>
const&,
256 MCAPI
void addShapedRecipe(
257 ::std::string recipeId,
258 ::std::vector<::ItemInstance>
const& result,
259 ::std::vector<::std::string>
const& rows,
260 ::std::vector<::Recipes::Type>
const& types,
261 ::std::vector<::HashedString>
const& tags,
263 ::std::function<::std::unique_ptr<::ShapedRecipe>(
267 ::std::vector<::RecipeIngredient>
const&,
268 ::std::vector<::ItemInstance>
const&,
281 MCAPI
void addShapedRecipe(
282 ::std::string recipeId,
284 ::std::string
const& r0,
285 ::std::string
const& r1,
286 ::std::vector<::Recipes::Type>
const& types,
287 ::std::vector<::HashedString>
const& tags,
289 ::std::function<::std::unique_ptr<::ShapedRecipe>(
293 ::std::vector<::RecipeIngredient>
const&,
294 ::std::vector<::ItemInstance>
const&,
307 MCAPI
void addShapedRecipe(
308 ::std::string recipeId,
310 ::std::string
const& r0,
311 ::std::string
const& r1,
312 ::std::string
const& r2,
313 ::std::vector<::Recipes::Type>
const& types,
314 ::std::vector<::HashedString>
const& tags,
316 ::std::function<::std::unique_ptr<::ShapedRecipe>(
320 ::std::vector<::RecipeIngredient>
const&,
321 ::std::vector<::ItemInstance>
const&,
334 MCAPI
void addShapelessRecipe(
335 ::std::string recipeId,
337 ::std::vector<::Recipes::Type>
const& types,
338 ::std::vector<::HashedString>
const& tags,
340 ::std::function<::std::unique_ptr<::ShapelessRecipe>(
342 ::std::vector<::RecipeIngredient>
const&,
343 ::std::vector<::ItemInstance>
const&,
354 MCAPI
void addShulkerBoxRecipe(
355 ::std::string& recipeId,
357 ::std::vector<::Recipes::Type>
const& types,
358 ::std::vector<::HashedString>
const& tags,
363 MCAPI
void clearRecipes();
365 MCAPI ::SemVersion extractRecipeFormatVersion(
::Json::Value const& obj);
367 MCAPI ::std::pair<::std::string, ::Json::Value> extractRecipeObjInfo(
::Json::Value const& obj);
371 MCAPI ::Recipe
const* getRecipeByNetId(
::RecipeNetId const& netId)
const;
382 MCAPI
bool loadRecipe(
383 ::std::pair<::std::string, ::Json::Value>
const& recipeObjInfo,
395 MCAPI static ::Recipes::NormalizedRectangularRecipeResults
396 _normalizeRectangularRecipe(::std::vector<::std::string>
const& rows);
402 MCAPI
void* $ctor(
::Level* level);