From 244d5da0e290dadb0c17a955b45bdf7ea4ba2153 Mon Sep 17 00:00:00 2001 From: fluxionary <25628292+fluxionary@users.noreply.github.com> Date: Sat, 28 May 2022 14:35:42 -0700 Subject: [PATCH] wear too when breaking vines (#22) --- vines/init.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/vines/init.lua b/vines/init.lua index 02f4224..5b5cc99 100644 --- a/vines/init.lua +++ b/vines/init.lua @@ -43,9 +43,19 @@ local function on_dig(pos, node, player) drop_item = vine_name_end end - local wielded_item = player and player:get_wielded_item() + local wielded_item = minetest.is_player(player) and player:get_wielded_item() if wielded_item then - wielded_item:add_wear(1) + local node_def = minetest.registered_nodes[node.name] + local dig_params = minetest.get_dig_params( + node_def.groups, + wielded_item:get_tool_capabilities(), + wielded_item:get_wear() + ) + if dig_params.wear then + wielded_item:add_wear(dig_params.wear) + player:set_wielded_item(wielded_item) + end + if wielded_item:get_name() == 'vines:shears' then drop_item = vine_name_end end