78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
::collcheck:: do
-- if no collision then return end
-- local nname = minetest.get_node(pos).name
-- if nname == 'air' or minetest.registered_nodes[nname].walkable ~= true then return
-- elseif nname == 'ignore' then goto destroy end
-- else fall through to explode
if collision then -- since 5.3 only!!
print('collision detected!',dump(collision))
if collision.collides == false then return end
if #collision.collisions > 0 then
local col = collision.collisions[1]
if col.node_pos then
pos = col.node_pos
elseif col.object then
pos = col.object:get_pos()
|
|
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
::collcheck:: do
-- if no collision then return end
-- local nname = minetest.get_node(pos).name
-- if nname == 'air' or minetest.registered_nodes[nname].walkable ~= true then return
-- elseif nname == 'ignore' then goto destroy end
-- else fall through to explode
if collision then -- since 5.3 only!!
if collision.collides == false then return end
if #collision.collisions > 0 then
local col = collision.collisions[1]
if col.node_pos then
pos = col.node_pos
elseif col.object then
pos = col.object:get_pos()
|