// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "../Global.h"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class Recipe {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_RECIPE
public:
    class Recipe& operator=(class Recipe const &) = delete;
    Recipe(class Recipe const &) = delete;
    Recipe() = delete;
#endif

public:
    /*0*/ virtual ~Recipe();
    /*1*/ virtual std::vector<class ItemInstance> const & assemble(class CraftingContainer &) const = 0;
    /*2*/ virtual int getCraftingSize() const = 0;
    /*3*/ virtual class RecipeIngredient const & getIngredient(int, int) const = 0;
    /*4*/ virtual std::vector<class ItemInstance> const & getResultItem() const = 0;
    /*5*/ virtual bool isShapeless() const = 0;
    /*6*/ virtual bool matches(class CraftingContainer &, class Level &) const = 0;
    /*7*/ virtual int size() const = 0;
    /*8*/ virtual bool isExperimental() const = 0;
    /*9*/ virtual class mce::UUID const & getId() const;
    /*10*/ virtual class ItemPack const & getItemPack() const;
    /*11*/ virtual bool isMultiRecipe() const;
    /*12*/ virtual bool itemValidForRecipe(class ItemDescriptor const &, class ItemStack const &) const;
    /*13*/ virtual bool itemsMatch(class ItemDescriptor const &, class ItemDescriptor const &) const;
    /*14*/ virtual bool itemsMatch(class ItemDescriptor const &, class ItemDescriptor const &, class CompoundTag const *) const;
    /*15*/ virtual bool itemsMatch(class ItemDescriptor const &, int, int, class CompoundTag const *) const;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_RECIPE
#endif
    MCAPI Recipe(class Recipe &&);
    MCAPI int countQuantityOfIngredient(class ItemInstance const &) const;
    MCAPI static bool isAnyAuxValue(class ItemDescriptor const &);

//protected:
    MCAPI Recipe(std::string, class HashedString);

protected:

};