df_trees = {} df_trees.node_sound_tree_soft_fungus_defaults = function(table) table = table or {} table.footstep = table.footstep or {name = "dfcaverns_fungus_footstep", gain = 0.3} default.node_sound_wood_defaults(table) return table end --grab a shorthand for the filepath of the mod local modpath = minetest.get_modpath(minetest.get_current_modname()) --load companion lua files dofile(modpath.."/config.lua") dofile(modpath.."/doc.lua") dofile(modpath.."/aliases.lua") local S, NS = dofile(modpath.."/intllib.lua") df_trees.register_all_stairs = function(name, override_def) local mod = "df_trees" local node_def = minetest.registered_nodes[mod..":"..name] override_def = override_def or {} -- Note that a circular table reference will result in a crash, TODO: guard against that. -- Unlikely to be needed, though - it'd take a lot of work for users to get into this bit of trouble. local function deep_copy(table_in) local table_out = {} for index, value in pairs(table_in) do if type(value) == "table" then table_out[index] = deep_copy(value) else table_out[index] = value end end return table_out end local node_copy = deep_copy(node_def) for index, value in pairs(override_def) do node_copy[index] = value end if minetest.get_modpath("stairs") then stairs.register_stair_and_slab( name, mod ..":" .. name, node_copy.groups, node_copy.tiles, S("@1 Stair", node_copy.description), S("@1 Slab", node_copy.description), node_copy.sounds ) end if minetest.get_modpath("moreblocks") then stairsplus:register_all(mod, name, mod..":"..name, node_copy) end end dofile(modpath.."/blood_thorn.lua") dofile(modpath.."/fungiwood.lua") dofile(modpath.."/tunnel_tube.lua") dofile(modpath.."/spore_tree.lua") dofile(modpath.."/black_cap.lua") dofile(modpath.."/nether_cap.lua") dofile(modpath.."/goblin_cap.lua") dofile(modpath.."/tower_cap.lua") dofile(modpath.."/torchspine.lua") dofile(modpath.."/spindlestem.lua")