Skip to content

Instantly share code, notes, and snippets.

@dulrich
Created October 16, 2013 06:35
Show Gist options
  • Save dulrich/7003488 to your computer and use it in GitHub Desktop.
Save dulrich/7003488 to your computer and use it in GitHub Desktop.
straight shot mining laser
local playerpos = player:getpos()
local dir, pos
local power = 50 -- number of nodes lasered
local node
if (pointed_thing.type == "node") then
dir = {
x = pointed_thing.under.x - pointed_thing.above.x,
y = pointed_thing.under.y - pointed_thing.above.y,
z = pointed_thing.under.z - pointed_thing.above.z
}
pos = minetest.get_pointed_thing_position(pointed_thing,above)
local i
for i=0,power do
node = minetest.env:get_node(pos)
if (node.name == "ignore"
or node.name == "default:lava_source"
or node.name == "default:lava_flowing"
) then
return
end
if (node.name == "default:water_source"
or node.name == "default:water_flowing"
) then
minetest.env:remove_node(pos)
return
end
if player then
minetest.node_dig(pos,node,player)
end
pos.x = pos.x + dir.x
pos.y = pos.y + dir.y
pos.z = pos.z + dir.z
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment