From 52dacbdebf30df084367671952564c555448bf14 Mon Sep 17 00:00:00 2001 From: BuckarooBanzay Date: Sun, 22 Aug 2021 18:36:28 +0200 Subject: [PATCH] use loop over table to map sound functions (partially applied suggestion from appgurueu) --- sounds.lua | 52 ++++++++++++---------------------------------------- 1 file changed, 12 insertions(+), 40 deletions(-) diff --git a/sounds.lua b/sounds.lua index 24e9902..5385d27 100644 --- a/sounds.lua +++ b/sounds.lua @@ -1,48 +1,20 @@ --[[ More Blocks: sound definitions -Copyright © 2011-2020 Hugo Locurcio and contributors. +Copyright © 2011-2021 Hugo Locurcio and contributors. Licensed under the zlib license. See LICENSE.md for more information. --]] -function moreblocks.node_sound_wood_defaults() - if minetest.get_modpath("default") then - -- default game - return default.node_sound_wood_defaults() - end -end - -function moreblocks.node_sound_glass_defaults() - if minetest.get_modpath("default") then - -- default game - return default.node_sound_glass_defaults() - end -end - -function moreblocks.node_sound_metal_defaults() - if minetest.get_modpath("default") then - -- default game - return default.node_sound_metal_defaults() - end -end - -function moreblocks.node_sound_stone_defaults() - if minetest.get_modpath("default") then - -- default game - return default.node_sound_stone_defaults() - end -end - -function moreblocks.node_sound_dirt_defaults() - if minetest.get_modpath("default") then - -- default game - return default.node_sound_dirt_defaults() - end -end - -function moreblocks.node_sound_leaves_defaults() - if minetest.get_modpath("default") then - -- default game - return default.node_sound_leaves_defaults() +local has_default_mod = minetest.get_modpath("default") +for _, sound in ipairs({"dirt", "wood", "stone", "metal", "glass", "leaves"}) do + -- use sound-function from default if available + -- otherwise fall back to a no-op function (no sounds) + local sound_function_name = "node_sound_" .. sound .. "_defaults" + if has_default_mod then + -- use default sounds + moreblocks[sound_function_name] = default[sound_function_name] + else + -- no-op + moreblocks[sound_function_name] = function() end end end