mirror of
https://github.com/minetest/minetest.git
synced 2024-12-28 17:07:29 +01:00
Add disable_repair group to prevent tool repair (#7381)
This commit is contained in:
parent
b6adb7f09e
commit
40ab3e011d
@ -1551,6 +1551,8 @@ Special groups
|
||||
connect to each other
|
||||
* `slippery`: Players and items will slide on the node.
|
||||
Slipperiness rises steadily with `slippery` value, starting at 1.
|
||||
* `disable_repair`: If set to 1 for a tool, it cannot be repaired using the
|
||||
`"toolrepair"` crafting recipe
|
||||
|
||||
|
||||
Known damage and digging time defining groups
|
||||
@ -6156,6 +6158,8 @@ Used by `minetest.register_craft`.
|
||||
additional_wear = -0.02,
|
||||
}
|
||||
|
||||
Note: Tools with group `disable_repair=1` will not repairable by this recipe.
|
||||
|
||||
### Cooking
|
||||
|
||||
{
|
||||
|
@ -615,6 +615,34 @@ minetest.register_craftitem("experimental:tester_tool_2", {
|
||||
end,
|
||||
})
|
||||
|
||||
-- Test the disable_repair=1 group
|
||||
minetest.register_tool("experimental:unrepairable_tool", {
|
||||
description = "Unrepairable Tool",
|
||||
wield_image = "default_stone.png",
|
||||
inventory_image = "default_stone.png",
|
||||
tool_capabilities = {
|
||||
groupcaps = {
|
||||
cracky = {
|
||||
times = {3, 2, 1},
|
||||
}
|
||||
}
|
||||
},
|
||||
groups = { disable_repair = 1 }
|
||||
})
|
||||
|
||||
minetest.register_tool("experimental:repairable_tool", {
|
||||
description = "Repairable Tool",
|
||||
wield_image = "default_dirt.png",
|
||||
inventory_image = "default_dirt.png",
|
||||
tool_capabilities = {
|
||||
groupcaps = {
|
||||
cracky = {
|
||||
times = {3, 2, 1},
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = 'experimental:tester_tool_2',
|
||||
recipe = {
|
||||
|
@ -579,7 +579,7 @@ static ItemStack craftToolRepair(
|
||||
IItemDefManager *idef = gamedef->idef();
|
||||
if (item1.count != 1 || item2.count != 1 || item1.name != item2.name
|
||||
|| idef->get(item1.name).type != ITEM_TOOL
|
||||
|| idef->get(item2.name).type != ITEM_TOOL) {
|
||||
|| itemgroup_get(idef->get(item1.name).groups, "disable_repair") == 1) {
|
||||
// Failure
|
||||
return ItemStack();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user