64 const std::vector<ItemStack> &items_);
69 std::string
dump()
const;
85 std::vector<std::pair<std::string, std::string> >
pairs;
91 std::string
dump()
const;
115 std::string
dump()
const;
160 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const=0;
171 virtual std::string
dump()
const=0;
189 const std::string &output_,
191 const std::vector<std::string> &recipe_,
196 virtual std::string
getName()
const;
201 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
207 virtual std::string
dump()
const;
234 const std::string &output_,
235 const std::vector<std::string> &recipe_,
240 virtual std::string
getName()
const;
245 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
251 virtual std::string
dump()
const;
280 virtual std::string
getName()
const;
285 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
294 virtual std::string
dump()
const;
314 const std::string &output_,
315 const std::string &recipe_,
321 virtual std::string
getName()
const;
326 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
332 virtual std::string
dump()
const;
358 const std::string &recipe_,
364 virtual std::string
getName()
const;
369 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
375 virtual std::string
dump()
const;
412 std::vector<ItemStack> &output_replacements,
413 bool decrementInput,
IGameDef *gamedef)
const=0;
416 IGameDef *gamedef,
unsigned limit=0)
const=0;
419 virtual std::string
dump()
const=0;
430 std::vector<ItemStack> &output_replacements,
431 bool decrementInput,
IGameDef *gamedef)
const=0;
433 IGameDef *gamedef,
unsigned limit=0)
const=0;
439 virtual std::string
dump()
const=0;
CraftDefinitionCooking()=delete
std::string recipe
Definition craftdef.h:338
virtual ~CraftDefinitionCooking()=default
virtual std::string dump() const
Definition craftdef.cpp:913
std::string recipe_name
Definition craftdef.h:340
std::string output
Definition craftdef.h:336
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:900
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:885
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:872
float cooktime
Definition craftdef.h:344
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:841
CraftReplacements replacements
Definition craftdef.h:346
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:867
bool hash_inited
Definition craftdef.h:342
virtual std::string getName() const
Definition craftdef.cpp:836
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:879
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:970
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:982
std::string recipe
Definition craftdef.h:379
virtual ~CraftDefinitionFuel()=default
std::string recipe_name
Definition craftdef.h:381
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:988
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:1003
CraftReplacements replacements
Definition craftdef.h:387
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:975
virtual std::string dump() const
Definition craftdef.cpp:1016
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:944
float burntime
Definition craftdef.h:385
CraftDefinitionFuel()=delete
virtual std::string getName() const
Definition craftdef.cpp:939
bool hash_inited
Definition craftdef.h:383
unsigned int width
Definition craftdef.h:213
CraftReplacements replacements
Definition craftdef.h:221
bool hash_inited
Definition craftdef.h:219
virtual std::string dump() const
Definition craftdef.cpp:458
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:445
std::vector< std::string > recipe_names
Definition craftdef.h:217
std::vector< std::string > recipe
Definition craftdef.h:215
virtual std::string getName() const
Definition craftdef.cpp:347
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:423
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:418
std::string output
Definition craftdef.h:211
CraftDefinitionShaped()=delete
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:434
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:352
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:428
virtual ~CraftDefinitionShaped()=default
virtual ~CraftDefinitionShapeless()=default
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:595
std::vector< std::string > recipe_names
Definition craftdef.h:259
virtual std::string getName() const
Definition craftdef.cpp:483
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:696
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:677
CraftDefinitionShapeless()=delete
bool hash_inited
Definition craftdef.h:261
virtual std::string dump() const
Definition craftdef.cpp:710
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:672
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:682
std::vector< std::string > recipe
Definition craftdef.h:257
CraftReplacements replacements
Definition craftdef.h:263
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:688
std::string output
Definition craftdef.h:255
Definition craftdef.h:122
RecipePriority
Definition craftdef.h:132
@ PRIORITY_TOOLREPAIR
Definition craftdef.h:134
@ PRIORITY_SHAPELESS
Definition craftdef.h:136
@ PRIORITY_NO_RECIPE
Definition craftdef.h:133
@ PRIORITY_SHAPED_AND_GROUPS
Definition craftdef.h:137
@ PRIORITY_SHAPELESS_AND_GROUPS
Definition craftdef.h:135
@ PRIORITY_SHAPED
Definition craftdef.h:138
RecipePriority getPriority() const
Definition craftdef.h:149
virtual bool check(const CraftInput &input, IGameDef *gamedef) const =0
CraftHashType hash_type
Definition craftdef.h:174
CraftDefinition()=default
CraftHashType getHashType() const
Definition craftdef.h:162
virtual std::string dump() const =0
virtual void initHash(IGameDef *gamedef)=0
virtual ~CraftDefinition()=default
virtual u64 getHash(CraftHashType type) const =0
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const =0
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const =0
virtual std::string getName() const =0
RecipePriority priority
Definition craftdef.h:175
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const =0
virtual bool getCraftResult(CraftInput &input, CraftOutput &output, std::vector< ItemStack > &output_replacements, bool decrementInput, IGameDef *gamedef) const =0
The main crafting function.
virtual std::vector< CraftDefinition * > getCraftRecipes(CraftOutput &output, IGameDef *gamedef, unsigned limit=0) const =0
virtual ~ICraftDefManager()=default
ICraftDefManager()=default
virtual std::string dump() const =0
Definition craftdef.h:423
virtual bool clearCraftsByOutput(const CraftOutput &output, IGameDef *gamedef)=0
virtual ~IWritableCraftDefManager()=default
virtual void registerCraft(CraftDefinition *def, IGameDef *gamedef)=0
virtual std::string dump() const =0
virtual void initHashes(IGameDef *gamedef)=0
IWritableCraftDefManager()=default
virtual bool clearCraftsByInput(const CraftInput &input, IGameDef *gamedef)=0
virtual bool getCraftResult(CraftInput &input, CraftOutput &output, std::vector< ItemStack > &output_replacements, bool decrementInput, IGameDef *gamedef) const =0
The main crafting function.
virtual std::vector< CraftDefinition * > getCraftRecipes(CraftOutput &output, IGameDef *gamedef, unsigned limit=0) const =0
CraftHashType
Definition craftdef.h:36
@ CRAFT_HASH_TYPE_ITEM_NAMES
Definition craftdef.h:40
@ CRAFT_HASH_TYPE_UNHASHED
Definition craftdef.h:47
@ CRAFT_HASH_TYPE_COUNT
Definition craftdef.h:43
IWritableCraftDefManager * createCraftDefManager()
Definition craftdef.cpp:1247
CraftMethod
Definition craftdef.h:21
@ CRAFT_METHOD_NORMAL
Definition craftdef.h:23
@ CRAFT_METHOD_COOKING
Definition craftdef.h:25
@ CRAFT_METHOD_FUEL
Definition craftdef.h:27
const int craft_hash_type_max
Definition craftdef.h:50
CraftOutput(const std::string &item_, float time_)
Definition craftdef.h:108
std::string dump() const
Definition craftdef.cpp:303
CraftOutput(const std::string &item_, float time_, CraftReplacements replacements)
Definition craftdef.h:112
CraftReplacements replacements
Definition craftdef.h:104
std::string item
Definition craftdef.h:100
float time
Definition craftdef.h:102
std::string dump() const
Definition craftdef.cpp:315
CraftReplacements(const std::vector< std::pair< std::string, std::string > > &pairs_)
Definition craftdef.h:88
CraftReplacements()=default
std::vector< std::pair< std::string, std::string > > pairs
Definition craftdef.h:85
Definition inventory.h:21