From bc0ac581aa2b79cd48e4b2083d8c7890ace580aa Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Mon, 12 Jan 2015 17:34:35 -0500 Subject: [PATCH] prevent crash if get_recipe_index() is passed a nil or apparent garbage instead of a table --- technic/machines/register/recipes.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/technic/machines/register/recipes.lua b/technic/machines/register/recipes.lua index 22e9866..c71af95 100644 --- a/technic/machines/register/recipes.lua +++ b/technic/machines/register/recipes.lua @@ -17,6 +17,7 @@ function technic.register_recipe_type(typename, origdata) 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 function register_recipe(typename, data) 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 @@ function technic.get_recipe(typename, items) 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 = {}