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

@ -39,7 +39,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})
minetest.sound_play({name="drippingwater_drip"}, {pos = ownpos, gain = 0.5, max_hear_distance = 8}, true)
end
end,
})
@ -81,7 +81,7 @@ minetest.register_entity("drippingwater:drop_lava", {
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_lavadrip"}, {pos = ownpos, gain = 0.5, max_hear_distance = 8})
minetest.sound_play({name="drippingwater_lavadrip"}, {pos = ownpos, gain = 0.5, max_hear_distance = 8}, true)
end
end,
})

View file

@ -221,7 +221,7 @@ minetest.register_entity(":__builtin:falling_node", {
meta:from_table(self.meta)
end
if def.sounds and def.sounds.place and def.sounds.place.name then
minetest.sound_play(def.sounds.place, {pos = np})
minetest.sound_play(def.sounds.place, {pos = np}, true)
end
end
else
@ -258,7 +258,7 @@ minetest.register_entity(":__builtin:falling_node", {
def._mcl_after_falling(npos3, get_falling_depth(self))
end
if def.sounds and def.sounds.place and def.sounds.place.name then
minetest.sound_play(def.sounds.place, {pos = np})
minetest.sound_play(def.sounds.place, {pos = np}, true)
end
end
deal_falling_damage(self, dtime)

View file

@ -75,7 +75,7 @@ minetest.register_globalstep(function(dtime)
pos = pos,
max_hear_distance = 16,
gain = 1.0,
})
}, true)
check_pickup_achievements(object, player)
@ -129,7 +129,7 @@ minetest.register_globalstep(function(dtime)
pos = pos,
max_hear_distance = 16,
gain = 1.0,
})
}, true)
end
check_pickup_achievements(object, player)
object:get_luaentity()._removed = true
@ -545,7 +545,7 @@ minetest.register_entity(":__builtin:item", {
local dg = minetest.get_item_group(nn, "destroys_items")
if (def and (lg ~= 0 or fg ~= 0 or dg == 1)) then
if dg ~= 2 then
minetest.sound_play("builtin_item_lava", {pos = self.object:get_pos(), gain = 0.5})
minetest.sound_play("builtin_item_lava", {pos = self.object:get_pos(), gain = 0.5}, true)
end
self._removed = true
self.object:remove()

View file

@ -43,7 +43,7 @@ local function activate_tnt_minecart(self, timer)
"mcl_minecarts_minecart.png",
}})
self._blinktimer = tnt.BLINKTIMER
minetest.sound_play("tnt_ignite", {pos = self.object:get_pos(), gain = 1.0, max_hear_distance = 15})
minetest.sound_play("tnt_ignite", {pos = self.object:get_pos(), gain = 1.0, max_hear_distance = 15}, true)
end
local activate_normal_minecart = detach_driver

View file

@ -130,7 +130,7 @@ local mob_sound = function(self, soundname, is_opinion, fixed_pitch)
gain = 1.0,
max_hear_distance = self.sounds.distance,
pitch = pitch,
})
}, true)
self.opinion_sound_cooloff = 1
end
end
@ -2230,7 +2230,7 @@ local do_states = function(self, dtime)
pos = pos,
gain = 1.0,
max_hear_distance = self.sounds.distance or 32
})
}, true)
entity_physics(pos, entity_damage_radius)
effect(pos, 32, "tnt_smoke.png", nil, nil, node_break_radius, 1, 0)
@ -2683,12 +2683,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
})
}, true)
else
minetest.sound_play("default_punch", {
object = self.object, --hitter,
max_hear_distance = 5
})
}, true)
end
damage_effect(self, damage)
@ -3797,7 +3797,7 @@ function mobs:safe_boom(self, pos, radius)
pos = pos,
gain = 1.0,
max_hear_distance = self.sounds and self.sounds.distance or 32
})
}, true)
entity_physics(pos, radius)
effect(pos, 32, "tnt_smoke.png", radius * 3, radius * 5, radius, 1, 0)

View file

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

View file

@ -568,7 +568,7 @@ if c("totem") then
player:set_wielded_item(wield)
end
-- Effects
minetest.sound_play({name = "mcl_totems_totem", gain=1}, {pos=ppos, max_hear_distance=16})
minetest.sound_play({name = "mcl_totems_totem", gain=1}, {pos=ppos, max_hear_distance=16}, true)
-- Big totem overlay
if not hud_totem[player:get_player_name()] then

View file

@ -85,7 +85,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
if obj:get_luaentity() ~= nil then
if obj:get_luaentity().name ~= "mobs_mc:arrow_entity" and obj:get_luaentity().name ~= "__builtin:item" then
local damage = 3
minetest.sound_play("damage", {pos = pos})
minetest.sound_play("damage", {pos = pos}, true)
obj:punch(self.object, 1.0, {
full_punch_interval=1.0,
damage_groups={fleshy=damage},
@ -94,7 +94,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
end
else
local damage = 3
minetest.sound_play("damage", {pos = pos})
minetest.sound_play("damage", {pos = pos}, true)
obj:punch(self.object, 1.0, {
full_punch_interval=1.0,
damage_groups={fleshy=damage},
@ -106,7 +106,7 @@ THROWING_ARROW_ENTITY.on_step = function(self, dtime)
if self.lastpos.x~=nil then
if node.name ~= "air" then
minetest.sound_play("bowhit1", {pos = pos})
minetest.sound_play("bowhit1", {pos = pos}, true)
minetest.add_item(self.lastpos, 'mobs_mc:arrow')
self.object:remove()
end
@ -132,7 +132,7 @@ local throwing_shoot_arrow = function(itemstack, player)
obj:set_velocity({x=dir.x*22, y=dir.y*22, z=dir.z*22})
obj:set_acceleration({x=dir.x*-3, y=-10, z=dir.z*-3})
obj:set_yaw(player:get_look_yaw()+math.pi)
minetest.sound_play("throwing_sound", {pos=playerpos})
minetest.sound_play("throwing_sound", {pos=playerpos}, true)
if obj:get_luaentity().player == "" then
obj:get_luaentity().player = player
end
@ -266,7 +266,7 @@ if c("egg") then
pos = playerpos,
gain = 1.0,
max_hear_distance = 5,
})
}, true)
local obj = minetest.add_entity({
x = playerpos.x,

View file

@ -86,7 +86,7 @@ mobs:register_mob("mobs_mc:chicken", {
pos = pos,
gain = 1.0,
max_hear_distance = 16,
})
}, true)
end,
})

View file

@ -87,7 +87,7 @@ mooshroom_def.on_rightclick = function(self, clicker)
-- Use shears to get mushrooms and turn mooshroom into cow
if item:get_name() == mobs_mc.items.shears then
local pos = self.object:get_pos()
minetest.sound_play("shears", {pos = pos})
minetest.sound_play("shears", {pos = pos}, true)
if self.base_texture[1] == "mobs_mc_mooshroom_brown.png" then
minetest.add_item({x=pos.x, y=pos.y+1.4, z=pos.z}, mobs_mc.items.mushroom_brown .. " 5")

View file

@ -57,12 +57,12 @@ mobs:register_mob("mobs_mc:creeper", {
item:add_wear(1000)
-- Tool break sound
if item:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = clicker:get_pos(), gain = 0.5})
minetest.sound_play(wdef.sound.breaks, {pos = clicker:get_pos(), gain = 0.5}, true)
end
clicker:set_wielded_item(item)
end
self._forced_explosion_countdown_timer = self.explosion_timer
minetest.sound_play(self.sounds.attack, {pos = self.object:get_pos(), gain = 1, max_hear_distance = 16})
minetest.sound_play(self.sounds.attack, {pos = self.object:get_pos(), gain = 1, max_hear_distance = 16}, true)
end
end,
do_custom = function(self, dtime)

View file

@ -81,7 +81,7 @@ mobs:register_arrow("mobs_mc:dragon_fireball", {
end,
hit_mob = function(self, mob)
minetest.sound_play("tnt_explode", {pos = mob:get_pos(), gain = 1.5, max_hear_distance = 2*64})
minetest.sound_play("tnt_explode", {pos = mob:get_pos(), gain = 1.5, max_hear_distance = 2*64}, true)
mob:punch(self.object, 1.0, {
full_punch_interval = 0.5,
damage_groups = {fleshy = 12},

View file

@ -255,7 +255,7 @@ mobs:register_mob("mobs_mc:enderman", {
self.animation = select_enderman_animation("block")
mobs:set_animation(self, self.animation.current)
if def.sounds and def.sounds.dug then
minetest.sound_play(def.sounds.dug, {pos = take_pos, max_hear_distance = 16})
minetest.sound_play(def.sounds.dug, {pos = take_pos, max_hear_distance = 16}, true)
end
end
end
@ -276,7 +276,7 @@ mobs:register_mob("mobs_mc:enderman", {
self.animation = select_enderman_animation("normal")
mobs:set_animation(self, self.animation.current)
if def.sounds and def.sounds.place then
minetest.sound_play(def.sounds.place, {pos = place_pos, max_hear_distance = 16})
minetest.sound_play(def.sounds.place, {pos = place_pos, max_hear_distance = 16}, true)
end
self._taken_node = ""
end

View file

@ -245,7 +245,7 @@ local horse = {
local tex = horse_extra_texture(self)
self.base_texture = tex
self.object:set_properties({textures = self.base_texture})
minetest.sound_play({name = "mcl_armor_equip_leather"}, {gain=0.5, max_hear_distance=12, pos=self.object:get_pos()})
minetest.sound_play({name = "mcl_armor_equip_leather"}, {gain=0.5, max_hear_distance=12, pos=self.object:get_pos()}, true)
-- Put on horse armor if tamed
elseif can_equip_horse_armor(self.name) and not self.driver and not self._horse_armor
@ -277,7 +277,7 @@ local horse = {
self.object:set_properties({textures = self.base_texture})
local def = w:get_definition()
if def.sounds and def.sounds._mcl_armor_equip then
minetest.sound_play({name = def.sounds._mcl_armor_equip}, {gain=0.5, max_hear_distance=12, pos=self.object:get_pos()})
minetest.sound_play({name = def.sounds._mcl_armor_equip}, {gain=0.5, max_hear_distance=12, pos=self.object:get_pos()}, true)
end
-- Mount horse

View file

@ -125,7 +125,7 @@ mobs:register_mob("mobs_mc:pig", {
stack:take_item()
inv:set_stack("main", clicker:get_wield_index(), stack)
end
minetest.sound_play({name = "mcl_armor_equip_leather"}, {gain=0.5, max_hear_distance=8, pos=self.object:get_pos()})
minetest.sound_play({name = "mcl_armor_equip_leather"}, {gain=0.5, max_hear_distance=8, pos=self.object:get_pos()}, true)
return
end
@ -149,7 +149,7 @@ mobs:register_mob("mobs_mc:pig", {
-- Break carrot on a stick
local def = wielditem:get_definition()
if def.sounds and def.sounds.breaks then
minetest.sound_play(def.sounds.breaks, {pos = clicker:get_pos(), max_hear_distance = 8, gain = 0.5})
minetest.sound_play(def.sounds.breaks, {pos = clicker:get_pos(), max_hear_distance = 8, gain = 0.5}, true)
end
wielditem = {name = mobs_mc.items.fishing_rod, count = 1}
else

View file

@ -155,7 +155,7 @@ mobs:register_mob("mobs_mc:sheep", {
if item:get_name() == mobs_mc.items.shears and not self.gotten and not self.child then
self.gotten = true
local pos = self.object:get_pos()
minetest.sound_play("shears", {pos = pos})
minetest.sound_play("shears", {pos = pos}, true)
pos.y = pos.y + 0.5
if not self.color then
self.color = "unicolor_white"

View file

@ -115,7 +115,7 @@ mobs:register_mob("mobs_mc:snowman", {
})
local pos = self.object:get_pos()
minetest.sound_play("shears", {pos = pos})
minetest.sound_play("shears", {pos = pos}, true)
-- Wear out
if not minetest.settings:get_bool("creative_mode") then

View file

@ -518,7 +518,7 @@ local function show_trade_formspec(playername, trader, tradenum)
.."listring[current_player;main]"
.."listring["..tradeinv..";input]"
.."listring[current_player;main]"
minetest.sound_play("mobs_mc_villager_trade", {to_player = playername})
minetest.sound_play("mobs_mc_villager_trade", {to_player = playername}, true)
minetest.show_formspec(playername, tradeinv_name, formspec)
end
@ -580,13 +580,13 @@ local update_offer = function(inv, player, sound)
(trade.locked == false)) then
inv:set_stack("output", 1, inv:get_stack("offered", 1))
if sound then
minetest.sound_play("mobs_mc_villager_accept", {to_player = name})
minetest.sound_play("mobs_mc_villager_accept", {to_player = name}, true)
end
return true
else
inv:set_stack("output", 1, ItemStack(""))
if sound then
minetest.sound_play("mobs_mc_villager_deny", {to_player = name})
minetest.sound_play("mobs_mc_villager_deny", {to_player = name}, true)
end
return false
end
@ -775,7 +775,7 @@ local trade_inventory = {
if not wanted2:is_empty() then
inv:remove_item("input", inv:get_stack("wanted", 2))
end
minetest.sound_play("mobs_mc_villager_accept", {to_player = player:get_player_name()})
minetest.sound_play("mobs_mc_villager_accept", {to_player = player:get_player_name()}, true)
end
update_offer(inv, player, true)
end,
@ -881,9 +881,9 @@ local trade_inventory = {
update_offer(inv, player, false)
end
if accept then
minetest.sound_play("mobs_mc_villager_accept", {to_player = name})
minetest.sound_play("mobs_mc_villager_accept", {to_player = name}, true)
else
minetest.sound_play("mobs_mc_villager_deny", {to_player = name})
minetest.sound_play("mobs_mc_villager_deny", {to_player = name}, true)
end
end,
}