From 9fdcb7439a2699fee1048057d501a8f9795c93cb Mon Sep 17 00:00:00 2001 From: wsor Date: Wed, 4 Nov 2020 20:42:43 -0500 Subject: [PATCH] remove mods tool, add ability for default axes to strip trees --- init.lua | 78 +++++++++++++++++++++++++++----------------------------- 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/init.lua b/init.lua index e1c36e0..51e5f57 100644 --- a/init.lua +++ b/init.lua @@ -1,11 +1,11 @@ --Register nodes local trunk_names = { - "tree", "jungletree", "aspen_tree", "acacia_tree","pine_tree", + "tree", "jungletree", "aspen_tree", "acacia_tree", "pine_tree", } -- Register all stripped trees for _, name in ipairs(trunk_names) do - minetest.register_node(":default:stripped_"..name, { + minetest.register_node(":default:stripped_" .. name, { description = "Stripped "..name, tiles = { "stripped_"..name.."_top.png", @@ -19,51 +19,47 @@ for _, name in ipairs(trunk_names) do }) end ---Register tool -minetest.register_tool("chisel_tree:chisel", { - description = "A chisel for wood", - inventory_image = "chisel.png", - wield_image = "chisel.png", - sound = {breaks = "default_tool_breaks"}, - stack_max = 1, - on_use = function(itemstack, user, pointed_thing) +--list of axes to override +local axe_types = { + "wood", "stone", "bronze", "steel", "mese", "diamond", +} - if pointed_thing.type ~= "node" then - return - end +for _, axe_name in ipairs(axe_types) do - local pos = pointed_thing.under - local pname = user:get_player_name() + minetest.override_item("default:axe_" .. axe_name, { + on_place = function(itemstack, user, pointed_thing) - if minetest.is_protected(pos, pname) then - minetest.record_protection_violation(pos, pname) - return - end - - local node = minetest.get_node(pos).name - - for _, n in ipairs(trunk_names) do - - local tree = "default:"..n - if tree==node then - local old_node = minetest.get_node(pos) - minetest.swap_node(pos, {name = "default:stripped_"..n, param2 = old_node.param2}) - itemstack:add_wear(65535 / 299) -- 300 uses - return itemstack + if pointed_thing.type ~= "node" then + return end - end - end, -}) + local pos = pointed_thing.under + local pname = user:get_player_name() ---Register craft -minetest.register_craft({ - output = "chisel_tree:chisel", - recipe = { - {"", "default:steel_ingot", ""}, - {"", "group:fence", ""}, - } -}) + if minetest.is_protected(pos, pname) then + minetest.record_protection_violation(pos, pname) + return + end + + local node = minetest.get_node(pos).name + + for _, n in ipairs(trunk_names) do + + local tree = "default:"..n + if tree==node then + local old_node = minetest.get_node(pos) + minetest.swap_node(pos, {name = "default:stripped_"..n, param2 = old_node.param2}) + itemstack:add_wear(65535 / 299) -- 300 uses + return itemstack + end + end + + end, + }) +end + +--register alias to support old tool +minetest.register_alias("chisel_tree:chisel", "default:axe_steel")