64 const std::vector<ItemStack> &items_);
69 std::string
dump()
const;
87 std::string
dump()
const;
103 std::vector<std::pair<std::string, std::string> >
pairs;
109 std::string
dump()
const;
154 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const=0;
165 virtual std::string
dump()
const=0;
183 const std::string &output_,
185 const std::vector<std::string> &recipe_,
190 virtual std::string
getName()
const;
195 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
201 virtual std::string
dump()
const;
228 const std::string &output_,
229 const std::vector<std::string> &recipe_,
234 virtual std::string
getName()
const;
239 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
245 virtual std::string
dump()
const;
274 virtual std::string
getName()
const;
279 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
288 virtual std::string
dump()
const;
308 const std::string &output_,
309 const std::string &recipe_,
315 virtual std::string
getName()
const;
320 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
326 virtual std::string
dump()
const;
352 const std::string &recipe_,
358 virtual std::string
getName()
const;
363 std::vector<ItemStack> &output_replacements,
IGameDef *gamedef)
const;
369 virtual std::string
dump()
const;
406 std::vector<ItemStack> &output_replacements,
407 bool decrementInput,
IGameDef *gamedef)
const=0;
410 IGameDef *gamedef,
unsigned limit=0)
const=0;
413 virtual std::string
dump()
const=0;
424 std::vector<ItemStack> &output_replacements,
425 bool decrementInput,
IGameDef *gamedef)
const=0;
427 IGameDef *gamedef,
unsigned limit=0)
const=0;
433 virtual std::string
dump()
const=0;
Definition craftdef.h:304
CraftDefinitionCooking()=delete
std::string recipe
Definition craftdef.h:332
virtual ~CraftDefinitionCooking()=default
virtual std::string dump() const
Definition craftdef.cpp:912
std::string recipe_name
Definition craftdef.h:334
std::string output
Definition craftdef.h:330
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:899
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:884
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:871
float cooktime
Definition craftdef.h:338
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:840
CraftReplacements replacements
Definition craftdef.h:340
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:866
bool hash_inited
Definition craftdef.h:336
virtual std::string getName() const
Definition craftdef.cpp:835
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:878
Definition craftdef.h:348
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:969
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:981
std::string recipe
Definition craftdef.h:373
virtual ~CraftDefinitionFuel()=default
std::string recipe_name
Definition craftdef.h:375
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:987
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:1002
CraftReplacements replacements
Definition craftdef.h:381
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:974
virtual std::string dump() const
Definition craftdef.cpp:1015
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:943
float burntime
Definition craftdef.h:379
CraftDefinitionFuel()=delete
virtual std::string getName() const
Definition craftdef.cpp:938
bool hash_inited
Definition craftdef.h:377
Definition craftdef.h:179
unsigned int width
Definition craftdef.h:207
CraftReplacements replacements
Definition craftdef.h:215
bool hash_inited
Definition craftdef.h:213
virtual std::string dump() const
Definition craftdef.cpp:457
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:444
std::vector< std::string > recipe_names
Definition craftdef.h:211
std::vector< std::string > recipe
Definition craftdef.h:209
virtual std::string getName() const
Definition craftdef.cpp:346
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:422
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:417
std::string output
Definition craftdef.h:205
CraftDefinitionShaped()=delete
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:433
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:351
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:427
virtual ~CraftDefinitionShaped()=default
Definition craftdef.h:224
virtual ~CraftDefinitionShapeless()=default
virtual bool check(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:594
std::vector< std::string > recipe_names
Definition craftdef.h:253
virtual std::string getName() const
Definition craftdef.cpp:482
virtual void initHash(IGameDef *gamedef)
Definition craftdef.cpp:695
virtual CraftInput getInput(const CraftOutput &output, IGameDef *gamedef) const
Definition craftdef.cpp:676
CraftDefinitionShapeless()=delete
bool hash_inited
Definition craftdef.h:255
virtual std::string dump() const
Definition craftdef.cpp:709
virtual CraftOutput getOutput(const CraftInput &input, IGameDef *gamedef) const
Definition craftdef.cpp:671
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const
Definition craftdef.cpp:681
std::vector< std::string > recipe
Definition craftdef.h:251
CraftReplacements replacements
Definition craftdef.h:257
virtual u64 getHash(CraftHashType type) const
Definition craftdef.cpp:687
std::string output
Definition craftdef.h:249
Definition craftdef.h:116
RecipePriority
Definition craftdef.h:126
@ PRIORITY_TOOLREPAIR
Definition craftdef.h:128
@ PRIORITY_SHAPELESS
Definition craftdef.h:130
@ PRIORITY_NO_RECIPE
Definition craftdef.h:127
@ PRIORITY_SHAPED_AND_GROUPS
Definition craftdef.h:131
@ PRIORITY_SHAPELESS_AND_GROUPS
Definition craftdef.h:129
@ PRIORITY_SHAPED
Definition craftdef.h:132
RecipePriority getPriority() const
Definition craftdef.h:143
virtual bool check(const CraftInput &input, IGameDef *gamedef) const =0
CraftHashType hash_type
Definition craftdef.h:168
CraftDefinition()=default
CraftHashType getHashType() const
Definition craftdef.h:156
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:169
virtual void decrementInput(CraftInput &input, std::vector< ItemStack > &output_replacements, IGameDef *gamedef) const =0
Definition craftdef.h:388
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:417
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:1246
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:84
std::string dump() const
Definition craftdef.cpp:303
std::string item
Definition craftdef.h:78
float time
Definition craftdef.h:80
Definition craftdef.h:101
std::string dump() const
Definition craftdef.cpp:314
CraftReplacements(const std::vector< std::pair< std::string, std::string > > &pairs_)
Definition craftdef.h:106
CraftReplacements()=default
std::vector< std::pair< std::string, std::string > > pairs
Definition craftdef.h:103
Definition inventory.h:21