aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJude Melton-Houghton <jwmhjwmh@gmail.com>2022-05-09 18:21:08 -0400
committersfan5 <sfan5@live.de>2022-05-14 18:33:42 +0200
commit8f30456ee3f711f1eb4deee630af7e083a769a22 (patch)
treeecec0728378f96843d416945cfa7b0ecd57d34fd
parent38557ff63512945657bc4a97b3ca435cd7b711a8 (diff)
downloadminetest-8f30456ee3f711f1eb4deee630af7e083a769a22.tar.gz
minetest-8f30456ee3f711f1eb4deee630af7e083a769a22.tar.bz2
minetest-8f30456ee3f711f1eb4deee630af7e083a769a22.zip
Fix cooking and fuel crafts with aliases
-rw-r--r--games/devtest/mods/unittests/crafting_prepare.lua14
-rw-r--r--src/craftdef.cpp6
2 files changed, 14 insertions, 6 deletions
diff --git a/games/devtest/mods/unittests/crafting_prepare.lua b/games/devtest/mods/unittests/crafting_prepare.lua
index a09734827..5cf5775e0 100644
--- a/games/devtest/mods/unittests/crafting_prepare.lua
+++ b/games/devtest/mods/unittests/crafting_prepare.lua
@@ -31,25 +31,31 @@ minetest.register_craftitem("unittests:steel_ingot", {
groups = { dummy = 1 },
})
+-- Use aliases in recipes for more complete testing
+
+minetest.register_alias("unittests:steel_ingot_alias", "unittests:steel_ingot")
+minetest.register_alias("unittests:coal_lump_alias", "unittests:coal_lump")
+minetest.register_alias("unittests:iron_lump_alias", "unittests:iron_lump")
+
-- Recipes for tests: Normal crafting, cooking and fuel
minetest.register_craft({
output = 'unittests:torch 4',
recipe = {
- {'unittests:coal_lump'},
+ {'unittests:coal_lump_alias'},
{'unittests:stick'},
}
})
minetest.register_craft({
type = "cooking",
- output = "unittests:steel_ingot",
- recipe = "unittests:iron_lump",
+ output = "unittests:steel_ingot_alias",
+ recipe = "unittests:iron_lump_alias",
})
minetest.register_craft({
type = "fuel",
- recipe = "unittests:coal_lump",
+ recipe = "unittests:coal_lump_alias",
burntime = 40,
})
diff --git a/src/craftdef.cpp b/src/craftdef.cpp
index 210605198..c05a0cfb7 100644
--- a/src/craftdef.cpp
+++ b/src/craftdef.cpp
@@ -734,7 +734,8 @@ bool CraftDefinitionCooking::check(const CraftInput &input, IGameDef *gamedef) c
}
// Check the single input item
- return inputItemMatchesRecipe(input_filtered[0], recipe, gamedef->idef());
+ std::string rec_name = craftGetItemName(recipe, gamedef);
+ return inputItemMatchesRecipe(input_filtered[0], rec_name, gamedef->idef());
}
CraftOutput CraftDefinitionCooking::getOutput(const CraftInput &input, IGameDef *gamedef) const
@@ -836,7 +837,8 @@ bool CraftDefinitionFuel::check(const CraftInput &input, IGameDef *gamedef) cons
}
// Check the single input item
- return inputItemMatchesRecipe(input_filtered[0], recipe, gamedef->idef());
+ std::string rec_name = craftGetItemName(recipe, gamedef);
+ return inputItemMatchesRecipe(input_filtered[0], rec_name, gamedef->idef());
}
CraftOutput CraftDefinitionFuel::getOutput(const CraftInput &input, IGameDef *gamedef) const