Add API doors : Sound for door open and close.
authorJat <jinan15@hotmail.com>
Mon, 4 Aug 2014 16:28:09 +0000 (18:28 +0200)
committerBlockMen <nmuelll@web.de>
Thu, 7 Aug 2014 10:42:37 +0000 (12:42 +0200)
game_api.txt
mods/doors/init.lua

index 3d9d7a594359548b4e1345c5b9f3104c1b9e8c65..4eb2d7827109adf23eb339b5c6d3d7d36014c1df 100644 (file)
@@ -46,6 +46,8 @@ The doors mod allows modders to register custom doors.
        node_box_top = regular nodebox, see [Node boxes], OPTIONAL,
        selection_box_bottom = regular nodebox, see [Node boxes], OPTIONAL,
        selection_box_top = regular nodebox, see [Node boxes], OPTIONAL,
+       sound_open_door = sound play for open door, OPTIONAL,
+       sound_close_door = sound play for close door, OPTIONAL,
        only_placer_can_open = true/false,
        ^ If true, only placer can open the door (locked for others)
 }
index bb327b85fc54112aa512ec913cc5ae38f0874610..69416538901b36c90abb2262a35fcd4e663c85c5 100644 (file)
@@ -46,6 +46,14 @@ function doors.register_door(name, def)
                def.selection_box_top = box
        end
 
+       if not def.sound_close_door then
+               def.sound_close_door = "door_close"
+       end
+       if not def.sound_open_door then
+               def.sound_open_door = "door_open"
+       end
+       
+       
        minetest.register_craftitem(name, {
                description = def.description,
                inventory_image = def.inventory_image,
@@ -138,17 +146,17 @@ function doors.register_door(name, def)
                pos.y = pos.y-dir
                minetest.swap_node(pos, {name=replace, param2=p2})
 
-               local snd_1 = "_close"
-               local snd_2 = "_open"
+               local snd_1 = def.sound_close_door
+               local snd_2 = def.sound_open_door 
                if params[1] == 3 then
-                       snd_1 = "_open"
-                       snd_2 = "_close"
+                       snd_1 = def.sound_open_door 
+                       snd_2 = def.sound_close_door
                end
 
                if is_right(pos) then
-                       minetest.sound_play("door"..snd_1, {pos = pos, gain = 0.3, max_hear_distance = 10})
+                       minetest.sound_play(snd_1, {pos = pos, gain = 0.3, max_hear_distance = 10})
                else
-                       minetest.sound_play("door"..snd_2, {pos = pos, gain = 0.3, max_hear_distance = 10})
+                       minetest.sound_play(snd_2, {pos = pos, gain = 0.3, max_hear_distance = 10})
                end
        end