-- Get our own path local mpath = core.get_modpath("stripped_tree") -- 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 = "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