From aabfca7e9dd2017c32645e4377a0caca08a99256 Mon Sep 17 00:00:00 2001
From: Maciej Kasatkin <mk@realbadangel.pl>
Date: Tue, 16 Oct 2012 01:24:00 +0200
Subject: [PATCH] fixes problem when mining sand with laser

---
 mining_laser_mk1.lua |   22 +++++++++-------------
 1 files changed, 9 insertions(+), 13 deletions(-)

diff --git a/mining_laser_mk1.lua b/mining_laser_mk1.lua
index a2569e3..65ef128 100644
--- a/mining_laser_mk1.lua
+++ b/mining_laser_mk1.lua
@@ -11,8 +11,8 @@
 				if obj:get_luaentity().player == nil then
 					obj:get_luaentity().player = player
 				end
-				obj:setvelocity({x=dir.x*19, y=dir.y*19, z=dir.z*19})
-				obj:setacceleration({x=dir.x*-2, y=0, z=dir.z*-2})
+				obj:setvelocity({x=dir.x*12, y=dir.y*12, z=dir.z*12})
+				obj:setacceleration({x=0, y=0, z=0})
 				obj:setyaw(player:get_look_yaw()+math.pi)
 				if obj:get_luaentity().player == nil then
 					obj:get_luaentity().player = player
@@ -132,22 +132,18 @@
 minetest.register_entity("technic:laser_beam_entityV", LASER_BEAM_ENTITYV)
 
 function lazer_it (pos, node, player,count)		
-	if node.name == "air" then return end
+	if node.name == "air" or node.name == "ignore" then return end
 	if node.name == "default:lava_source" then return end
 	if node.name == "default:lava_flowing" then return end
 	if node.name == "default:water_source" then minetest.env:remove_node(pos) return end
 	if node.name == "default:water_flowing" then minetest.env:remove_node(pos) return end
-	if node.name == "ignore" then minetest.env:remove_node(pos) return end
-
+	pos1={}
+	pos1.x=math.floor(pos.x)
+	pos1.y=math.floor(pos.y)
+	pos1.z=math.floor(pos.z)
+	
 	if player then 
-	local drops = minetest.get_node_drops(node.name, "default:pick_mese")
-	if player:get_inventory() then
-		local _, dropped_item
-		for _, dropped_item in ipairs(drops) do
-			player:get_inventory():add_item("main", dropped_item)
-		end
-	end
-	minetest.env:remove_node(pos)
+		minetest.node_dig(pos1,node,player)
 	end
 
 end
\ No newline at end of file

--
Gitblit v1.8.0