Table of Contents

Class BlockSounds

Namespace
Vintagestory.API.Common
Assembly
VintagestoryAPI.dll

A set of sounds that are defined for a block. All fields use default or empty sounds if not set. Open in GitHub

[DocumentAsJson]
public class BlockSounds
Inheritance
BlockSounds

Examples

"sounds": {
	"place": "block/dirt",
	"break": "block/dirt",
	"hit": "block/dirt",
	"walk": "walk/grass"
},

Fields

Ambient (Optional) (Default: None)

Played in ambience for this block.

[DocumentAsJson("Optional", "None", false)]
public AssetLocation? Ambient

Field Value

AssetLocation

AmbientBlockCount (Optional) (Default: 10)

Amount of nearby ambient sound blocks in order to reach full ambient sound volume

[DocumentAsJson("Optional", "10", false)]
public float AmbientBlockCount

Field Value

float

AmbientMaxDistanceMerge (Optional) (Default: 3)

Adjacent ambient sound sources are merged to avoid playing too many sounds too loudly. This is the maximum distance a sound source can be from another to allow a merge.

[DocumentAsJson("Optional", "3", false)]
public float AmbientMaxDistanceMerge

Field Value

float

AmbientSoundType (Optional) (Default: Ambient)

The type of sound for this block's ambient sound.

[DocumentAsJson("Optional", "Ambient", false)]
public EnumSoundType AmbientSoundType

Field Value

EnumSoundType

Break (Optional) (Default: See game/soundconfig.json. Range defaults to 16.)

Played when this block is broken.

[DocumentAsJson("Optional", "See game/soundconfig.json. Range defaults to 16.", false)]
[JsonConverter(typeof(SoundAttributeConverter), new object[] { true, 16 })]
public virtual SoundAttributes Break { get; set; }

Field Value

SoundAttributes

ByTool (Optional) (Default: None)

Gets the sound that occurs when a specific tool hits a block. (Note for coders: if none specified in the JSON, this will be null from version 1.20.4 onwards)

[DocumentAsJson("Optional", "None", false)]
public virtual Dictionary<EnumTool, BlockSounds>? ByTool { get; set; }

Field Value

Dictionary<EnumTool, BlockSounds>

Hit (Optional) (Default: See game/soundconfig.json. Range defaults to 16.)

Played when this block is hit. Will be overridden by ByTool if an appropriate tool is set.

[DocumentAsJson("Optional", "See game/soundconfig.json. Range defaults to 16.", false)]
[JsonConverter(typeof(SoundAttributeConverter), new object[] { true, 16 })]
public virtual SoundAttributes Hit { get; set; }

Field Value

SoundAttributes

Inside (Optional) (Default: None. Range defaults to 12.)

Played when an entity moves inside this block. Primarily used for liquids and foliage.

[DocumentAsJson("Optional", "None. Range defaults to 12.", false)]
[JsonConverter(typeof(SoundAttributeConverter), new object[] { true, 12 })]
public virtual SoundAttributes Inside { get; set; }

Field Value

SoundAttributes

Place (Optional) (Default: See game/soundconfig.json. Range defaults to 16.)

Played when this block is placed.

[DocumentAsJson("Optional", "See game/soundconfig.json. Range defaults to 16.", false)]
[JsonConverter(typeof(SoundAttributeConverter), new object[] { true, 16 })]
public virtual SoundAttributes Place { get; set; }

Field Value

SoundAttributes

Walk (Optional) (Default: See game/soundconfig.json. Range defaults to 12.)

Played when an entity walks on this block.

[DocumentAsJson("Optional", "See game/soundconfig.json. Range defaults to 12.", false)]
[JsonConverter(typeof(SoundAttributeConverter), new object[] { true, 12 })]
public virtual SoundAttributes Walk { get; set; }

Field Value

SoundAttributes