Making crafting recipes add wear to tools
Posted: Sun Nov 11, 2018 20:11
How to make a crafting recipe that will output a weared tool?
The official Minetest discussion board
https://forum.minetest.net/
Code: Select all
minetest.register_craft({
output = "default:pick_wood 1 60000",
recipe = {
{"","default:dirt",""},
{"","default:stick",""},
{"","default:stick",""},
}
})
Code: Select all
minetest.register_craft_predict(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name()=="default:pick_wood" then
local wear=0
local dirt=false
for i, it in pairs(old_craft_grid) do
if it:get_name()=="default:pick_wood" then
wear=it:get_wear()
elseif it:get_name()=="default:dirt" then
dirt=true
end
end
if dirt then
local new_wear=wear - (65534/2)
if new_wear<0 then new_wear=0 end-- -wear makes it start over on 65535
return "default:pick_wood 1 " .. new_wear
end
end
return itemstack
end)
minetest.register_craft({
output ="default:pick_wood",
recipe = {
{"","default:dirt",""},
{"","default:pick_wood",""},
{"","",""},
}
})
Code: Select all
print(minetest.registered_items["default:pick_wood"].tool_capabilities.groupcaps.cracky.uses)
print(dump(minetest.registered_items["default:pick_wood"]))