From ebd6c93b549216ee51574f0aaa53dc0767b9053e Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Tue, 9 Dec 2025 14:12:53 +0100 Subject: [PATCH] Use the same function when stripping with a chisel or an axe --- functions.lua | 29 ++++++++++++++++++++--------- recipes.lua | 16 ++-------------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/functions.lua b/functions.lua index fcad265..adf5995 100644 --- a/functions.lua +++ b/functions.lua @@ -79,6 +79,24 @@ function stripped_tree.register_trunk(mod_name, trunk_names) for _, name in ipairs(trunk_names) do stripped_tree.register_strippable_trunk(mod_name .. ":" .. name) end end +function stripped_tree.maybe_strip_trunk(pos, player, tool, wear) + local player_name = player:get_player_name() + + if core.is_protected(pos, player_name) then + core.record_protection_violation(pos, player_name) + + return + end + + wear = wear and tonumber(wear) + + if stripped_tree.has_stripped(pos) then + stripped_tree.swap_node(pos, player, nil, tool) + + if not core.is_creative_enabled(player_name) and wear and wear ~= 0 then tool:add_wear(wear) end + end +end + -- Function to override axes if stripped_tree.enable_chisel ~= true then function stripped_tree.register_axes(mod_n, axe_types) @@ -89,16 +107,9 @@ if stripped_tree.enable_chisel ~= true then if pointed_thing.type ~= "node" then return end local pos = pointed_thing.under - local pname = user:get_player_name() - if core.is_protected(pos, pname) then - core.record_protection_violation(pos, pname) - return - end - - if stripped_tree.has_stripped(pos) then - stripped_tree.swap_node(pos, user, itemstack) - end + -- TODO: Add wear to the axe, but it should depend on the material maybe? + stripped_tree.maybe_strip_trunk(pos, user, itemstack) end, } ) diff --git a/recipes.lua b/recipes.lua index 2dbf07f..81932a6 100644 --- a/recipes.lua +++ b/recipes.lua @@ -29,22 +29,10 @@ if stripped_tree.enable_chisel then if pointed_thing.type ~= "node" then return end local pos = pointed_thing.under - local pname = user:get_player_name() - if core.is_protected(pos, pname) then - core.record_protection_violation(pos, pname) - return - end + stripped_tree.maybe_strip_trunk(pos, user, itemstack, 65535 / 299) - if stripped_tree.has_stripped(pos) then - stripped_tree.swap_node(pos, user, nil, itemstack) - - if not core.is_creative_enabled(pname) then - itemstack:add_wear(65535 / 299) -- 300 uses - end - - return itemstack - end + return itemstack end, } )