Use ephemeral sounds for real

master
Wuzzy 2020-04-06 00:38:42 +02:00
parent e0756da373
commit 3745db99a4
18 changed files with 39 additions and 39 deletions

View File

@ -183,10 +183,10 @@ function _doors.door_toggle(pos, node, clicker)
local dir = node.param2
if state % 2 == 0 then
minetest.sound_play(def.door.sounds[1],
{pos = pos, gain = 0.3, max_hear_distance = 10}, false)
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
else
minetest.sound_play(def.door.sounds[2],
{pos = pos, gain = 0.3, max_hear_distance = 10}, false)
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
end
minetest.swap_node(pos, {
@ -351,7 +351,7 @@ function doors.register(name, def)
itemstack:take_item()
end
minetest.sound_play(def.sounds.place, {pos = pos}, false)
minetest.sound_play(def.sounds.place, {pos = pos}, true)
on_place_node(pos, minetest.get_node(pos),
placer, node, itemstack, pointed_thing)
@ -501,12 +501,12 @@ function _doors.trapdoor_toggle(pos, node, clicker)
if string.sub(node.name, -5) == "_open" then
minetest.sound_play(def.sound_close,
{pos = pos, gain = 0.3, max_hear_distance = 10}, false)
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = string.sub(node.name, 1,
string.len(node.name) - 5), param1 = node.param1, param2 = node.param2})
else
minetest.sound_play(def.sound_open,
{pos = pos, gain = 0.3, max_hear_distance = 10}, false)
{pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = node.name .. "_open",
param1 = node.param1, param2 = node.param2})
end
@ -647,7 +647,7 @@ function doors.register_fencegate(name, def)
local node_def = minetest.registered_nodes[node.name]
minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2})
minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3,
max_hear_distance = 8}, false)
max_hear_distance = 8}, true)
return itemstack
end,
selection_box = {

View File

@ -36,7 +36,7 @@ minetest.register_entity("drippingwater:drop_water", {
if minetest.get_node({x=ownpos.x, y=ownpos.y -0.5, z=ownpos.z}).name ~= "air" then
self.object:remove()
minetest.sound_play({name="drippingwater_drip"}, {pos = ownpos, gain = 0.5, max_hear_distance = 8}, false)
minetest.sound_play({name="drippingwater_drip"}, {pos = ownpos, gain = 0.5, max_hear_distance = 8}, true)
end
end,
})

View File

@ -43,7 +43,7 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses)
minetest.sound_play("default_dig_crumbly", {
pos = pt.under,
gain = 0.5,
}, false)
}, true)
if not minetest.settings:get_bool("creative_mode") then
itemstack:add_wear(65535/(uses-1))

View File

@ -6,18 +6,18 @@
local cool_lava_source = function(pos)
if minetest.find_node_near(pos, 5, {"hades_core:water_flowing"}) == nil then
minetest.sound_play({name="fire_extinguish_flame", gain = 0.2}, {pos=pos, max_hear_distance = 16}, false)
minetest.sound_play({name="fire_extinguish_flame", gain = 0.2}, {pos=pos, max_hear_distance = 16}, true)
minetest.set_node(pos, {name="hades_core:tuff"})
else
if minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "air" then
minetest.sound_play({name="fire_extinguish_flame", gain = 0.05}, {pos=pos, max_hear_distance = 6}, false)
minetest.sound_play({name="fire_extinguish_flame", gain = 0.05}, {pos=pos, max_hear_distance = 6}, true)
end
minetest.set_node(pos, {name="hades_core:water_source"})
end
end
local cool_lava_flowing = function(pos)
minetest.sound_play({name="fire_extinguish_flame", gain = 0.2}, {pos=pos, max_hear_distance = 16}, false)
minetest.sound_play({name="fire_extinguish_flame", gain = 0.2}, {pos=pos, max_hear_distance = 16}, true)
minetest.set_node(pos, {name="hades_core:gravel_volcanic"})
end

View File

@ -65,7 +65,7 @@ hades_core.register_ladder = function(id, def)
if success then
if idef.sounds and idef.sounds.place then
minetest.sound_play(idef.sounds.place, {pos=above, gain=1})
minetest.sound_play(idef.sounds.place, {pos=above, gain=1}, true)
end
end
return itemstack

View File

@ -39,7 +39,7 @@ local function update_sound(player)
to_player = player_name,
gain = math.min(0.04 + total * 0.004, around_nodes[a].min_gain),
},
false
true
)
end
end

View File

@ -240,7 +240,7 @@ local function furnace_node_timer(pos, elapsed)
swap_node(pos, id_active)
-- Furnace burn sound
if meta:get_int("sound_played") == nil or ( os.time() - meta:get_int("sound_played") ) >= 4 then
minetest.sound_play("hades_furnaces_burning",{pos=pos},false)
minetest.sound_play("hades_furnaces_burning",{pos=pos},true)
meta:set_string("sound_played",os.time())
end
-- make sure timer restarts automatically

View File

@ -85,7 +85,7 @@ function hbhunger.item_eat(hunger_change, replace_with_item, poisen, heal, sound
local h = tonumber(hbhunger.hunger[name])
local hp = user:get_hp()
if sound ~= nil then
minetest.sound_play({name = sound, gain = 1}, {pos=user:get_pos(), max_hear_distance = 16}, false)
minetest.sound_play({name = sound, gain = 1}, {pos=user:get_pos(), max_hear_distance = 16}, true)
end
-- Saturation

View File

@ -44,7 +44,7 @@ local function removeObjectWithSound(object)
pos=pos,
gain = 0.2,
max_hear_distance = 32,
}, false)
}, true)
object:remove()
end
@ -66,7 +66,7 @@ local function pickup(player, inv, object, pickupRadius)
minetest.sound_play("item_drop_pickup", {
to_player = player:get_player_name(),
gain = 0.4,
}, false)
}, true)
end
lua.itemstring = ''
removeObject(object)
@ -301,7 +301,7 @@ function minetest.item_drop(itemstack, dropper, pos)
pos=pos,
gain = 1.0,
max_hear_distance = 32,
}, false)
}, true)
local obj = minetest.add_item(p, itemstack)
if obj then
v.x = v.x*2

View File

@ -6,7 +6,7 @@ mesecon.button_turnoff = function (pos)
local node = minetest.get_node(pos)
if node.name=="mesecons_button:button_on" then --has not been dug
minetest.swap_node(pos, {name = "mesecons_button:button_off", param2=node.param2})
minetest.sound_play("mesecons_button_pop", {pos=pos}, false)
minetest.sound_play("mesecons_button_pop", {pos=pos}, true)
local rules = mesecon.rules.buttonlike_get(node)
mesecon:receptor_off(pos, rules)
end
@ -43,7 +43,7 @@ minetest.register_node("mesecons_button:button_off", {
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_button:button_on", param2=node.param2})
mesecon:receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_button_push", {pos=pos}, false)
minetest.sound_play("mesecons_button_push", {pos=pos}, true)
minetest.after(1, mesecon.button_turnoff, pos)
end,
sounds = hades_sounds.node_sound_stone_defaults(),

View File

@ -75,5 +75,5 @@ mesecon.noteblock_play = function (pos, param2)
soundname="mesecons_noteblock_litecrash"
end
minetest.sound_play(soundname,
{pos = pos, gain = 1.0, max_hear_distance = 32,}, false)
{pos = pos, gain = 1.0, max_hear_distance = 32,}, true)
end

View File

@ -69,7 +69,7 @@ local piston_remove_pusher = function(pos, node)
pos = pos,
max_hear_distance = 20,
gain = 0.3,
}, false)
}, true)
minetest.check_for_falling(pusherpos)
end
@ -86,7 +86,7 @@ local piston_on = function(pos, node)
pos = pos,
max_hear_distance = 20,
gain = 0.3,
}, false)
}, true)
mesecon:mvps_process_stack (stack)
mesecon:mvps_move_objects (np, dir, oldstack)
end

View File

@ -12,7 +12,7 @@ minetest.register_node("mesecons_switch:mesecon_switch_off", {
on_punch = function(pos, node)
minetest.swap_node(pos, {name = "mesecons_switch:mesecon_switch_on", param2 = node.param2})
mesecon:receptor_on(pos)
minetest.sound_play("mesecons_switch", {pos=pos}, false)
minetest.sound_play("mesecons_switch", {pos=pos}, true)
end
})
@ -28,7 +28,7 @@ minetest.register_node("mesecons_switch:mesecon_switch_on", {
on_punch = function(pos, node)
minetest.swap_node(pos, {name = "mesecons_switch:mesecon_switch_off", param2 = node.param2})
mesecon:receptor_off(pos)
minetest.sound_play("mesecons_switch", {pos=pos}, false)
minetest.sound_play("mesecons_switch", {pos=pos}, true)
end
})

View File

@ -34,7 +34,7 @@ minetest.register_node("mesecons_walllever:wall_lever_off", {
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_walllever:wall_lever_on", param2 = node.param2})
mesecon:receptor_on(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_lever", {pos=pos}, false)
minetest.sound_play("mesecons_lever", {pos=pos}, true)
end,
sounds = hades_sounds.node_sound_wood_defaults(),
mesecons = {receptor = {
@ -76,7 +76,7 @@ minetest.register_node("mesecons_walllever:wall_lever_on", {
on_punch = function (pos, node)
minetest.swap_node(pos, {name = "mesecons_walllever:wall_lever_off", param2 = node.param2})
mesecon:receptor_off(pos, mesecon.rules.buttonlike_get(node))
minetest.sound_play("mesecons_lever", {pos=pos}, false)
minetest.sound_play("mesecons_lever", {pos=pos}, true)
end,
sounds = hades_sounds.node_sound_wood_defaults(),
mesecons = {receptor = {

View File

@ -99,7 +99,7 @@ local mob_sound = function(self, sound)
object = self.object,
gain = 1.0,
max_hear_distance = self.sounds.distance
}, false)
}, true)
end
end
@ -1918,7 +1918,7 @@ local do_states = function(self, dtime)
pos = pos,
gain = 1.0,
max_hear_distance = self.sounds.distance or 32
}, false)
}, true)
entity_physics(pos, entity_damage_radius)
effect(pos, 32, "tnt_smoke.png", nil, nil, node_break_radius, 1, 0)
@ -2343,12 +2343,12 @@ local mob_punch = function(self, hitter, tflp, tool_capabilities, dir)
minetest.sound_play(weapon:get_definition().sounds[s], {
object = self.object, --hitter,
max_hear_distance = 8
}, false)
}, true)
else
minetest.sound_play("default_punch", {
object = self.object, --hitter,
max_hear_distance = 5
}, false)
}, true)
end
-- blood_particles
@ -3297,7 +3297,7 @@ function mobs:safe_boom(self, pos, radius)
pos = pos,
gain = 1.0,
max_hear_distance = self.sounds and self.sounds.distance or 32
}, false)
}, true)
entity_physics(pos, radius)
effect(pos, 32, "tnt_smoke.png", radius * 3, radius * 5, radius, 1, 0)

View File

@ -315,7 +315,7 @@ function mobs.drive(entity, moving_anim, stand_anim, can_fly, dtime)
minetest.sound_play("default_punch", {
object = entity.object,
max_hear_distance = 5
}, false)
}, true)
entity.object:punch(entity.object, 1.0, {
full_punch_interval = 1.0,

View File

@ -27,7 +27,7 @@ minetest.register_node("travelnet:elevator_door_steel_open", {
},
drop = "travelnet:elevator_door_steel_closed",
on_rightclick = function(pos, node, puncher)
minetest.sound_play("mcl_fences_nether_brick_fence_gate_close", {pos = pos, gain = 0.3, max_hear_distance = 10}, false)
minetest.sound_play("mcl_fences_nether_brick_fence_gate_close", {pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.add_node(pos, {name = "travelnet:elevator_door_steel_closed", param2 = node.param2})
end,
sounds = hades_sounds.node_sound_stone_defaults(),
@ -55,7 +55,7 @@ minetest.register_node("travelnet:elevator_door_steel_closed", {
},
},
on_rightclick = function(pos, node, puncher)
minetest.sound_play("mcl_fences_nether_brick_fence_gate_open", {pos = pos, gain = 0.3, max_hear_distance = 10}, false)
minetest.sound_play("mcl_fences_nether_brick_fence_gate_open", {pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.add_node(pos, {name = "travelnet:elevator_door_steel_open", param2 = node.param2})
end,
sounds = hades_sounds.node_sound_stone_defaults(),
@ -85,7 +85,7 @@ minetest.register_node("travelnet:elevator_door_glass_open", {
},
drop = "travelnet:elevator_door_glass_closed",
on_rightclick = function(pos, node, puncher)
minetest.sound_play("doors_glass_door_close", {pos = pos, gain = 0.3, max_hear_distance = 10}, false)
minetest.sound_play("doors_glass_door_close", {pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.add_node(pos, {name = "travelnet:elevator_door_glass_closed", param2 = node.param2})
end,
sounds = hades_sounds.node_sound_glass_defaults(),
@ -113,7 +113,7 @@ minetest.register_node("travelnet:elevator_door_glass_closed", {
},
},
on_rightclick = function(pos, node, puncher)
minetest.sound_play("doors_glass_door_open", {pos = pos, gain = 0.3, max_hear_distance = 10}, false)
minetest.sound_play("doors_glass_door_open", {pos = pos, gain = 0.3, max_hear_distance = 10}, true)
minetest.add_node(pos, {name = "travelnet:elevator_door_glass_open", param2 = node.param2})
end,
sounds = hades_sounds.node_sound_glass_defaults(),

View File

@ -498,7 +498,7 @@ travelnet.on_receive_fields = function(pos, formname, fields, player)
if( travelnet.travelnet_sound_enabled ) then
minetest.sound_play("128590_7037-lq.mp3", {pos = pos, gain = 1.0, max_hear_distance = 10,}, false)
minetest.sound_play("128590_7037-lq.mp3", {pos = pos, gain = 1.0, max_hear_distance = 10,}, true)
end
if( travelnet.travelnet_effect_enabled ) then
minetest.add_entity( {x=pos.x,y=pos.y+0.5,z=pos.z}, "travelnet:effect"); -- it self-destructs after 20 turns
@ -512,7 +512,7 @@ travelnet.on_receive_fields = function(pos, formname, fields, player)
player:move_to( target_pos, false);
if( travelnet.travelnet_sound_enabled ) then
minetest.sound_play("travelnet_travel.wav", {pos = target_pos, gain = 1.0, max_hear_distance = 10,}, false)
minetest.sound_play("travelnet_travel.wav", {pos = target_pos, gain = 1.0, max_hear_distance = 10,}, true)
end
if( travelnet.travelnet_effect_enabled ) then
minetest.add_entity( {x=target_pos.x,y=target_pos.y+0.5,z=target_pos.z}, "travelnet:effect"); -- it self-destructs after 20 turns