mirror of
https://github.com/minetest-mods/technic.git
synced 2024-09-27 06:50:18 +02:00
Chainsaw checks for node groups
This commit is contained in:
parent
ea460f0d95
commit
717ad02350
|
@ -194,6 +194,25 @@ local S = technic.getter
|
||||||
|
|
||||||
technic.register_power_tool("technic:chainsaw", chainsaw_max_charge)
|
technic.register_power_tool("technic:chainsaw", chainsaw_max_charge)
|
||||||
|
|
||||||
|
-- This function checks if the specified node should be sawed
|
||||||
|
local function check_if_node_sawed(pos)
|
||||||
|
|
||||||
|
if chainsaw_leaves then
|
||||||
|
if minetest.get_item_group( minetest.get_node(pos).name, "leaves" ) ~= 0
|
||||||
|
or minetest.get_item_group( minetest.get_node(pos).name, "tree" ) ~= 0
|
||||||
|
or timber_nodenames[minetest.get_node(pos).name] then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if minetest.get_item_group( minetest.get_node(pos).name, "tree" ) ~= 0
|
||||||
|
or timber_nodenames[minetest.get_node(pos).name] then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
-- Table for saving what was sawed down
|
-- Table for saving what was sawed down
|
||||||
local produced = {}
|
local produced = {}
|
||||||
|
|
||||||
|
@ -270,7 +289,7 @@ local function recursive_dig(pos, remaining_charge)
|
||||||
end
|
end
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
|
|
||||||
if not timber_nodenames[node.name] then
|
if not check_if_node_sawed(pos) then
|
||||||
return remaining_charge
|
return remaining_charge
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -284,7 +303,7 @@ local function recursive_dig(pos, remaining_charge)
|
||||||
if remaining_charge < chainsaw_charge_per_node then
|
if remaining_charge < chainsaw_charge_per_node then
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
if timber_nodenames[minetest.get_node(npos).name] then
|
if check_if_node_sawed(npos) then
|
||||||
remaining_charge = recursive_dig(npos, remaining_charge)
|
remaining_charge = recursive_dig(npos, remaining_charge)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user