mirror of
				https://github.com/mt-mods/xcompat.git
				synced 2025-11-04 02:05:27 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Sound API
 | 
						|
 | 
						|
This mod is a wrapper for [sound api library](https://github.com/mt-mods/sound_api_core/).
 | 
						|
 | 
						|
## Usage of the sound api
 | 
						|
 | 
						|
### Option 1: embed
 | 
						|
 | 
						|
You can insert the [sound api library](https://github.com/mt-mods/sound_api_core/) directly into your mod as a submodule and use the following to load it.
 | 
						|
 | 
						|
```lua
 | 
						|
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.
 | 
						|
 | 
						|
```lua
 | 
						|
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
 | 
						|
 | 
						|
```lua
 | 
						|
minetest.register_node(nodename, {
 | 
						|
    ...
 | 
						|
    sounds = sound_api.node_sound_stone_defaults(input)
 | 
						|
    ...
 | 
						|
})
 | 
						|
```
 | 
						|
 | 
						|
* input: optional table to override some or all of returned values
 | 
						|
 |