Use ephemeral sounds

This commit is contained in:
Wuzzy 2020-04-07 00:55:45 +02:00
parent b2c75acd68
commit c5e4ec5e27
61 changed files with 123 additions and 122 deletions

View file

@ -27,7 +27,7 @@ mesecon.push_button = function(pos, node)
local def = minetest.registered_nodes[node.name]
minetest.set_node(pos, {name="mesecons_button:button_"..def._mcl_button_basename.."_on", param2=node.param2})
mesecon.receptor_on(pos, button_get_output_rules(node))
minetest.sound_play("mesecons_button_push", {pos=pos})
minetest.sound_play("mesecons_button_push", {pos=pos}, true)
local timer = minetest.get_node_timer(pos)
timer:start(def._mcl_button_timer)
end
@ -73,7 +73,7 @@ local on_button_place = function(itemstack, placer, pointed_thing)
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
@ -179,7 +179,7 @@ mesecon.register_button = function(basename, description, texture, recipeitem, s
-- Normal operation: Un-press the button
minetest.set_node(pos, {name="mesecons_button:button_"..basename.."_off",param2=node.param2})
minetest.sound_play("mesecons_button_pop", {pos=pos})
minetest.sound_play("mesecons_button_pop", {pos=pos}, true)
mesecon.receptor_off(pos, button_get_output_rules(node))
end
end,

View file

@ -64,7 +64,7 @@ local piston_remove_pusher = function (pos, oldnode)
pos = pos,
max_hear_distance = 31,
gain = 0.3,
})
}, true)
end
end
@ -85,7 +85,7 @@ local piston_remove_base = function (pos, oldnode)
pos = pos,
max_hear_distance = 31,
gain = 0.3,
})
}, true)
end
end
@ -108,7 +108,7 @@ local piston_on = function (pos, node)
pos = pos,
max_hear_distance = 31,
gain = 0.3,
})
}, true)
end
end

View file

@ -50,7 +50,7 @@ local torch_get_input_rules = function(node)
end
local torch_overheated = function(pos)
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.02, max_hear_distance = 6})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.02, max_hear_distance = 6}, true)
minetest.add_particle({
pos = {x=pos.x, y=pos.y+0.2, z=pos.z},
velocity = {x = 0, y = 0.6, z = 0},

View file

@ -53,7 +53,7 @@ minetest.register_node("mesecons_walllever:wall_lever_off", {
on_rightclick = function (pos, node)
minetest.swap_node(pos, {name="mesecons_walllever:wall_lever_on", param2=node.param2})
mesecon.receptor_on(pos, lever_get_output_rules(node))
minetest.sound_play("mesecons_lever", {pos=pos})
minetest.sound_play("mesecons_lever", {pos=pos}, true)
end,
node_placement_prediction = "",
on_place = function(itemstack, placer, pointed_thing)
@ -116,7 +116,7 @@ minetest.register_node("mesecons_walllever:wall_lever_off", {
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
@ -152,7 +152,7 @@ minetest.register_node("mesecons_walllever:wall_lever_on", {
on_rightclick = function (pos, node)
minetest.swap_node(pos, {name="mesecons_walllever:wall_lever_off", param2=node.param2})
mesecon.receptor_off(pos, lever_get_output_rules(node))
minetest.sound_play("mesecons_lever", {pos=pos})
minetest.sound_play("mesecons_lever", {pos=pos}, true)
end,
sounds = mcl_sounds.node_sound_stone_defaults(),
mesecons = {receptor = {

View file

@ -220,17 +220,17 @@ local function damage_anvil(pos)
local new
if node.name == "mcl_anvils:anvil" then
minetest.swap_node(pos, {name="mcl_anvils:anvil_damage_1", param2=node.param2})
minetest.sound_play(mcl_sounds.node_sound_metal_defaults().dig, {pos=pos, max_hear_distance=16})
minetest.sound_play(mcl_sounds.node_sound_metal_defaults().dig, {pos=pos, max_hear_distance=16}, true)
return false
elseif node.name == "mcl_anvils:anvil_damage_1" then
minetest.swap_node(pos, {name="mcl_anvils:anvil_damage_2", param2=node.param2})
minetest.sound_play(mcl_sounds.node_sound_metal_defaults().dig, {pos=pos, max_hear_distance=16})
minetest.sound_play(mcl_sounds.node_sound_metal_defaults().dig, {pos=pos, max_hear_distance=16}, true)
return false
elseif node.name == "mcl_anvils:anvil_damage_2" then
-- Destroy anvil
local meta = minetest.get_meta(pos)
drop_anvil_items(pos, meta)
minetest.sound_play(mcl_sounds.node_sound_metal_defaults().dug, {pos=pos, max_hear_distance=16})
minetest.sound_play(mcl_sounds.node_sound_metal_defaults().dug, {pos=pos, max_hear_distance=16}, true)
minetest.remove_node(pos)
minetest.check_single_for_falling({x=pos.x, y=pos.y+1, z=pos.z})
return true

View file

@ -322,7 +322,7 @@ armor.play_equip_sound = function(self, stack, player, pos, unequip)
if pos then
dist = 16
end
minetest.sound_play(snd, {object=player, pos=pos, gain=0.5, max_hear_distance=dist})
minetest.sound_play(snd, {object=player, pos=pos, gain=0.5, max_hear_distance=dist}, true)
end
end

View file

@ -376,7 +376,7 @@ for colorid, colortab in pairs(mcl_banners.colors) do
minetest.set_node(pointed_thing.under, {name=new_node})
-- Play sound (from mcl_potions mod)
minetest.sound_play("mcl_potions_bottle_pour", {pos=pointed_thing.under, gain=0.5, max_hear_range=16})
minetest.sound_play("mcl_potions_bottle_pour", {pos=pointed_thing.under, gain=0.5, max_hear_range=16}, true)
return itemstack
end
@ -458,7 +458,7 @@ for colorid, colortab in pairs(mcl_banners.colors) do
if not minetest.settings:get_bool("creative_mode") then
itemstack:take_item()
end
minetest.sound_play({name="default_place_node_hard", gain=1.0}, {pos = place_pos})
minetest.sound_play({name="default_place_node_hard", gain=1.0}, {pos = place_pos}, true)
return itemstack
end,

View file

@ -145,7 +145,7 @@ ARROW_ENTITY.on_step = function(self, dtime)
pos = pos,
max_hear_distance = 16,
gain = 1.0,
})
}, true)
end
end
self.object:remove()
@ -224,7 +224,7 @@ ARROW_ENTITY.on_step = function(self, dtime)
if is_player then
if self._shooter and self._shooter:is_player() then
-- “Ding” sound for hitting another player
minetest.sound_play({name="mcl_bows_hit_player", gain=0.1}, {to_player=self._shooter})
minetest.sound_play({name="mcl_bows_hit_player", gain=0.1}, {to_player=self._shooter}, true)
end
end

View file

@ -48,7 +48,7 @@ mcl_bows.shoot_arrow = function(arrow_item, pos, dir, yaw, shooter, power, damag
le._shooter = shooter
le._damage = damage
le._startpos = pos
minetest.sound_play("mcl_bows_bow_shoot", {pos=pos})
minetest.sound_play("mcl_bows_bow_shoot", {pos=pos}, true)
if shooter ~= nil and shooter:is_player() then
if obj:get_luaentity().player == "" then
obj:get_luaentity().player = shooter

View file

@ -28,14 +28,14 @@ mcl_buckets.liquids = {}
local sound_place = function(itemname, pos)
local def = minetest.registered_nodes[itemname]
if def and def.sounds and def.sounds.place then
minetest.sound_play(def.sounds.place, {gain=1.0, pos = pos, pitch = 1 + math.random(-10, 10)*0.005})
minetest.sound_play(def.sounds.place, {gain=1.0, pos = pos, pitch = 1 + math.random(-10, 10)*0.005}, true)
end
end
local sound_take = function(itemname, pos)
local def = minetest.registered_nodes[itemname]
if def and def.sounds and def.sounds.dug then
minetest.sound_play(def.sounds.dug, {gain=1.0, pos = pos, pitch = 1 + math.random(-10, 10)*0.005})
minetest.sound_play(def.sounds.dug, {gain=1.0, pos = pos, pitch = 1 + math.random(-10, 10)*0.005}, true)
end
end
@ -346,7 +346,7 @@ if mod_mcl_core then
else
local dim = mcl_worlds.pos_to_dimension(pos)
if dim == "nether" then
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
return false
end
end
@ -389,7 +389,7 @@ if mod_mclx_core then
-- Evaporate water if used in Nether (except on cauldron)
local dim = mcl_worlds.pos_to_dimension(pos)
if dim == "nether" then
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
return false
end
end

View file

@ -43,7 +43,7 @@ function mcl_cocoas.place(itemstack, placer, pointed_thing, plantname)
-- Add the node, set facedir and remove 1 item from the itemstack
minetest.set_node(pt.above, {name = plantname, param2 = minetest.dir_to_facedir(clickdir)})
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0})
minetest.sound_play("default_place_node", {pos = pt.above, gain = 1.0}, true)
if not minetest.settings:get_bool("creative_mode") then
itemstack:take_item()

View file

@ -21,21 +21,21 @@ minetest.register_abm({
-- Lava on top of water: Water turns into stone
if water[w].y < pos.y and water[w].x == pos.x and water[w].z == pos.z then
minetest.set_node(water[w], {name="mcl_core:stone"})
minetest.sound_play("fire_extinguish_flame", {pos = water[w], gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = water[w], gain = 0.25, max_hear_distance = 16}, true)
-- Flowing lava vs water on same level: Lava turns into cobblestone
elseif lavatype == "flowing" and water[w].y == pos.y and (water[w].x == pos.x or water[w].z == pos.z) then
minetest.set_node(pos, {name="mcl_core:cobble"})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
-- Lava source vs flowing water above or horizontally neighbored: Lava turns into obsidian
elseif lavatype == "source" and
((water[w].y > pos.y and water[w].x == pos.x and water[w].z == pos.z) or
(water[w].y == pos.y and (water[w].x == pos.x or water[w].z == pos.z))) then
minetest.set_node(pos, {name="mcl_core:obsidian"})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
-- Flowing water above flowing lava: Lava turns into cobblestone
elseif watertype == "flowing" and lavatype == "flowing" and water[w].y > pos.y and water[w].x == pos.x and water[w].z == pos.z then
minetest.set_node(pos, {name="mcl_core:cobble"})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
end
end
end,
@ -166,7 +166,7 @@ minetest.register_abm({
action = function(pos, node, active_object_count, active_object_count_wider)
liquid_flow_action(pos, "lava", function(pos)
minetest.remove_node(pos)
minetest.sound_play("builtin_item_lava", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("builtin_item_lava", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
core.check_for_falling(pos)
end)
end,

View file

@ -922,7 +922,7 @@ for i=1,8 do
fakestack:set_name("mcl_core:snow_"..math.min(8, (i+g)))
local success
itemstack, success = minetest.item_place(fakestack, placer, pointed_thing)
minetest.sound_play(mcl_sounds.node_sound_snow_defaults().place, {pos = below})
minetest.sound_play(mcl_sounds.node_sound_snow_defaults().place, {pos = below}, true)
itemstack:set_name(itemstring)
return itemstack
end
@ -932,7 +932,7 @@ for i=1,8 do
local bnode = minetest.get_node(below)
if minetest.get_item_group(bnode.name, "solid") == 1 then
minetest.sound_play(mcl_sounds.node_sound_snow_defaults().place, {pos = below})
minetest.sound_play(mcl_sounds.node_sound_snow_defaults().place, {pos = below}, true)
return minetest.item_place_node(itemstack, placer, pointed_thing)
else
return itemstack

View file

@ -75,7 +75,7 @@ minetest.register_node("mcl_core:ladder", {
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
@ -146,7 +146,7 @@ minetest.register_node("mcl_core:vine", {
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

@ -155,7 +155,7 @@ function mcl_doors:register_door(name, def)
minetest.set_node(pt2, {name=name.."_t_1", param2=p2})
if def.sounds and def.sounds.place then
minetest.sound_play(def.sounds.place, {pos=pt})
minetest.sound_play(def.sounds.place, {pos=pt}, true)
end
if def.only_placer_can_open then
@ -225,7 +225,7 @@ function mcl_doors:register_door(name, def)
meta1:set_int("is_open", 1)
meta2:set_int("is_open", 1)
end
minetest.sound_play(door_switching_sound, {pos = pos, gain = 0.5, max_hear_distance = 16})
minetest.sound_play(door_switching_sound, {pos = pos, gain = 0.5, max_hear_distance = 16}, true)
end
local function on_mesecons_signal_open(pos, node)

View file

@ -67,11 +67,11 @@ function mcl_doors:register_trapdoor(name, def)
local tmp_node
-- Close
if minetest.get_item_group(me.name, "trapdoor") == 2 then
minetest.sound_play(def.sound_close, {pos = pos, gain = 0.3, max_hear_distance = 16})
minetest.sound_play(def.sound_close, {pos = pos, gain = 0.3, max_hear_distance = 16}, true)
tmp_node = {name=name, param1=me.param1, param2=me.param2}
-- Open
else
minetest.sound_play(def.sound_open, {pos = pos, gain = 0.3, max_hear_distance = 16})
minetest.sound_play(def.sound_open, {pos = pos, gain = 0.3, max_hear_distance = 16}, true)
tmp_node = {name=name.."_open", param1=me.param1, param2=me.param2}
end
minetest.set_node(pos, tmp_node)

View file

@ -191,7 +191,7 @@ minetest.register_node("mcl_end:chorus_flower", {
-- Placement OK! Proceed normally
local it, suc = minetest.item_place_node(itemstack, placer, pointed_thing)
if suc then
minetest.sound_play(mcl_sounds.node_sound_wood_defaults().place, {pos = pos})
minetest.sound_play(mcl_sounds.node_sound_wood_defaults().place, {pos = pos}, true)
end
return it
else
@ -295,7 +295,7 @@ minetest.register_node("mcl_end:chorus_plant", {
-- Placement OK! Proceed normally
local it, suc = minetest.item_place_node(itemstack, placer, pointed_thing)
if suc then
minetest.sound_play(mcl_sounds.node_sound_wood_defaults().place, {pos = pos_place})
minetest.sound_play(mcl_sounds.node_sound_wood_defaults().place, {pos = pos_place}, true)
end
return it
else
@ -516,7 +516,7 @@ local random_teleport = function(player)
-- JACKPOT! Now we can teleport.
local goal = {x=tpos.x, y=tpos.y-1.5, z=tpos.z}
player:set_pos(goal)
minetest.sound_play({name="mcl_end_teleport", gain=0.8}, {pos=goal, max_hear_distance=16})
minetest.sound_play({name="mcl_end_teleport", gain=0.8}, {pos=goal, max_hear_distance=16}, true)
return true
end
end

View file

@ -11,14 +11,14 @@ local function create_soil(pos, inv)
if above.name == "air" then
node.name = "mcl_farming:soil"
minetest.set_node(pos, node)
minetest.sound_play("default_dig_crumbly", { pos = pos, gain = 0.5 })
minetest.sound_play("default_dig_crumbly", { pos = pos, gain = 0.5 }, true)
return true
end
elseif minetest.get_item_group(name, "cultivatable") == 1 then
if above.name == "air" then
node.name = "mcl_core:dirt"
minetest.set_node(pos, node)
minetest.sound_play("default_dig_crumbly", { pos = pos, gain = 0.6 })
minetest.sound_play("default_dig_crumbly", { pos = pos, gain = 0.6 }, true)
return true
end
end

View file

@ -84,7 +84,7 @@ function mcl_farming:place_seed(itemstack, placer, pointed_thing, plantname)
local place_s = minetest.get_node(pos)
if string.find(farmland.name, "mcl_farming:soil") and string.find(place_s.name, "air") then
minetest.sound_play(minetest.registered_nodes[plantname].sounds.place, {pos = pos})
minetest.sound_play(minetest.registered_nodes[plantname].sounds.place, {pos = pos}, true)
minetest.add_node(pos, {name=plantname, param2 = minetest.registered_nodes[plantname].place_param2})
else
return

View file

@ -102,11 +102,11 @@ mcl_fences.register_fence_gate = function(id, fence_gate_name, texture, groups,
local tmp_node2
if state2 == 1 then
state2 = 0
minetest.sound_play(sound_close, {gain = sound_gain_close, max_hear_distance = 10, pos = pos})
minetest.sound_play(sound_close, {gain = sound_gain_close, max_hear_distance = 10, pos = pos}, true)
tmp_node2 = {name=gate_id, param1=node.param1, param2=node.param2}
else
state2 = 1
minetest.sound_play(sound_open, {gain = sound_gain_open, max_hear_distance = 10, pos = pos})
minetest.sound_play(sound_open, {gain = sound_gain_open, max_hear_distance = 10, pos = pos}, true)
tmp_node2 = {name=open_gate_id, param1=node.param1, param2=node.param2}
end
update_gate(pos, tmp_node2)

View file

@ -28,7 +28,8 @@ minetest.register_tool("mcl_fire:flint_and_steel", {
local idef = itemstack:get_definition()
minetest.sound_play(
"fire_flint_and_steel",
{pos = pointed_thing.above, gain = 0.5, max_hear_distance = 8}
{pos = pointed_thing.above, gain = 0.5, max_hear_distance = 8},
true
)
local used = false
if pointed_thing.type == "node" then
@ -44,7 +45,7 @@ minetest.register_tool("mcl_fire:flint_and_steel", {
used = true
end
if itemstack:get_count() == 0 and idef.sound and idef.sound.breaks then
minetest.sound_play(idef.sound.breaks, {pos=user:get_pos(), gain=0.5})
minetest.sound_play(idef.sound.breaks, {pos=user:get_pos(), gain=0.5}, true)
end
if not minetest.settings:get_bool("creative_mode") and used == true then
itemstack:add_wear(65535/65) -- 65 uses

View file

@ -67,7 +67,7 @@ minetest.register_node("mcl_fire:fire", {
floodable = true,
on_flood = function(pos, oldnode, newnode)
if minetest.get_item_group(newnode.name, "water") ~= 0 then
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
end
end,
on_timer = function(pos)
@ -151,7 +151,7 @@ minetest.register_node("mcl_fire:eternal_fire", {
floodable = true,
on_flood = function(pos, oldnode, newnode)
if minetest.get_item_group(newnode.name, "water") ~= 0 then
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16})
minetest.sound_play("fire_extinguish_flame", {pos = pos, gain = 0.25, max_hear_distance = 16}, true)
end
end,
on_timer = function(pos)
@ -310,7 +310,7 @@ minetest.register_abm({
action = function(pos, node, active_object_count, active_object_count_wider)
minetest.remove_node(pos)
minetest.sound_play("fire_extinguish_flame",
{pos = pos, max_hear_distance = 16, gain = 0.15})
{pos = pos, max_hear_distance = 16, gain = 0.15}, true)
end,
})

View file

@ -105,7 +105,7 @@ local fish = function(itemstack, player)
local idef = itemstack:get_definition()
itemstack:add_wear(65535/65) -- 65 uses
if itemstack:get_count() == 0 and idef.sound and idef.sound.breaks then
minetest.sound_play(idef.sound.breaks, {pos=player:get_pos(), gain=0.5})
minetest.sound_play(idef.sound.breaks, {pos=player:get_pos(), gain=0.5}, true)
end
end
end
@ -119,7 +119,7 @@ local fish = function(itemstack, player)
local idef = itemstack:get_definition()
itemstack:add_wear((65535/65)*2) -- if so and not creative then wear double like in MC.
if itemstack:get_count() == 0 and idef.sound and idef.sound.breaks then
minetest.sound_play(idef.sound.breaks, {pos=player:get_pos(), gain=0.5})
minetest.sound_play(idef.sound.breaks, {pos=player:get_pos(), gain=0.5}, true)
end
end
end

View file

@ -265,7 +265,7 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im
param2 = get_palette_color_from_pos(bottom)
end
-- Success! We can now place the flower
minetest.sound_play(minetest.registered_nodes[itemstring].sounds.place, {pos = bottom, gain=1})
minetest.sound_play(minetest.registered_nodes[itemstring].sounds.place, {pos = bottom, gain=1}, true)
minetest.set_node(bottom, {name=itemstring, param2=param2})
minetest.set_node(top, {name=itemstring.."_top", param2=param2})
if not minetest.settings:get_bool("creative_mode") then
@ -420,7 +420,7 @@ minetest.register_node("mcl_flowers:waterlily", {
local idef = itemstack:get_definition()
if idef.sounds and idef.sounds.place then
minetest.sound_play(idef.sounds.place, {pos=pointed_thing.above, gain=1})
minetest.sound_play(idef.sounds.place, {pos=pointed_thing.above, gain=1}, true)
end
if not minetest.settings:get_bool("creative_mode") then

View file

@ -125,7 +125,7 @@ minetest.register_craftitem("mcl_nether:nether_wart_item", {
-- Check if node above soil node allows placement
if minetest.registered_items[minetest.get_node(placepos).name].buildable_to then
-- Place nether wart
minetest.sound_play({name="default_place_node", gain=1.0}, {pos=placepos})
minetest.sound_play({name="default_place_node", gain=1.0}, {pos=placepos}, true)
minetest.set_node(placepos, {name="mcl_nether:nether_wart_0", param2 = 3})
if not minetest.settings:get_bool("creative_mode") then

View file

@ -59,7 +59,7 @@ local function coral_on_place(itemstack, placer, pointed_thing)
minetest.set_node(pos_under, node_under)
local def_node = minetest.registered_nodes[node_under.name]
if def_node.sounds then
minetest.sound_play(def_node.sounds.place, { gain = 0.5, pos = pos_under })
minetest.sound_play(def_node.sounds.place, { gain = 0.5, pos = pos_under }, true)
end
if not (minetest.settings:get_bool("creative_mode")) then
itemstack:take_item()

View file

@ -120,7 +120,7 @@ local function kelp_on_place(itemstack, placer, pointed_thing)
-- Place or grow kelp
local def_node = minetest.registered_items[node_under.name]
if def_node.sounds then
minetest.sound_play(def_node.sounds.place, { gain = 0.5, pos = pos_under })
minetest.sound_play(def_node.sounds.place, { gain = 0.5, pos = pos_under }, true)
end
minetest.set_node(pos_under, node_under)
if not (minetest.settings:get_bool("creative_mode")) then

View file

@ -67,7 +67,7 @@ local function seagrass_on_place(itemstack, placer, pointed_thing)
end
local def_node = minetest.registered_items[node_under.name]
if def_node.sounds then
minetest.sound_play(def_node.sounds.place, { gain = 0.5, pos = pos_under })
minetest.sound_play(def_node.sounds.place, { gain = 0.5, pos = pos_under }, true)
end
minetest.set_node(pos_under, node_under)
if not (minetest.settings:get_bool("creative_mode")) then

View file

@ -293,7 +293,7 @@ minetest.register_abm({
obj:set_look_horizontal(math.pi/2)
end
mcl_worlds.dimension_change(obj, mcl_worlds.pos_to_dimension(target))
minetest.sound_play("mcl_portals_teleport", {pos=target, gain=0.5, max_hear_distance = 16})
minetest.sound_play("mcl_portals_teleport", {pos=target, gain=0.5, max_hear_distance = 16}, true)
end
end
end
@ -404,7 +404,7 @@ minetest.override_item("mcl_end:ender_eye", {
end
minetest.sound_play(
"default_place_node_hard",
{pos = pointed_thing.under, gain = 0.5, max_hear_distance = 16})
{pos = pointed_thing.under, gain = 0.5, max_hear_distance = 16}, true)
if not minetest.settings:get_bool("creative_mode") then
itemstack:take_item() -- 1 use
end

View file

@ -447,7 +447,7 @@ minetest.register_abm({
obj:set_pos(target)
if obj:is_player() then
mcl_worlds.dimension_change(obj, mcl_worlds.pos_to_dimension(target))
minetest.sound_play("mcl_portals_teleport", {pos=target, gain=0.5, max_hear_distance = 16})
minetest.sound_play("mcl_portals_teleport", {pos=target, gain=0.5, max_hear_distance = 16}, true)
end
-- Enable teleportation cooloff for some seconds, to prevent back-and-forth teleportation

View file

@ -108,7 +108,7 @@ minetest.register_craftitem("mcl_potions:glass_bottle", {
itemstack:take_item()
end
end
minetest.sound_play("mcl_potions_bottle_fill", {pos=pointed_thing.under, gain=0.5, max_hear_range=16})
minetest.sound_play("mcl_potions_bottle_fill", {pos=pointed_thing.under, gain=0.5, max_hear_range=16}, true)
end
end
return itemstack
@ -188,7 +188,7 @@ minetest.register_craftitem("mcl_potions:potion_water", {
end
-- Increase water level of cauldron by 1
minetest.set_node(pointed_thing.under, {name=cauldron})
minetest.sound_play("mcl_potions_bottle_pour", {pos=pointed_thing.under, gain=0.5, max_hear_range=16})
minetest.sound_play("mcl_potions_bottle_pour", {pos=pointed_thing.under, gain=0.5, max_hear_range=16}, true)
if minetest.settings:get_bool("creative_mode") == true then
return itemstack
else
@ -234,7 +234,7 @@ minetest.register_craftitem("mcl_potions:potion_river_water", {
end
-- Increase water level of cauldron by 1
minetest.set_node(pointed_thing.under, {name=cauldron})
minetest.sound_play("mcl_potions_bottle_pour", {pos=pointed_thing.under, gain=0.5, max_hear_range=16})
minetest.sound_play("mcl_potions_bottle_pour", {pos=pointed_thing.under, gain=0.5, max_hear_range=16}, true)
if minetest.settings:get_bool("creative_mode") == true then
return itemstack
else

View file

@ -391,7 +391,7 @@ minetest.register_node("mcl_signs:wall_sign", {
text_entity:set_yaw(sign_info.yaw)
text_entity:get_luaentity()._signnodename = nodeitem:get_name()
minetest.sound_play({name="default_place_node_hard", gain=1.0}, {pos = place_pos})
minetest.sound_play({name="default_place_node_hard", gain=1.0}, {pos = place_pos}, true)
show_formspec(placer, place_pos)
return itemstack

View file

@ -182,14 +182,14 @@ local snowball_on_step = function(self, dtime)
-- Destroy when hitting a solid node
if self._lastpos.x~=nil then
if (def and def.walkable) or not def then
minetest.sound_play("mcl_throwing_snowball_impact_hard", { pos = self.object:get_pos(), max_hear_distance=16, gain=0.7 })
minetest.sound_play("mcl_throwing_snowball_impact_hard", { pos = self.object:get_pos(), max_hear_distance=16, gain=0.7 }, true)
self.object:remove()
return
end
end
if check_object_hit(self, pos, {snowball_vulnerable = 3}) then
minetest.sound_play("mcl_throwing_snowball_impact_soft", { pos = self.object:get_pos(), max_hear_distance=16, gain=0.7 })
minetest.sound_play("mcl_throwing_snowball_impact_soft", { pos = self.object:get_pos(), max_hear_distance=16, gain=0.7 }, true)
return
end
@ -243,7 +243,7 @@ local egg_on_step = function(self, dtime)
end
end
end
minetest.sound_play("mcl_throwing_egg_impact", { pos = self.object:get_pos(), max_hear_distance=10, gain=0.5 })
minetest.sound_play("mcl_throwing_egg_impact", { pos = self.object:get_pos(), max_hear_distance=10, gain=0.5 }, true)
self.object:remove()
return
end
@ -251,7 +251,7 @@ local egg_on_step = function(self, dtime)
-- Destroy when hitting a mob or player (no chick spawning)
if check_object_hit(self, pos) then
minetest.sound_play("mcl_throwing_egg_impact", { pos = self.object:get_pos(), max_hear_distance=10, gain=0.5 })
minetest.sound_play("mcl_throwing_egg_impact", { pos = self.object:get_pos(), max_hear_distance=10, gain=0.5 }, true)
return
end

View file

@ -4,7 +4,7 @@ local tnt_griefing = minetest.settings:get_bool("mcl_tnt_griefing", true)
local mod_death_messages = minetest.get_modpath("mcl_death_messages")
local function spawn_tnt(pos, entname)
minetest.sound_play("tnt_ignite", {pos = pos,gain = 1.0,max_hear_distance = 15,})
minetest.sound_play("tnt_ignite", {pos = pos,gain = 1.0,max_hear_distance = 15,}, true)
local tnt = minetest.add_entity(pos, entname)
tnt:set_armor_groups({immortal=1})
return tnt
@ -228,7 +228,7 @@ tnt.boom = function(pos, info)
if info.is_tnt == nil then
info.is_tnt = true
end
minetest.sound_play(sound, {pos = pos,gain = 1.0,max_hear_distance = 16,})
minetest.sound_play(sound, {pos = pos,gain = 1.0,max_hear_distance = 16,}, true)
local node = minetest.get_node(pos)
if minetest.get_item_group("water") == 1 or minetest.get_item_group("lava") == 1 then
-- Cancel the Explosion

View file

@ -217,7 +217,7 @@ local make_grass_path = function(itemstack, placer, pointed_thing)
local wear = math.ceil(65535 / uses)
itemstack:add_wear(wear)
end
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above})
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above}, true)
minetest.swap_node(pointed_thing.under, {name="mcl_core:grass_path"})
end
end
@ -251,7 +251,7 @@ if minetest.get_modpath("mcl_farming") then
local wear = math.ceil(65535 / uses)
itemstack:add_wear(wear)
end
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above})
minetest.sound_play({name="default_grass_footstep", gain=1}, {pos = above}, true)
local dir = vector.subtract(pointed_thing.under, pointed_thing.above)
local param2 = minetest.dir_to_facedir(dir)
minetest.swap_node(pointed_thing.under, {name="mcl_farming:pumpkin_face", param2 = param2})

View file

@ -127,7 +127,7 @@ mcl_torches.register_torch = function(substring, description, doc_items_longdesc
itemstack:set_name(itemstring)
if success and idef.sounds and idef.sounds.place then
minetest.sound_play(idef.sounds.place, {pos=under, gain=1})
minetest.sound_play(idef.sounds.place, {pos=under, gain=1}, true)
end
return itemstack
end,