Files
MCLEClient/Minecraft.World/ShapedRecipy.h
T
2026-05-28 01:23:47 -04:00

38 lines
1021 B
C++

#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 ~ShapedRecipy() override;
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);
virtual void writeToStream(DataOutputStream* dos);
static ShapedRecipy* readFromStream(DataInputStream* dis);
};