From a27b59dde52eec754db6930b420e1493e16980b8 Mon Sep 17 00:00:00 2001 From: kpoppel Date: Wed, 12 Jun 2013 22:08:23 +0200 Subject: [PATCH] Fix to the chainsaw. handle_node drops should no longer become nil. --- technic/chainsaw.lua | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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)