mcserver/source/cRecipeChecker.h

39 lines
732 B
C++

#pragma once
#include "cItem.h"
class cRecipeChecker
{
public:
static cRecipeChecker * GetRecipeChecker();
// Grid of cItems of a_Width width and a_Height Height
cItem CookIngredients( cItem* a_Items, int a_Width, int a_Height, bool a_bConsumeIngredients = false );
struct RecipeSlot
{
cItem Item;
int x, y;
};
struct Recipe
{
Recipe() : Slots( 0 ), NumItems( 0 ) {}
~Recipe();
RecipeSlot* Slots; // Array of RecipeSlots
unsigned int NumItems;
cItem Result;
};
void ReloadRecipes();
static void DeleteMe();
private:
friend class cRoot;
cRecipeChecker();
~cRecipeChecker();
struct sRecipeCheckerState;
sRecipeCheckerState* m_pState;
void ClearRecipes();
};