aboutsummaryrefslogtreecommitdiff
path: root/src/craftdef.cpp
AgeCommit message (Collapse)Author
2022-05-10Fix cooking and fuel crafts with aliasesJude Melton-Houghton
2020-04-08Overall improvements to log messages (#9598)sfan5
Hide some unnecessarily verbose ones behind --trace or disable them entirely. Remove duplicate ones. Improve their contents in some places.
2019-08-10Fix some issues with minetest.clear_craft (#8712)Paul Ouellette
* Fix some issues with minetest.clear_craft - Fix memory leak - Fix crafts with an output count not being cleared when clearing by input. - Fix recipe list being reversed when clearing by input. * Add CraftInput::empty()
2019-07-27Prefix RecipePriority elements with PRIORITY_Paul Ouellette
2019-07-27Initialize priority in CraftDefinition constructorsPaul Ouellette
The priority is used by getCraftResult, which may be used before initHash is called.
2019-05-20Prioritise craft recipesHybridDog
When multiple recipes are applicable, the recipes are prioritised in this order: toolrepair < shapeless with groups < shapeless < shaped with groups < shaped For cooking and fuel, items are prioritised over item groups
2019-05-20Test crafting hash type only once for a recipeHybridDog
2019-03-31Use unordered_map instead of map for craft definitions (#8432)HybridDog
2019-01-13Speed up the craft definition handling (#8097)Jozef Behran
The craft definition handling code that collects the names of the craftable nodes suffers from vector reallocation performance hits, slowing down instances with lots of crafting recipes (VanessaE's DreamBuilder and most public server some to my mind when thinking about this). As in each instance the size of the resulting vector is already known, add a reserve() call before the offending loops to allocate the needed chunk of memory within the result vector in one go, getting rid of the overhead.
2018-10-16Add disable_repair group to prevent tool repair (#7381)Wuzzy
2017-10-16Don't try to craft a non-existent itemEsteban I. RM
2017-08-20Modernize code: very last fixes (#6290)Loïc Blot
Last modernization fixes
2017-08-17Modernize src/c* src/d* and src/e* files (#6263)Loïc Blot
* Modernize src/c* src/d* and src/e* files * default operator * redundant init * delete default constructors on CraftDefinition childs (never used) * fix some missing init values * const ref fix reported by clang-tidy * ranged-based for loops * simple conditions & returns * empty stl function instead of size * emplace_back stl function instead of push_back + construct temp obj * auto for some iterators * code style fixes * c++ stl headers instead of C stl headers (stdio.h -> cstdio)
2017-02-04Add ItemStack key-value meta storagerubenwardy
2016-07-05Adding minetest.clear_craftFoghrye4
Modifications by est31: grammar fixes in doc + error messages and a little style fix, no functional change.
2016-03-19Clean up StrfndShadowNinja
Changes: * Fix indentation. * Pass strings by const reference. * Merge Strfnd and WStrfnd into one class instead of copying them. * Remove trailing spaces. * Fix variable names. * Move to util. * Other miscellaneous style fixes.
2015-11-15Allow craft replacements to use groupsTeTpaAka
2015-08-25Change i++ to ++iDavid Jones
2015-07-04Fix endless loop since grandparent commitest31
2015-07-04Craftdef: Use numbers instead of iteratorsest31
Use numbers instead of iterators to traverse various vectors.
2015-07-04Fix missing check for 0 in craft replacementsTeTpaAka
2015-06-22Fix bug when craft input isn't replacedTeTpaAka
2015-05-08Fix release build warningest31
2015-04-26Remove craftdef serialisationest31
It isn't needed anymore, sending ICraftDefManager over the network has been obsoleted by protocol version 7.
2015-04-26Craftdef refactorest31
Fix style, refactor assert, use '"' instead of "\"", replace code duplicating craftGetItemName, rename iterators.
2015-04-05craftdef.cpp: Return 0 after assert to make Clang happyLoic Blot
2015-04-05Crafting speedupest31
This greatly increases crafting performance, especially in worlds with many mods. Approved by @kwolekr. Introduces a hash-type-layered fall-through mechanism, where every layer specifies one hash algorithm, and the "deeper the fall", the more collisions to expect for the algorithm. One Craft definition only resides at one layer, which improves speed for lower layers (and a complete fail), due to most craft definitions residing at high layers. Due to the fall-through design, the undocumented behaviour that later craft recipes override older ones had to be weaked up a bit, but craft recipes with the same hash and layer will still override.
2015-03-20Optimize minetest.get_(all)_craft_recipe(s)gregorycu
Signed off by: ShadowNinja, kwolekr
2015-02-10Craftdef.cpp: Improve loop and mathematics for CraftDefinitionShaped::checkLoic Blot
2015-02-02Fix getCraftRecipe returing wrong reciep due to way to unspecific output ↵sapier
matching
2013-08-25Fix aliases not working in shapeless crafting recipesKahrl
2013-08-14Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl
2013-03-05Added method to get all registered recipes for item(node)RealBadAngel
2013-02-24Update Copyright YearsSfan5
2013-02-24Change Minetest-c55 to MinetestPilzAdam
2012-07-26Working group-shapeless and multigroup recipesPerttu Ahola
2012-07-21Add minetest.get_craft_recipe()darkrose
2012-06-17Properly and efficiently use split utility headersPerttu Ahola
2012-06-06Allow groups in crafting recipesPerttu Ahola
2012-06-06Allow replacements in cooking and fuel recipesKahrl
2012-06-05Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola
GPLv2/later, by agreement of major contributors
2012-03-11Clean up log messages everywherePerttu Ahola
2012-01-12The huge item definition and item namespace unification patch (itemdef), see ↵Kahrl
http://c55.me/minetest/wiki/doku.php?id=changes:itemdef
2012-01-02Add InvRef and InvStack (currently untested and unusable)Perttu Ahola
2011-11-29Catch SerializationError in CCraftDefManager::getCraftResult()Perttu Ahola
2011-11-29Crafting definition in scriptsPerttu Ahola