@@ -170,10 +170,10 @@ function doors.door_toggle(pos, node, clicker)
170
170
171
171
if state % 2 == 0 then
172
172
minetest .sound_play (def .door .sounds [1 ],
173
- {pos = pos , gain = 0.3 , max_hear_distance = 10 }, true )
173
+ {pos = pos , gain = def . door . gains [ 1 ] , max_hear_distance = 10 }, true )
174
174
else
175
175
minetest .sound_play (def .door .sounds [2 ],
176
- {pos = pos , gain = 0.3 , max_hear_distance = 10 }, true )
176
+ {pos = pos , gain = def . door . gains [ 2 ] , max_hear_distance = 10 }, true )
177
177
end
178
178
179
179
minetest .swap_node (pos , {
@@ -364,12 +364,21 @@ function doors.register(name, def)
364
364
def .sound_close = " doors_door_close"
365
365
end
366
366
367
+ if not def .gain_open then
368
+ def .gain_open = 0.3
369
+ end
370
+
371
+ if not def .gain_close then
372
+ def .gain_close = 0.3
373
+ end
374
+
367
375
def .groups .not_in_creative_inventory = 1
368
376
def .groups .door = 1
369
377
def .drop = name
370
378
def .door = {
371
379
name = name ,
372
- sounds = { def .sound_close , def .sound_open },
380
+ sounds = {def .sound_close , def .sound_open },
381
+ gains = {def .gain_close , def .gain_open },
373
382
}
374
383
if not def .on_rightclick then
375
384
def .on_rightclick = function (pos , node , clicker , itemstack , pointed_thing )
@@ -461,6 +470,8 @@ doors.register("door_wood", {
461
470
description = S (" Wooden Door" ),
462
471
inventory_image = " doors_item_wood.png" ,
463
472
groups = {node = 1 , choppy = 2 , oddly_breakable_by_hand = 2 , flammable = 2 },
473
+ gain_open = 0.06 ,
474
+ gain_close = 0.13 ,
464
475
recipe = {
465
476
{" group:wood" , " group:wood" },
466
477
{" group:wood" , " group:wood" },
@@ -477,6 +488,8 @@ doors.register("door_steel", {
477
488
sounds = default .node_sound_metal_defaults (),
478
489
sound_open = " doors_steel_door_open" ,
479
490
sound_close = " doors_steel_door_close" ,
491
+ gain_open = 0.2 ,
492
+ gain_close = 0.2 ,
480
493
recipe = {
481
494
{" default:steel_ingot" , " default:steel_ingot" },
482
495
{" default:steel_ingot" , " default:steel_ingot" },
@@ -492,6 +505,8 @@ doors.register("door_glass", {
492
505
sounds = default .node_sound_glass_defaults (),
493
506
sound_open = " doors_glass_door_open" ,
494
507
sound_close = " doors_glass_door_close" ,
508
+ gain_open = 0.3 ,
509
+ gain_close = 0.25 ,
495
510
recipe = {
496
511
{" default:glass" , " default:glass" },
497
512
{" default:glass" , " default:glass" },
@@ -507,6 +522,8 @@ doors.register("door_obsidian_glass", {
507
522
sounds = default .node_sound_glass_defaults (),
508
523
sound_open = " doors_glass_door_open" ,
509
524
sound_close = " doors_glass_door_close" ,
525
+ gain_open = 0.3 ,
526
+ gain_close = 0.25 ,
510
527
recipe = {
511
528
{" default:obsidian_glass" , " default:obsidian_glass" },
512
529
{" default:obsidian_glass" , " default:obsidian_glass" },
@@ -553,12 +570,12 @@ function doors.trapdoor_toggle(pos, node, clicker)
553
570
554
571
if string.sub (node .name , - 5 ) == " _open" then
555
572
minetest .sound_play (def .sound_close ,
556
- {pos = pos , gain = 0.3 , max_hear_distance = 10 }, true )
573
+ {pos = pos , gain = def . gain_close , max_hear_distance = 10 }, true )
557
574
minetest .swap_node (pos , {name = string.sub (node .name , 1 ,
558
575
string.len (node .name ) - 5 ), param1 = node .param1 , param2 = node .param2 })
559
576
else
560
577
minetest .sound_play (def .sound_open ,
561
- {pos = pos , gain = 0.3 , max_hear_distance = 10 }, true )
578
+ {pos = pos , gain = def . gain_open , max_hear_distance = 10 }, true )
562
579
minetest .swap_node (pos , {name = node .name .. " _open" ,
563
580
param1 = node .param1 , param2 = node .param2 })
564
581
end
@@ -641,6 +658,14 @@ function doors.register_trapdoor(name, def)
641
658
def .sound_close = " doors_door_close"
642
659
end
643
660
661
+ if not def .gain_open then
662
+ def .gain_open = 0.3
663
+ end
664
+
665
+ if not def .gain_close then
666
+ def .gain_close = 0.3
667
+ end
668
+
644
669
local def_opened = table .copy (def )
645
670
local def_closed = table .copy (def )
646
671
@@ -694,6 +719,8 @@ doors.register_trapdoor("doors:trapdoor", {
694
719
wield_image = " doors_trapdoor.png" ,
695
720
tile_front = " doors_trapdoor.png" ,
696
721
tile_side = " doors_trapdoor_side.png" ,
722
+ gain_open = 0.06 ,
723
+ gain_close = 0.13 ,
697
724
groups = {choppy = 2 , oddly_breakable_by_hand = 2 , flammable = 2 , door = 1 },
698
725
})
699
726
@@ -707,6 +734,8 @@ doors.register_trapdoor("doors:trapdoor_steel", {
707
734
sounds = default .node_sound_metal_defaults (),
708
735
sound_open = " doors_steel_door_open" ,
709
736
sound_close = " doors_steel_door_close" ,
737
+ gain_open = 0.2 ,
738
+ gain_close = 0.2 ,
710
739
groups = {cracky = 1 , level = 2 , door = 1 },
711
740
})
712
741
@@ -747,7 +776,7 @@ function doors.register_fencegate(name, def)
747
776
on_rightclick = function (pos , node , clicker , itemstack , pointed_thing )
748
777
local node_def = minetest .registered_nodes [node .name ]
749
778
minetest .swap_node (pos , {name = node_def .gate , param2 = node .param2 })
750
- minetest .sound_play (node_def .sound , {pos = pos , gain = 0.3 ,
779
+ minetest .sound_play (node_def .sound , {pos = pos , gain = 0.15 ,
751
780
max_hear_distance = 8 }, true )
752
781
return itemstack
753
782
end ,
0 commit comments