summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkpoppel <poulsen.kim@gmail.com>2013-06-12 22:08:23 +0200
committerkpoppel <poulsen.kim@gmail.com>2013-06-12 22:08:23 +0200
commita27b59dde52eec754db6930b420e1493e16980b8 (patch)
treecbdc3dd6170529b5d1fa5165660ebd997ba229b5
parent802db28dc397e5ceb9f543c8adbb4e451a65ec0e (diff)
Fix to the chainsaw. handle_node drops should no longer become nil.
-rw-r--r--technic/chainsaw.lua13
1 files 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)