artifact_one/mods/artifact_characters/key.lua

34 lines
No EOL
1 KiB
Lua

local ns = artifact
function ns.do_whack(m)
if m.pointed_node then
local pos = m.pointed_node.under
local node = minetest.get_node(pos)
local def = minetest.registered_nodes[node.name]
if not def.groups.whackable then return end
minetest.remove_node(pos)
minetest.add_particlespawner {
pos = {
min = pos:offset(-0.5, -0.5, -0.5),
max = pos:offset(0.5, 0.5, 0.5)
},
vel = {
min = vector.new(-1, 0, -1) *1.5,
max = vector.new(1, 2, 1) *1.5
},
acc = vector.new(0,-9.81,0),
collisiondetection = true,
amount = 50,
node = {name = node.name},
time = 0.1
}
elseif m.pointed_obj and m.pointed_obj.on_whack then
if m.pointed_obj:on_whack() then
-- For use in artifact_help.
if artifact.on_whacked then
artifact.on_whacked()
end
end
end
end