89 lines
2.4 KiB
Lua

-- LUALOCALS < ---------------------------------------------------------
local minetest, nodecore, pairs, type
= minetest, nodecore, pairs, type
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
local function toolhead(name, group, prills)
local n = name:lower()
nodecore.register_lode("toolhead_" .. n, {
type = "craft",
description = "## Lode " .. name .. " Head",
inventory_image = modname .. "_#.png^[mask:" ..
modname .. "_toolhead_" .. n .. ".png",
stack_max = 1
})
nodecore.register_lode("tool_" .. n, {
type = "tool",
description = "## Lode " .. name,
inventory_image = modname .. "_tool_handle.png^(" ..
modname .. "_#.png^[mask:" ..
modname .. "_tool_" .. n .. ".png)",
stack_max = 1,
tool_capabilities = nodecore.toolcaps({
[group] = 4
}),
bytemper = function(t, d)
if t == "Tempered" then
d.tool_capabilities = nodecore.toolcaps({
[group] = 5
})
end
end,
metal_alt_hot = modname .. ":prill_hot " .. prills,
tool_wears_to = modname .. ":prill_# 3"
})
for _, t in pairs({"annealed", "tempered"}) do
nodecore.register_craft({
label = "assemble lode " .. n,
normal = {y = 1},
nodes = {
{match = modname .. ":toolhead_" .. n .. "_" .. t,
replace = "air"},
{y = -1, match = "nc_woodwork:staff", replace = "air"},
},
items = {
{y = -1, name = modname .. ":tool_" .. n .. "_" .. t},
}
})
end
end
toolhead("Mallet", "thumpy", 3)
toolhead("Spade", "crumbly", 2)
toolhead("Hatchet", "choppy", 2)
toolhead("Pick", "cracky", 1)
local function forge(from, fromqty, to, prills)
return nodecore.register_craft({
label = "anvil making lode " .. (to or "prills"),
action = "pummel",
toolgroups = {thumpy = 3},
nodes = {
{
match = {name = modname .. ":" .. from .. "_annealed",
count = fromqty},
replace = "air"
},
{
y = -1,
match = modname .. ":block_tempered"
}
},
items = {
to and (modname .. ":" .. to .. "_annealed") or nil,
prills and {name = modname .. ":prill_annealed", count = prills,
scatter = 5} or nil
}
})
end
forge("prill", 3, "toolhead_mallet")
forge("toolhead_mallet", nil, "toolhead_spade", 1)
forge("toolhead_spade", nil, "toolhead_hatchet")
forge("toolhead_hatchet", nil, "toolhead_pick", 1)
forge("toolhead_pick", nil, nil, 1)