From 0cb1eb49dc07749922c0c48158cfc675d3285c82 Mon Sep 17 00:00:00 2001 From: Tim Date: Wed, 28 Jan 2015 19:41:38 +0100 Subject: make sure the autocrafter runs after an upgrade --- autocrafter.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'autocrafter.lua') diff --git a/autocrafter.lua b/autocrafter.lua index 39291d7..6a257d4 100644 --- a/autocrafter.lua +++ b/autocrafter.lua @@ -170,17 +170,19 @@ local function update_autocrafter(pos, meta) if meta:get_string("virtual_items") == "1" then -- we are version 2 -- we allready dropped stuff, so lets remove the metadatasetting (we are not being called again for this node) meta:set_string("virtual_items", "") - return else -- we are version 1 for idx, stack in ipairs(inv:get_list("recipe")) do - minetest.item_drop(stack, "", pos) - stack:set_count(1) - stack:set_wear(0) - inv:set_stack("recipe", idx, stack) + if not stack:is_empty() then + minetest.item_drop(stack, "", pos) + stack:set_count(1) + stack:set_wear(0) + inv:set_stack("recipe", idx, stack) + end end end -- update the recipe, cache, and start the crafter + autocrafterCache[minetest.hash_node_position(pos)] = nil after_recipe_change(pos, inv) end end -- cgit v1.2.3