Vanessa Ezekowitz
2015-01-12 bc0ac581aa2b79cd48e4b2083d8c7890ace580aa
prevent crash if get_recipe_index() is passed a nil or apparent garbage instead
of a table
1 files modified
9 ■■■■■ changed files
technic/machines/register/recipes.lua 9 ●●●●● patch | view | raw | blame | history
technic/machines/register/recipes.lua
@@ -17,6 +17,7 @@
end
local function get_recipe_index(items)
    if not items or type(items) ~= "table" then return false end
    local l = {}
    for i, stack in ipairs(items) do
        l[i] = ItemStack(stack):get_name()
@@ -40,6 +41,10 @@
    
    local recipe = {time = data.time, input = {}, output = data.output}
    local index = get_recipe_index(data.input)
    if not index then
        print("[Technic] ignored registration of garbage recipe!")
        return
    end
    for _, stack in ipairs(data.input) do
        recipe.input[ItemStack(stack):get_name()] = ItemStack(stack):get_count()
    end
@@ -75,6 +80,10 @@
        end
    end
    local index = get_recipe_index(items)
    if not index then
        print("[Technic] ignored registration of garbage recipe!")
        return
    end
    local recipe = technic.recipes[typename].recipes[index]
    if recipe then
        local new_input = {}