Index: distiller.lua ================================================================== --- distiller.lua +++ distiller.lua @@ -7,11 +7,12 @@ } local function findextract(herb) for name, e in pairs(sorcery.data.extracts) do - if e[1] == herb then + local found = false + if sorcery.lib.item.groupmatch(e[1], herb) then return name, { color = e[2]; reqamt = e[3] or 3; reqtime = e[4] or 75; } Index: lib/item.lua ================================================================== --- lib/item.lua +++ lib/item.lua @@ -33,12 +33,12 @@ local is = ItemStack(identity) identity,count = is:get_name(), is:get_count() end end - local stack = ItemStack(item) if sorcery.lib.str.beginswith(identity, 'group:') then + local stack = ItemStack(item) local groups = sorcery.lib.str.explode(string.sub(identity,7), ',') for _,g in pairs(groups) do local rn,rv = sorcery.lib.tbl.split(g,'=') local gv = minetest.get_item_group(stack:get_name(), rn) if rv then Index: lib/node.lua ================================================================== --- lib/node.lua +++ lib/node.lua @@ -183,11 +183,11 @@ tree_is_live = function(pos, checklight) -- VERY EXPENSIVE FUNCTION -- this is going to require some explanation. -- -- for various purposes, we want to be able to tell the difference between - -- a tree that has grown naturally from the grown vs. a couple of trunk nodes + -- a tree that has grown naturally from the ground vs. a couple of trunk nodes -- that the player has jammed together, even if she's built her own counterfeit -- tree. unfortunately, mtg provides no easy way to do this. the only -- difference between a cluster of trunk blocks and a real tree is that the -- real tree will have a specific kind of leaves attached with their param2 -- set to 1 so that they can be distinguished for the purpose of leaf cleaning. @@ -412,11 +412,11 @@ local n = minetest.get_node(sum) if n.name == 'ignore' then minetest.load_area(sum) n = minetest.get_node(sum) end - fn(sum, n) + if fn(sum, n) == false then break end end end; amass = amass;