diff options
author | Auke Kok <sofar@foo-projects.org> | 2016-01-22 21:52:50 -0800 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-11-18 06:15:08 +0000 |
commit | 4a0a6723afc5c5a14acd7cd833aea33cb53ac618 (patch) | |
tree | 36f5d490bb58c8c78de6b2cff199f17d95b0eab9 | |
parent | afc48c802a81b95b11aef3ad0141a56f6a184979 (diff) | |
download | minetest-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.lua | 3 | ||||
-rw-r--r-- | doc/lua_api.txt | 1 |
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>]], }, |