Fix to the chainsaw. handle_node drops should no longer become nil.
authorkpoppel <poulsen.kim@gmail.com>
Wed, 12 Jun 2013 20:08:23 +0000 (22:08 +0200)
committerkpoppel <poulsen.kim@gmail.com>
Wed, 12 Jun 2013 20:08:23 +0000 (22:08 +0200)
technic/chainsaw.lua

index c31d9a80d77858b1d50ac47f73c565a79e1c0721..5b3b05b83ffc07fcc56041248aa3c6aabf79e713 100644 (file)
@@ -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)