]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - builtin/game/item.lua
Translated using Weblate (Lithuanian)
[dragonfireclient.git] / builtin / game / item.lua
index d6c6469b34eb6a9c03dc8d71232795abd3c8f2e2..513c3a5e194f2296de98d7d9d5ef725e162bf350 100644 (file)
@@ -305,9 +305,6 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
                return itemstack, nil
        end
 
-       log("action", playername .. " places node "
-               .. def.name .. " at " .. core.pos_to_string(place_to))
-
        local oldnode = core.get_node(place_to)
        local newnode = {name = def.name, param1 = 0, param2 = param2 or 0}
 
@@ -333,7 +330,7 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
                                z = above.z - placer_pos.z
                        }
                        newnode.param2 = core.dir_to_facedir(dir)
-                       log("action", "facedir: " .. newnode.param2)
+                       log("info", "facedir: " .. newnode.param2)
                end
        end
 
@@ -364,9 +361,20 @@ function core.item_place_node(itemstack, placer, pointed_thing, param2,
                return itemstack, nil
        end
 
+       log("action", playername .. " places node "
+               .. def.name .. " at " .. core.pos_to_string(place_to))
+
        -- Add node and update
        core.add_node(place_to, newnode)
 
+       -- Play sound if it was done by a player
+       if playername ~= "" and def.sounds and def.sounds.place then
+               core.sound_play(def.sounds.place, {
+                       pos = place_to,
+                       exclude_player = playername,
+               }, true)
+       end
+
        local take_item = true
 
        -- Run callback
@@ -467,7 +475,10 @@ function core.do_item_eat(hp_change, replace_with_item, itemstack, user, pointed
                user:set_hp(user:get_hp() + hp_change)
 
                if def and def.sound and def.sound.eat then
-                       minetest.sound_play(def.sound.eat, { pos = user:get_pos(), max_hear_distance = 16 })
+                       core.sound_play(def.sound.eat, {
+                               pos = user:get_pos(),
+                               max_hear_distance = 16
+                       }, true)
                end
 
                if replace_with_item then
@@ -574,7 +585,10 @@ function core.node_dig(pos, node, digger)
                        if not core.settings:get_bool("creative_mode") then
                                wielded:add_wear(dp.wear)
                                if wielded:get_count() == 0 and wdef.sound and wdef.sound.breaks then
-                                       core.sound_play(wdef.sound.breaks, {pos = pos, gain = 0.5})
+                                       core.sound_play(wdef.sound.breaks, {
+                                               pos = pos,
+                                               gain = 0.5
+                                       }, true)
                                end
                        end
                end
@@ -606,6 +620,14 @@ function core.node_dig(pos, node, digger)
        -- Remove node and update
        core.remove_node(pos)
 
+       -- Play sound if it was done by a player
+       if diggername ~= "" and def and def.sounds and def.sounds.dug then
+               core.sound_play(def.sounds.dug, {
+                       pos = pos,
+                       exclude_player = diggername,
+               }, true)
+       end
+
        -- Run callback
        if def and def.after_dig_node then
                -- Copy pos and node because callback can modify them