| | |
| | | {"default:jungleleaves", false}, |
| | | {"default:pine_needles", false}, |
| | | |
| | | -- The default bushes |
| | | {"default:acacia_bush_stem", true}, |
| | | {"default:bush_stem", true}, |
| | | {"default:pine_bush_stem", true}, |
| | | {"default:acacia_bush_leaves", false}, |
| | | {"default:blueberry_bush_leaves", false}, |
| | | {"default:blueberry_bush_leaves_with_berries", false}, |
| | | {"default:bush_leaves", false}, |
| | | {"default:pine_bush_needles", false}, |
| | | |
| | | -- Rubber trees from moretrees or technic_worldgen if moretrees isn't installed |
| | | {"moretrees:rubber_tree_trunk_empty", true}, |
| | | {"moretrees:rubber_tree_trunk", true}, |
| | | {"moretrees:rubber_tree_leaves", false}, |
| | | |
| | | -- Support moretrees |
| | | -- Support moretrees (trunk) |
| | | {"moretrees:acacia_trunk", true}, |
| | | {"moretrees:apple_tree_trunk", true}, |
| | | {"moretrees:beech_trunk", true}, |
| | | {"moretrees:birch_trunk", true}, |
| | | {"moretrees:cedar_trunk", true}, |
| | | {"moretrees:date_palm_ffruit_trunk", true}, |
| | | {"moretrees:date_palm_fruit_trunk", true}, |
| | | {"moretrees:date_palm_mfruit_trunk", true}, |
| | | {"moretrees:date_palm_trunk", true}, |
| | | {"moretrees:fir_trunk", true}, |
| | | {"moretrees:jungletree_trunk", true}, |
| | | {"moretrees:oak_trunk", true}, |
| | | {"moretrees:palm_trunk", true}, |
| | | {"moretrees:palm_fruit_trunk", true}, |
| | | {"moretrees:palm_fruit_trunk_gen", true}, |
| | | {"moretrees:pine_trunk", true}, |
| | | {"moretrees:poplar_trunk", true}, |
| | | {"moretrees:sequoia_trunk", true}, |
| | | {"moretrees:spruce_trunk", true}, |
| | | {"moretrees:willow_trunk", true}, |
| | | {"moretrees:jungletree_trunk", true}, |
| | | {"moretrees:poplar_trunk", true}, |
| | | -- Support moretrees (leaves) |
| | | {"moretrees:acacia_leaves", false}, |
| | | {"moretrees:apple_tree_leaves", false}, |
| | | {"moretrees:oak_leaves", false}, |
| | | {"moretrees:beech_leaves", false}, |
| | | {"moretrees:birch_leaves", false}, |
| | | {"moretrees:cedar_leaves", false}, |
| | | {"moretrees:date_palm_leaves", false}, |
| | | {"moretrees:fir_leaves", false}, |
| | | {"moretrees:fir_leaves_bright", false}, |
| | | {"moretrees:sequoia_leaves", false}, |
| | | {"moretrees:birch_leaves", false}, |
| | | {"moretrees:birch_leaves", false}, |
| | | {"moretrees:palm_leaves", false}, |
| | | {"moretrees:spruce_leaves", false}, |
| | | {"moretrees:spruce_leaves", false}, |
| | | {"moretrees:pine_leaves", false}, |
| | | {"moretrees:willow_leaves", false}, |
| | | {"moretrees:jungletree_leaves_green", false}, |
| | | {"moretrees:jungletree_leaves_yellow", false}, |
| | | {"moretrees:jungletree_leaves_red", false}, |
| | | {"moretrees:acorn", false}, |
| | | {"moretrees:coconut", false}, |
| | | {"moretrees:spruce_cone", false}, |
| | | {"moretrees:pine_cone", false}, |
| | | {"moretrees:fir_cone", false}, |
| | | {"moretrees:apple_blossoms", false}, |
| | | {"moretrees:oak_leaves", false}, |
| | | {"moretrees:palm_leaves", false}, |
| | | {"moretrees:poplar_leaves", false}, |
| | | {"moretrees:pine_leaves", false}, |
| | | {"moretrees:sequoia_leaves", false}, |
| | | {"moretrees:spruce_leaves", false}, |
| | | {"moretrees:willow_leaves", false}, |
| | | -- Support moretrees (fruit) |
| | | {"moretrees:acorn", false}, |
| | | {"moretrees:apple_blossoms", false}, |
| | | {"moretrees:cedar_cone", false}, |
| | | {"moretrees:coconut", false}, |
| | | {"moretrees:coconut_0", false}, |
| | | {"moretrees:coconut_1", false}, |
| | | {"moretrees:coconut_2", false}, |
| | | {"moretrees:coconut_3", false}, |
| | | {"moretrees:dates_f0", false}, |
| | | {"moretrees:dates_f1", false}, |
| | | {"moretrees:dates_f2", false}, |
| | | {"moretrees:dates_f3", false}, |
| | | {"moretrees:dates_f4", false}, |
| | | {"moretrees:dates_fn", false}, |
| | | {"moretrees:dates_m0", false}, |
| | | {"moretrees:dates_n", false}, |
| | | {"moretrees:fir_cone", false}, |
| | | {"moretrees:pine_cone", false}, |
| | | {"moretrees:spruce_cone", false}, |
| | | |
| | | -- Support growing_trees |
| | | {"growing_trees:trunk", true}, |
| | |
| | | |
| | | 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) |
| | | local node_name = minetest.get_node(pos).name |
| | | if timber_nodenames[node_name] |
| | | or (chainsaw_leaves and minetest.get_item_group(node_name, "leaves") ~= 0) |
| | | or minetest.get_item_group(node_name, "tree") ~= 0 then |
| | | return true |
| | | end |
| | | |
| | | return false |
| | | end |
| | | |
| | | -- Table for saving what was sawed down |
| | | local produced = {} |
| | | |
| | |
| | | end |
| | | local node = minetest.get_node(pos) |
| | | |
| | | if not timber_nodenames[node.name] then |
| | | if not check_if_node_sawed(pos) then |
| | | return remaining_charge |
| | | end |
| | | |
| | |
| | | if remaining_charge < chainsaw_charge_per_node then |
| | | break |
| | | end |
| | | if timber_nodenames[minetest.get_node(npos).name] then |
| | | if check_if_node_sawed(npos) then |
| | | remaining_charge = recursive_dig(npos, remaining_charge) |
| | | else |
| | | minetest.check_for_falling(npos) |
| | | end |
| | | end |
| | | return remaining_charge |