xcompat/README.md

1.2 KiB

Sound API

This mod is a wrapper for sound api library.

Usage of the sound api

Option 1: embed

You can insert the sound api library directly into your mod as a submodule and use the following to load it.

local sound_api = dofile(modpath .. "/sound_api_core/init.lua")

additionally the author recommends that you use dependabot(github) or similar to help you keep the submodule up to date.

Option 2: Agnostically depend

You can do this by using a custom field in your node def instead of the sounds key.

minetest.register_node(nodename, {
    ...
    _sound_def = {
        key = "",
        input = {},
    },
    ...
})

where:

  • key: string name of the field from the sound api you want to use, for example node_sound_stone_defaults
  • input: table input of fields you want passed to the key field, used to override specific sounds.

Option 3: Hard depend

add this mod to your mod.confs depends and directly call the sound_api as follows

minetest.register_node(nodename, {
    ...
    sounds = sound_api.node_sound_stone_defaults(input)
    ...
})
  • input: optional table to override some or all of returned values