aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAuke Kok <sofar@foo-projects.org>2016-01-22 21:52:50 -0800
committerparamat <mat.gregory@virginmedia.com>2016-11-18 06:15:08 +0000
commit4a0a6723afc5c5a14acd7cd833aea33cb53ac618 (patch)
tree36f5d490bb58c8c78de6b2cff199f17d95b0eab9
parentafc48c802a81b95b11aef3ad0141a56f6a184979 (diff)
downloadminetest-4a0a6723afc5c5a14acd7cd833aea33cb53ac618.tar.gz
minetest-4a0a6723afc5c5a14acd7cd833aea33cb53ac618.tar.bz2
minetest-4a0a6723afc5c5a14acd7cd833aea33cb53ac618.zip
Builtin/../item: Enable tool breaking sounds
If a tool wears out and is destroyed, it's itemstack count goes to 0, and we can optionally play a breaking sound. This patch implements playing a breaking sound when this occurs. Sounds need to be added to the tool itemdef registration as the sound name string in the .sound.breaks member.
-rw-r--r--builtin/game/item.lua3
-rw-r--r--doc/lua_api.txt1
2 files changed, 4 insertions, 0 deletions
diff --git a/builtin/game/item.lua b/builtin/game/item.lua
index ec996292f..a2fdbc1f4 100644
--- a/builtin/game/item.lua
+++ b/builtin/game/item.lua
@@ -474,6 +474,9 @@ function core.node_dig(pos, node, digger)
-- Wear out tool
if not core.setting_getbool("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 = 1.0})
+ end
end
end
digger:set_wielded_item(wielded)
diff --git a/doc/lua_api.txt b/doc/lua_api.txt
index 2164bfc5e..84080502f 100644
--- a/doc/lua_api.txt
+++ b/doc/lua_api.txt
@@ -3606,6 +3606,7 @@ Definition tables
actual result to client in a short moment.
]]
sound = {
+ breaks = "default_tool_break", -- tools only
place = --[[<SimpleSoundSpec>]],
},