remove mods tool, add ability for default axes to strip trees

This commit is contained in:
wsor 2020-11-04 20:42:43 -05:00
parent 060c943076
commit 9fdcb7439a

@ -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")