-- Get our own path local mpath = core.get_modpath("stripped_tree") local S = core.get_translator(core.get_current_modname()) -- Load functions dofile(mpath .. "/functions.lua") -- Load default (AKA the Minetest game) dofile(mpath .. "/default.lua") dofile(mpath .. "/chiseling_machine.lua") -- Load optional dependencies if core.get_modpath("moretrees") then dofile(mpath .. "/moretrees.lua") end if core.get_modpath("ethereal") then dofile(mpath .. "/ethereal.lua") end if core.get_modpath("moreores") then dofile(mpath .. "/moreores.lua") end if stripped_tree.ENABLE_CHISEL then core.register_tool( "stripped_tree:chisel", { description = S("Chisel for tree trunks"), inventory_image = "chisel.png", wield_image = "chisel.png", sound = {breaks = "default_tool_breaks"}, stack_max = 1, on_use = function(itemstack, user, pointed_thing) 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 local node = core.get_node(pos).name local mod_name, node_name = unpack(node:split(":")) -- Before concatenating check for nil if not mod_name then return end if not node_name then return end local has_stripped = core.registered_nodes[mod_name .. ":" .. "stripped_" .. node_name] if has_stripped then local stripped = mod_name .. ":" .. "stripped_" .. node_name core.swap_node(pos, {name = stripped}) if not core.settings:get_bool("creative_mode") then local inv = user:get_inventory() -- Check for room in inv, if not, drop item if inv:room_for_item("main", "default:tree_bark") then inv:add_item("main", {name = "default:tree_bark"}) else core.add_item(pos, "default:tree_bark") end itemstack:add_wear(65535 / 299) -- 300 uses end return itemstack end end, } ) core.register_craft( { output = "stripped_tree:chisel", recipe = {{"", "default:steel_ingot", ""}, {"", "screwdriver:screwdriver", ""}, {"", "", ""}}, } ) end