From: kpoppel Date: Wed, 12 Jun 2013 20:08:23 +0000 (+0200) Subject: Fix to the chainsaw. handle_node drops should no longer become nil. X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=a27b59dde52eec754db6930b420e1493e16980b8;p=zefram%2Fminetest%2Ftechnic.git Fix to the chainsaw. handle_node drops should no longer become nil. --- diff --git a/technic/chainsaw.lua b/technic/chainsaw.lua index c31d9a8..5b3b05b 100644 --- a/technic/chainsaw.lua +++ b/technic/chainsaw.lua @@ -138,6 +138,13 @@ if( minetest.get_modpath("growing_cactus") ~= nil ) then timber_nodenames["growing_cactus:branch_xx"] = true end +-- Support farming_plus if it is there +if( minetest.get_modpath("farming_plus") ~= nil ) then + if chainsaw_leaves == true then + timber_nodenames["farming_plus:cocoa_leaves"] = true + end +end + -- Table for saving what was sawed down local produced @@ -145,6 +152,9 @@ local produced chainsaw_dig_it = function(pos, player,current_charge) local remaining_charge=current_charge + -- Save the currently installed dropping mechanism so we can restore it. + local original_handle_node_drops = minetest.handle_node_drops + -- A bit of trickery here: use a different node drop callback -- and restore the original afterwards. minetest.handle_node_drops = chainsaw_handle_node_drops @@ -195,9 +205,6 @@ chainsaw_handle_node_drops = function(pos, drops, digger) end end --- Save the currently installed dropping mechanism so we can restore it. -local original_handle_node_drops = minetest.handle_node_drops - -- This function does all the hard work. Recursively we dig the node at hand -- if it is in the table and then search the surroundings for more stuff to dig. recursive_dig = function(pos, remaining_charge, player)