aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/ShapedRecipy.h
blob: c111b7c779bdddc3a05f9aa333f74d45bdddf353 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#pragma once

class ShapedRecipy : public Recipy 
{
private:
	int width, height, group;
	ItemInstance **recipeItems;
	ItemInstance *result;
	bool _keepTag;
public:
	const int resultId;

public:
	ShapedRecipy(int width, int height, ItemInstance **recipeItems, ItemInstance *result, int iGroup=Recipy::eGroupType_Decoration);

	virtual const ItemInstance *getResultItem();
	virtual const int getGroup();
	virtual bool matches(shared_ptr<CraftingContainer> craftSlots, Level *level);

private:
	bool matches(shared_ptr<CraftingContainer> craftSlots, int xOffs, int yOffs, bool xFlip);

public:
	virtual shared_ptr<ItemInstance> assemble(shared_ptr<CraftingContainer> craftSlots);
	virtual int size();
	ShapedRecipy *keepTag();

	// 4J-PB - to return the items required to make a recipe
	virtual bool reqs(int iRecipe);
	virtual void reqs(INGREDIENTS_REQUIRED *pIngReq);
};