forked from minetest/minetest_game
Add API doors : Sound for door open and close.
This commit is contained in:
parent
5b5aa493b5
commit
5dbc738dbd
@ -46,6 +46,8 @@ The doors mod allows modders to register custom doors.
|
|||||||
node_box_top = regular nodebox, see [Node boxes], OPTIONAL,
|
node_box_top = regular nodebox, see [Node boxes], OPTIONAL,
|
||||||
selection_box_bottom = regular nodebox, see [Node boxes], OPTIONAL,
|
selection_box_bottom = regular nodebox, see [Node boxes], OPTIONAL,
|
||||||
selection_box_top = 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,
|
only_placer_can_open = true/false,
|
||||||
^ If true, only placer can open the door (locked for others)
|
^ If true, only placer can open the door (locked for others)
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,14 @@ function doors.register_door(name, def)
|
|||||||
def.selection_box_top = box
|
def.selection_box_top = box
|
||||||
end
|
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, {
|
minetest.register_craftitem(name, {
|
||||||
description = def.description,
|
description = def.description,
|
||||||
inventory_image = def.inventory_image,
|
inventory_image = def.inventory_image,
|
||||||
@ -138,17 +146,17 @@ function doors.register_door(name, def)
|
|||||||
pos.y = pos.y-dir
|
pos.y = pos.y-dir
|
||||||
minetest.swap_node(pos, {name=replace, param2=p2})
|
minetest.swap_node(pos, {name=replace, param2=p2})
|
||||||
|
|
||||||
local snd_1 = "_close"
|
local snd_1 = def.sound_close_door
|
||||||
local snd_2 = "_open"
|
local snd_2 = def.sound_open_door
|
||||||
if params[1] == 3 then
|
if params[1] == 3 then
|
||||||
snd_1 = "_open"
|
snd_1 = def.sound_open_door
|
||||||
snd_2 = "_close"
|
snd_2 = def.sound_close_door
|
||||||
end
|
end
|
||||||
|
|
||||||
if is_right(pos) then
|
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
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user