neoLegacy/Minecraft.World/ShapedRecipy.h
DrPerkyLegit b67cbb85f3
Some checks are pending
Sync branches with main / sync (push) Waiting to run
feat: multiplayer feat/less hardcoded lists (#89)
* CustomPayloadPacket Changes

commented all code for old equip packets
cleaned up custom payload key creation
added 2 new payload packet definitions for upcoming changes

* server sided recipe list

* code cleanup for recipes

* add dtor for recipe classes to fix memory leak

* forgot this part to the dtor commit

* dtor changes tested and fixed

* server side creative menu list
2026-05-22 18:39:27 +03:00

38 lines
1,021 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);
};