Fix minetest.item_place_node() and minetest.item_drop() to always return an ItemStack
authorPilzAdam <PilzAdam@gmx.de>
Wed, 13 Feb 2013 17:06:25 +0000 (18:06 +0100)
committerPilzAdam <PilzAdam@gmx.de>
Wed, 13 Feb 2013 17:06:25 +0000 (18:06 +0100)
builtin/item.lua

index acbdaa5338771e59233daab831beef192c2ce856..2233b6c5b8ccae595c63120fce671e252be8145b 100644 (file)
@@ -141,7 +141,7 @@ function minetest.item_place_node(itemstack, placer, pointed_thing)
                minetest.log("info", placer:get_player_name() .. " tried to place"
                        .. " node in invalid position " .. minetest.pos_to_string(above)
                        .. ", replacing " .. oldnode_above.name)
-               return
+               return itemstack
        end
 
        -- Place above pointed node
@@ -186,7 +186,7 @@ function minetest.item_place_node(itemstack, placer, pointed_thing)
                not check_attached_node(place_to, newnode) then
                minetest.log("action", "attached node " .. def.name ..
                        " can not be placed at " .. minetest.pos_to_string(place_to))
-               return
+               return itemstack
        end
 
        -- Add node and update
@@ -262,7 +262,7 @@ function minetest.item_drop(itemstack, dropper, pos)
        else
                minetest.env:add_item(pos, itemstack)
        end
-       return ""
+       return ItemStack("")
 end
 
 function minetest.item_eat(hp_change, replace_with_item)