-function worktable.craftguide_output_lists(meta, num, items, stackname)
- local inv = meta:get_inventory()
- local output = minetest.get_all_craft_recipes(stackname)[num].output
- local yield = output:match("%s(%d+)") or 1
- inv:set_stack("item_craft_input", 1, stackname.." "..yield)
-
- for k, def in pairs(items) do
- if def and def:find("^group:") then
- if def:find("wool$") or def:find("dye$") then
- def = def:match(":([%w_]+)")..":white"
- elseif minetest.registered_items["default:"..def:match(":([%w_,]+)")] then
- def = def:gsub("group:", "default:")
- else
- for node, definition in pairs(minetest.registered_items) do
- for group in pairs(definition.groups) do
- if def:match(".*"..group.."$") then
- def = node
- end
- end
+function worktable.get_recipe(item)
+ if item:find("^group:") then
+ if item:find("wool$") or item:find("dye$") then
+ item = item:sub(7)..":white"
+ elseif minetest.registered_items["default:"..item:sub(7)] then
+ item = item:gsub("group:", "default:")
+ else
+ for node, def in pairs(minetest.registered_items) do
+ if def.groups[item:match("[^,:]+$")] then
+ item = node