From: Maciej Kasatkin Date: Mon, 15 Oct 2012 20:29:52 +0000 (+0200) Subject: fixes to laser and mining drill X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=77e83840f56e364ef94a072fb161bb67c9ac5323;p=zefram%2Fminetest%2Ftechnic.git fixes to laser and mining drill --- diff --git a/mining_drill.lua b/mining_drill.lua index 3f2a7c8..33dfe2b 100644 --- a/mining_drill.lua +++ b/mining_drill.lua @@ -38,23 +38,13 @@ minetest.register_craft({ function drill_dig_it (pos, player) local node=minetest.env:get_node(pos) - 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 - - 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.sound_play("mining_drill", {pos = pos, gain = 1.0, max_hear_distance = 10,}) - minetest.env:remove_node(pos) - end + minetest.node_dig(pos,node,player) end \ No newline at end of file diff --git a/mining_laser_mk1.lua b/mining_laser_mk1.lua index a2569e3..1dcdbfa 100644 --- a/mining_laser_mk1.lua +++ b/mining_laser_mk1.lua @@ -11,8 +11,8 @@ local laser_shoot = function(itemstack, player, pointed_thing) 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,13 @@ minetest.register_entity("technic:laser_beam_entity", LASER_BEAM_ENTITY) 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 - 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(pos,node,player) end end \ No newline at end of file