2024-09-30 20:51:08 -06:00

171 lines
3.8 KiB
Lua

PyuTest.make_tool = function (nsname, desc, groups, wield_image, extra_conf)
local conf = {
description = Translate(desc),
wield_image = wield_image,
inventory_image = wield_image,
groups = PyuTest.util.tableconcat(groups, {
tool = 1
})
}
if extra_conf ~= nil then
for k, v in pairs(extra_conf) do
conf[k] = v
end
end
minetest.register_tool(nsname, conf)
end
PyuTest.make_tool("pyutest_core:wooden_pickaxe", "Wooden Pickaxe", {}, "pyutest-wooden-pickaxe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 69,
attack_uses = 69 / 2,
maxlevel = 1,
groupcaps = {
cracky = {
times = {
[PyuTest.BLOCK_FAST] = 2,
[PyuTest.BLOCK_NORMAL] = 3
}
}
}
})
})
PyuTest.make_tool("pyutest_core:stone_pickaxe", "Stone Pickaxe", {}, "pyutest-stone-pickaxe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 274,
attack_uses = 274 / 2,
maxlevel = 2,
groupcaps = {
cracky = {
times = {
[PyuTest.BLOCK_FAST] = 1.8,
[PyuTest.BLOCK_NORMAL] = 2.4
}
}
}
})
})
PyuTest.make_tool("pyutest_core:iron_pickaxe", "Iron Pickaxe", {}, "pyutest-iron-pickaxe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 689,
attack_uses = 689 / 2,
maxlevel = 3,
groupcaps = {
cracky = {
times = {
[PyuTest.BLOCK_FAST] = 0.7,
[PyuTest.BLOCK_NORMAL] = 1.5
}
}
}
})
})
PyuTest.make_tool("pyutest_core:diamond_pickaxe", "Diamond Pickaxe", {}, "pyutest-diamond-pickaxe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 1345,
attack_uses = 1345 / 2,
maxlevel = 3,
groupcaps = {
cracky = {
times = {
[PyuTest.BLOCK_FAST] = 0.3,
[PyuTest.BLOCK_NORMAL] = 0.8,
[PyuTest.BLOCK_SLOW] = 8
}
}
}
})
})
PyuTest.make_tool("pyutest_core:wooden_axe", "Wooden Axe", {}, "pyutest-wooden-axe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 69,
attack_uses = 69 / 2,
groupcaps = {
choppy = {
times = {
[PyuTest.BLOCK_FAST] = 1.1,
[PyuTest.BLOCK_NORMAL] = 1.6,
[PyuTest.BLOCK_SLOW] = 2.2
}
}
}
})
})
PyuTest.make_tool("pyutest_core:stone_axe", "Stone Axe", {}, "pyutest-stone-axe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 274,
attack_uses = 274 / 2,
groupcaps = {
choppy = {
times = {
[PyuTest.BLOCK_FAST] = 0.98,
[PyuTest.BLOCK_NORMAL] = 1.23,
[PyuTest.BLOCK_SLOW] = 2
}
}
}
})
})
PyuTest.make_tool("pyutest_core:iron_axe", "Iron Axe", {}, "pyutest-iron-axe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 689,
attack_uses = 689 / 2,
groupcaps = {
choppy = {
times = {
[PyuTest.BLOCK_FAST] = 0.4,
[PyuTest.BLOCK_NORMAL] = 0.6,
[PyuTest.BLOCK_SLOW] = 1.8
}
}
}
})
})
PyuTest.make_tool("pyutest_core:diamond_axe", "Diamond Axe", {}, "pyutest-diamond-axe.png", {
stack_max = 1,
tool_capabilities = PyuTest.tool_caps({
uses = 1345,
attack_uses = 1345 / 2,
groupcaps = {
choppy = {
times = {
[PyuTest.BLOCK_FAST] = 0.3,
[PyuTest.BLOCK_NORMAL] = 0.4,
[PyuTest.BLOCK_SLOW] = 1.4
}
}
}
})
})
PyuTest.make_item("pyutest_core:bomb", "Bomb", {}, "pyutest-bomb.png", {
stack_max = 16,
on_use = function (_, user)
if user == nil then
return
end
local pos = user:get_pos()
PyuTest.create_explosion(pos, 2, false, 6, user)
local stack = user:get_wielded_item()
stack:set_count(stack:get_count() - 1)
user:set_wielded_item(stack)
end
})