Skip to content

Custom Block Sounds

Resource-pack-driven block sound overrides: break, fall, hit, place, step and ambient (idle) sounds per blockstate, with volume, pitch, chance and condition settings in blockmap.json.

Fabric
Loaders
Fabric
Downloads on Modrinth
1K
Followers on Modrinth
0
versions
2
Updated
October 16, 2026Oct 16
Published
in 2026

At a glance

Runs on Fabric
For Minecraft 1.21–1.21.11, 26.2–26.3
Client only — no need to install it on the server
Latest version — 1.0.1+26 from October 16, 2026
Requires Fabric API
License MIT — free
Where it's needed
In gamerequiredOn servernot needed

Install in the game only; not needed on the server

Game versions1.21–1.21.11, 26.2–26.3

Custom Block Sounds

Let resource packs redefine block sounds - no coding, no datapacks, just one JSON file.

Custom Block Sounds is a lightweight client-side Fabric mod that lets resource pack authors override the interaction sounds of any block - even of a single blockstate - and add ambient (idle) sounds to blocks that never had them.

Features

  • Override break / fall / hit / place / step sounds per block or per blockstate
  • Add idle (ambient) sounds to any block - with chance, cooldown, day/night, weather, open-sky, air-above and cluster conditions
  • Use vanilla sounds or custom sounds shipped in the same resource pack
  • Per-sound volume and pitch control
  • Other players' and mobs' footsteps, block placement and fall sounds are replaced too - server-sent sounds are matched against the block at their position
  • Multiple resource packs merge naturally - the pack higher in the list wins
  • Invalid entries never crash the game - they are skipped with a clear warning in the log

Works on Minecraft 1.21 - 1.21.11 with one jar and on Minecraft 26.2 - 26.3 with a second one (the +26 file). Requires Fabric API. Fully client-side - safe to join any server.


Setting up your resource pack

Create one file in your resource pack:

assets/customblocksounds/config/blockmap.json

Each line is one rule: the key is a block (optionally with blockstate properties), the value is a list of parameters. Duplicate keys are allowed - write one line per sound type.

{
    "minecraft:brown_mushroom_block[down=false,east=false,north=false,south=false,up=false,west=true]": "sound=minecraft:block.sand.break,type=break,volume=1.0,pitch=0.8",
    "minecraft:brown_mushroom_block[down=false,east=false,north=false,south=false,up=false,west=true]": "sound=minecraft:block.sand.step,type=step",
    "minecraft:stone": "sound=mypack:custom_stone_step,type=step"
}
  • Blockstate properties in [...] are optional and may be partial - a rule matches every state that has the listed values. A more specific rule (more properties) wins.
  • sound= accepts any vanilla sound event (e.g. minecraft:block.sand.break - full list in vanilla sounds.json) or a sound declared in your own pack's `assets//sounds.json (declare it in sounds.jsonas usual and put the.ogg` next to it).

Tip: press F3+T after editing blockmap.json - the config reloads without restarting the game.

Parameters

ParameterDescription
typewhich sound to replace: break, fall, hit, place, step (alias walk), idle (alias ambient)
soundsound event id; optional for non-idle types (omit it to keep the vanilla sound and only change volume/pitch)
volume0-16, default 1.0
pitch0-16, default 1.0

Idle (ambient) sounds

type=idle gives a block a looping ambience, like desert sand in vanilla 1.21.5+. Extra parameters:

ParameterDescriptionDefault
idle_chancechance to play when the scanner hits the block, 0-10.002
idle_cooldownminimum seconds between plays of this rule0
idle_pitch_min / idle_pitch_maxrandom pitch range0.9-1.1
idle_categoryvolume slider used: blocks, ambient, weather, players, music...blocks
idle_air_abovetrue = only when the block above is airoff
idle_skytrue = only under open skyoff
idle_clusteronly when N same blocks are nearby (±8 horizontally, ±2 vertically)off
idle_timeday or nightany
idle_weatherrain or clearany

Example - sand-like desert ambience:

"minecraft:brown_mushroom_block[down=true,east=true,north=true,south=true,up=true,west=false]": "sound=minecraft:block.sand.idle,type=idle,idle_chance=1.0,idle_cooldown=5,idle_air_above=true,idle_sky=true,idle_cluster=3,idle_time=day,idle_weather=clear"

Global idle scanner settings

One reserved key per pack (the highest enabled pack wins):

"customblocksounds:ambient": "idle_samples=64,idle_radius=24,idle_max_per_second=4"
ParameterDescriptionDefaultMax
idle_samplespositions checked around the player per tick6700
idle_radiushorizontal scan radius (vertical = half)1632
idle_max_per_secondglobal cap on idle sounds per secondunlimited1000

A single block is found rarely with default settings - that's vanilla-like desert density, tuned for areas of blocks. For clearly audible single blocks raise idle_chance and idle_samples.

FAQ

How to install Custom Block Sounds?

Install Fabric for your Minecraft version, download Custom Block Sounds for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does Custom Block Sounds support?

Custom Block Sounds has builds for Minecraft 1.21–1.21.11, 26.2–26.3.

Is Custom Block Sounds needed on the server?

Client only — no need to install it on the server

License and source
MIT Licensefree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More