diff --git a/init.lua b/init.lua index e9fc473..04a3284 100644 --- a/init.lua +++ b/init.lua @@ -1466,9 +1466,39 @@ core.register_craft = function(def) local name = output[i] if def.type == "fuel" then - def.replacements = def.replacements def.items = {def.recipe} fuel_cache[name] = def + + elseif def.type == "cooking" then + def.items = {def.recipe} + + elseif def.type == "shapeless" then + def.items, def.width = {}, 0 + for j = 1, #def.recipe do + def.items[#def.items + 1] = def.recipe[j] + end + else + def.items, def.width = {}, #def.recipe[1] + local c = 0 + + for j = 1, #def.recipe do + if def.recipe[j] then + for h = 1, def.width do + c = c + 1 + local it = def.recipe[j][h] + + if it and it ~= "" then + def.items[c] = it + end + end + end + end + end + + if def.type ~= "fuel" then + def.recipe = nil + recipes_cache[name] = recipes_cache[name] or {} + insert(recipes_cache[name], 1, def) end end end