Optional chisel or axes.

This commit is contained in:
minefaco 2020-12-20 13:23:54 -05:00 committed by GitHub
parent 173a8e7468
commit 4549fad86e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -15,53 +15,60 @@ function stripped_tree.register_trunk(mod_name,trunk_names)
paramtype2 = "facedir", paramtype2 = "facedir",
on_place = minetest.rotate_node, on_place = minetest.rotate_node,
}) })
minetest.register_craft({
output = mod_name..":"..name,
recipe = {{"","default:tree_bark",""},
{"default:tree_bark",mod_name..":stripped_" .. name,"default:tree_bark"},
{"","default:tree_bark",""}}
})
end end
end end
--function to override axes --function to override axes
function stripped_tree.register_axes(mod_n,axe_types) if ENABLE_CHISEL ~= true then
for _, axe_name in ipairs(axe_types) do function stripped_tree.register_axes(mod_n,axe_types)
minetest.override_item(mod_n..":" .. axe_name, { for _, axe_name in ipairs(axe_types) do
on_place = function(itemstack, user, pointed_thing) minetest.override_item(mod_n..":" .. axe_name, {
if pointed_thing.type ~= "node" then on_place = function(itemstack, user, pointed_thing)
return if pointed_thing.type ~= "node" then
end return
end
local pos = pointed_thing.under local pos = pointed_thing.under
local pname = user:get_player_name() local pname = user:get_player_name()
if minetest.is_protected(pos, pname) then if minetest.is_protected(pos, pname) then
minetest.record_protection_violation(pos, pname) minetest.record_protection_violation(pos, pname)
return return
end end
local node = minetest.get_node(pos).name local node = minetest.get_node(pos).name
local mod_name, node_name = unpack(node:split(":")) local mod_name, node_name = unpack(node:split(":"))
local has_stripped = minetest.registered_nodes[mod_name..":".."stripped_"..node_name] local has_stripped = minetest.registered_nodes[mod_name..":".."stripped_"..node_name]
if has_stripped then if has_stripped then
local old_node = minetest.get_node(pos) local old_node = minetest.get_node(pos)
local stripped =mod_name..":".."stripped_"..node_name local stripped =mod_name..":".."stripped_"..node_name
minetest.swap_node(pos,{name=stripped,param2=old_node.param2}) minetest.swap_node(pos,{name=stripped,param2=old_node.param2})
--itemstack:add_wear(65535 / 299) this is not useful at moment. --itemstack:add_wear(65535 / 299) this is not useful at moment.
if not creative_mode then if not creative_mode then
local inv = user:get_inventory() local inv = user:get_inventory()
--check for room in inv, if not, drop item --check for room in inv, if not, drop item
if inv:room_for_item("main", "default:tree_bark") then if inv:room_for_item("main", "default:tree_bark") then
inv:add_item("main", {name="default:tree_bark"}) inv:add_item("main", {name="default:tree_bark"})
else else
minetest.add_item(pos, "default:tree_bark") minetest.add_item(pos, "default:tree_bark")
end end
end
return itemstack
end end
return itemstack end,
end })
end
end,
})
end end
end end
--register alias to support old tool
minetest.register_alias("chisel_tree:chisel", "default:axe_steel")