2019-01-05 23:13:24 -05:00

68 lines
1.9 KiB
Lua

-- LUALOCALS < ---------------------------------------------------------
local ItemStack, minetest, nodecore
= ItemStack, minetest, nodecore
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
local function toolhead(name, from, group, sticks)
local n
if name then
n = modname .. ":toolhead_" .. name:lower()
local t = n:gsub(":", "_") .. ".png"
minetest.register_craftitem(n, {
description = "Wooden " .. name .. " Head",
inventory_image = t,
stack_max = 1
})
local m = modname .. ":tool_" .. name:lower()
local u = m:gsub(":", "_") .. ".png"
minetest.register_tool(m, {
description = "Wooden " .. name,
inventory_image = u,
tool_capabilities = {
groupcaps={
[group] = {
times = {
[1] = 4.00,
[2] = 1.00,
[3] = 0.50},
uses = 20
},
},
},
})
nodecore.register_craft({
normal = {y = 1},
nodes = {
{match = n, replace = "air"},
{y = -1, match = modname .. ":staff", replace = "air"},
},
items = {
{y = -1, name = m},
}
})
end
nodecore.extend_pummel(from,
function(pos, node, stats)
return nodecore.wieldgroup(stats.puncher, "choppy")
end,
function(pos, node, stats)
if stats.duration < 5 then return end
minetest.remove_node(pos)
if n then nodecore.place_stack(pos, n) end
if sticks then
minetest.item_drop(ItemStack("nc_tree:stick " .. sticks),
nil, {x = pos.x, y = pos.y + 1, z = pos.z})
nodecore.wear_current_tool(stats.puncher, {choppy = 3})
end
return true
end)
end
toolhead("Mallet", modname .. ":plank", "thumpy", 2)
toolhead("Spade", modname .. ":toolhead_mallet", "crumbly", 1)
toolhead("Hatchet", modname .. ":toolhead_spade", "choppy", 1)
toolhead("Pick", modname .. ":toolhead_hatchet", "cracky", 2)
toolhead(nil, modname.. ":toolhead_pick", nil, 2)