Let stack of projectiles diminish in node breaker
authorZefram <zefram@fysh.org>
Mon, 21 Jul 2014 11:24:06 +0000 (12:24 +0100)
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>
Mon, 21 Jul 2014 13:52:53 +0000 (09:52 -0400)
The logic that prevents mechanically wearing a tool was also preventing
the diminution of a stack of items to use, such as a stack of snowballs.
Restrict the use of pickcopy to the case where the stack still has the
same item type, count, and metadata.

node_breaker.lua

index 103f74f2f4ad69f48f44007923b50e24534a4691..a02324eeb1f9b70a28f74b978c2d0e5605812246 100644 (file)
@@ -179,7 +179,8 @@ local function break_node (pos, facedir)
        end
        
        
-       if pickdef and (not pickdef.wear_represents or pickdef.wear_represents == "mechanical_wear") then
+       local newpick = inv:get_stack(pick_inv, 1)
+       if newpick:get_name() == pickcopy:get_name() and newpick:get_count() == pickcopy:get_count() and newpick:get_metadata() == pickcopy:get_metadata() and pickdef and (not pickdef.wear_represents or pickdef.wear_represents == "mechanical_wear") then
                inv:set_stack(pick_inv, 1, pickcopy) -- Do not wear pick out
        end