mojira.dev
MCPE-180966

1.21.0-1.21.40 sound events do not match Java Edition

Many of the new sound events in 1.21 do not match their Java Edition counterparts. This is a departure from the precedent set in 1.20.40 and 1.20.50, where all new sound events used the correct names and definitions that aligned with Java Edition. This affects commands such as those used in Marketplace maps. Controlled by sound_definitions.json.

In addition, some sound events have different pitches or volumes used for their sounds. This causes them to sound different when played in-game AND with commands. Controlled by sound_definitions.json.

Finally, some sound events are implemented differently than Java Edition. They sound the same when played with commands, but different in-game. Controlled by sounds.json and sound_definitions.json combined, or by the entity's entity.json file in case of the Breeze.

See table below. Note the [MISSING] does not mean the sound is silent in-game; it means there is no corresponding sound event in Bedrock Edition. Thus, these sounds cannot be controlled separately in Bedrock, unlike Java.

This report covers sounds from 1.21.0-1.21.40. For 1.21.50 sound events, see MCPE-187380.

Java Sound Event

Bedrock Sound Event

Name Matches

Sound Definition Matches

Implementation Matches

block.crafter.craft

crafter.craft

❌

❌

❌

block.crafter.fail

crafter.fail

❌

❌

❌

ui.button.click

crafter.disable_slot

❌

✅

✅

block.copper_bulb.turn_on

block.copper_bulb.turn_on

✅

✅

✅

block.copper_bulb.turn_off

block.copper_bulb.turn_off

✅

✅

✅

block.copper_bulb.break

break.copper_bulb

❌

✅

✅

block.copper_bulb.fall

fall.copper_bulb

❌

✅

❌

block.copper_bulb.hit

hit.copper_bulb

❌

✅

❌

block.copper_bulb.place

place.copper_bulb

❌

✅

✅

block.copper_bulb.step

step.copper_bulb

❌

✅

❌

block.tuff_bricks.break

[MISSING]

❌

❌

❌

block.tuff_bricks.fall

[MISSING]

❌

❌

❌

block.tuff_bricks.hit

[MISSING]

❌

❌

❌

block.tuff_bricks.place

place.tuff_bricks

❌

✅

✅

block.tuff_bricks.step

step.tuff_bricks

❌

✅

❌

block.copper_grate.break

break.copper_grate

❌

✅

✅

block.copper_grate.fall

[MISSING]

❌

❌

❌

block.copper_grate.hit

[MISSING]

❌

❌

❌

block.copper_grate.place

[MISSING]

❌

❌

❌

block.copper_grate.step

step.copper_grate

❌

✅

❌

block.copper_door.close

close_door.copper

❌

✅

❌

block.copper_door.open

open_door.copper

❌

❌

❌

block.copper_trapdoor.close

[MISSING]

❌

❌

❌

block.copper_trapdoor.open

open_trapdoor.copper

❌

✅

❌

block.heavy_core.break

break.heavy_core

❌

✅

❌

block.heavy_core.fall

[MISSING]

❌

❌

❌

block.heavy_core.hit

[MISSING]

❌

❌

❌

block.heavy_core.place

[MISSING]

❌

❌

❌

block.heavy_core.step

step.heavy_core

❌

✅

❌

block.trial_spawner.open_shutter

trial_spawner.open_shutter

❌

✅

✅

block.trial_spawner.eject_item

trial_spawner.eject_item

❌

✅

✅

block.trial_spawner.ambient

trial_spawner.ambient

❌

✅

✅

block.trial_spawner.ambient_ominous

trial_spawner.ambient_ominous

❌

✅

✅

block.trial_spawner.about_to_spawn_item

ominous_item_spawner.about_to_spawn_item

❌

✅

❌

block.trial_spawner.break

trial_spawner.break

❌

❌

✅

block.trial_spawner.ominous_activate

trial_spawner.charge_activate

❌

✅

❌

block.trial_spawner.close_shutter

trial_spawner.close_shutter

❌

✅

✅

block.trial_spawner.detect_player

trial_spawner.detect_player

❌

❌

❌

block.trial_spawner.fall

[MISSING]

❌

❌

❌

block.trial_spawner.hit

trial_spawner.hit

❌

✅

❌

block.trial_spawner.place

trial_spawner.place

❌

✅

✅

block.trial_spawner.spawn_item

ominous_item_spawner.spawn_item

❌

✅

❌

block.trial_spawner.spawn_item_begin

ominous_item_spawner.spawn_item_begin

❌

✅

❌

block.trial_spawner.spawn_mob

trial_spawner.spawn_mob

❌

✅

✅

block.trial_spawner.step

trial_spawner.step

❌

✅

❌

block.cobweb.break

break.web

❌

✅

❌

block.cobweb.fall

[MISSING]

❌

❌

❌

block.cobweb.hit

[MISSING]

❌

❌

❌

block.cobweb.place

[MISSING]

❌

❌

❌

block.cobweb.step

step.web

❌

✅

❌

block.vault.activate

vault.activate

❌

❌

❌

block.vault.ambient

vault.ambient

❌

✅

✅

block.vault.break

vault.break

❌

✅

✅

block.vault.close_shutter

vault.close_shutter

❌

✅

✅

block.vault.deactivate

vault.deactivate

❌

✅

✅

block.vault.eject_item

vault.eject_item

❌

✅

❌

block.vault.fall

[MISSING]

❌

❌

❌

block.vault.hit

vault.hit

❌

✅

❌

block.vault.insert_item

vault.insert_item

❌

✅

❌

block.vault.insert_item_fail

vault.insert_item_fail

❌

✅

❌

block.vault.open_shutter

vault.open_shutter

❌

✅

✅

block.vault.place

vault.place

❌

✅

✅

block.vault.reject_rewarded_player

vault.reject_rewarded_player

❌

✅

✅

block.vault.step

vault.step

❌

✅

❌

block.polished_tuff.break

[MISSING]

❌

❌

❌

block.polished_tuff.fall

[MISSING]

❌

❌

❌

block.polished_tuff.hit

[MISSING]

❌

❌

❌

block.polished_tuff.place

[MISSING]

❌

❌

❌

block.polished_tuff.step

[MISSING]

❌

❌

❌

block.piston.contract

tile.piston.in

❌

❌

❌

block.piston.extend

tile.piston.out

❌

❌

❌

block.spawner.break

block.mob_spawner.break

❌

✅

✅

[MISSING FALL SOUND] 

[MISSING]

❌

❌

❌

block.spawner.hit

[MISSING]

❌

❌

❌

block.spawner.place

[MISSING]

❌

❌

❌

block.spawner.step

block.mob_spawner.step

❌

✅

❌

item.bundle.drop_contents

bundle.drop_contents

❌

✅

❌

item.bundle.insert

bundle.insert

❌

✅

❌

item.bundle.insert_fail

bundle.insert_fail

❌

✅

✅

item.bundle.remove_one

bundle.remove_one

❌

✅

❌

item.mace.smash_air

mace.smash_air

❌

✅

✅

item.mace.smash_ground

mace.smash_ground

❌

❌

❌

item.mace.smash_ground_heavy

mace.heavy_smash_ground

❌

❌

❌

entity.bogged.ambient

mob.bogged.ambient

❌

✅

✅

entity.bogged.death

mob.bogged.death

❌

✅

✅

entity.bogged.hurt

mob.bogged.hurt

❌

✅

✅

entity.bogged.shear

[MISSING]

❌

❌

❌

entity.bogged.step

mob.bogged.step

❌

✅

✅

entity.breeze.charge

mob.breeze.charge

❌

✅

✅

entity.breeze.death

mob.breeze.death

❌

✅

❌

entity.breeze.deflect

mob.breeze.deflect

❌

✅

✅

entity.breeze.hurt

mob.breeze.hurt

❌

✅

❌

entity.breeze.idle_air

mob.breeze.idle_air

❌

✅

❌ (MCPE-180023)

entity.breeze.idle_ground

mob.breeze.idle_ground

❌

✅

❌ (MCPE-180023)

entity.breeze.inhale

mob.breeze.inhale

❌

✅

✅

entity.breeze.jump

mob.breeze.jump

❌

✅

✅

entity.breeze.land

mob.breeze.land

❌

✅

✅

entity.breeze.shoot

mob.breeze.shoot

❌

❌

❌

entity.breeze.slide

mob.breeze.slide

❌

✅

✅

entity.breeze.whirl

mob.breeze.whirl

❌

❌

❌ (MCPE-180029)

entity.breeze.wind_burst

breeze_wind_charge.burst

❌

❌

❌

entity.parrot.imitate.bogged

[MISSING]

❌

❌

❌

entity.parrot.imitate.breeze

[MISSING]

❌

❌

❌

entity.wind_charge.throw

[MISSING]

❌

❌

❌

entity.wind_charge.wind_burst

wind_charge.burst

❌

❌

❌

event.mob_effect.bad_omen

apply_effect.bad_omen

❌

✅

✅

event.mob_effect.raid_omen

apply_effect.raid_omen

❌

✅

✅

event.mob_effect.trial_omen

apply_effect.trial_omen

❌

✅

✅

music_disc.creator

record.creator

❌

❌ (MCPE-169933{}, MCPE-155444)

❌

music_disc.creator_music_box

record.creator_music_box

❌

❌ (MCPE-169933{}, MCPE-155444)

❌

music_disc.precipice

record.precipice

❌

❌ (MCPE-169933{}, MCPE-155444)

❌

music.game

music.game

✅

❌ (MCPE-155444)

❌

music.creative

music.game.creative

❌

❌ (MCPE-123339, MCPE-155444)

❌

music.menu

music.menu

✅

❌ (MCPE-155444)

❌

music.overworld.badlands

music.overworld.mesa

❌

✅

✅

music.overworld.cherry_grove

music.overworld.cherry_grove

✅

✅

✅

music.overworld.deep_dark

music.overworld.deep_dark

✅

✅

✅

music.overworld.dripstone_caves

music.overworld.dripstone_caves

✅

✅

✅

music.overworld.flower_forest

music.overworld.flower_forest

✅

✅

✅

music.overworld.grove

music.overworld.grove

✅

✅

✅

music.overworld.jagged_peaks

music.overworld.jagged_peaks

✅

✅

✅

music.overworld.sparse_jungle

music.overworld.jungle_edge

❌

✅

✅

music.overworld.lush_caves

music.overworld.lush_caves

✅

✅ (MCPE-182278{})

✅

music.overworld.snowy_slopes

music.overworld.snowy_slopes

✅

✅

✅

music.overworld.stony_peaks

music.overworld.stony_peaks

✅

✅

✅

Additional Notes:

  • As stated above, [MISSING] does not mean the sound is silent in-game; it means there is no corresponding sound event in Bedrock Edition. Thus, these sounds cannot be controlled separately in Bedrock, unlike Java.

  • Breeze sounds have multiple issues due to their implementation through breeze.entity.json. See MCPE-187791 for details on the idle sound and MCPE-180029 for the whirl sound. Other sounds, such as hurt and death, are configured incorrectly in sounds.json.

    • The mob.breeze.charge sound is duplicated in sounds.json and breeze.entity.json. (charge is not a valid sound call in sounds.json)

  • 1.21 block sound implementations are incorrect across the board. Java Edition uses consistent break, fall, hit, place, and step configurations when calling any block sound, matching this table (from the "stone" page on Minecraft Wiki). These pitches and volumes apply to all block types except metal, anvil, and turtle_egg:

    • This issue is not new to 1.21, but that is outside the scope of this report. All block sound sets added from 1.16 onward are affected.

    • [media]
  • Block sounds do not follow any consistent convention, as seen in the table:

    • Trial Spawner/Vault: [block_name].[action] — Break, Fall, Hit, Place, Step + Unique sounds

    • Copper Bulb: [action].[block_name] — Break, Fall, Hit, Place, Step

    • Copper Bulb: block.[block_name].[action] — Turn Off Turn On

    • Tuff Bricks: [action].[block_name] — Place, Step only

    • Heavy Core, Copper Grate: [action.block_name] — Break, Step only

    • Java Edition always follows block.[block_name].[action] — Break, Fall, Hit, Place, Step + Unique sounds

  • The issues with Wind Charge and Breeze Wind Burst sounds are detailed here: https://bugs.mojang.com/browse/MCPE-180027

  • Although music plays more often on Bedrock Edition than Java Edition, that was not considered for if a music event implementation matches Java Edition. The only qualifications for a music event being implemented correctly are:

    • Song list matches

    • Volume matches

  • Crafter sound events both remain incorrect in 1.21.20.21. The randomization between pitches 0.96, 1.0, and 1.04 should happen in the sound event; the event call in sounds.json should still use pitch and volume 1.0.

  • The Copper Door open sound event is more incorrect in 1.21.20.21 than previously. There should be entries of toggle2 and toggle3 with pitch 1.0 and pitch 1.1, copied from Java Edition.

  • Many block sound pitches and volumes are still incorrect in 1.21.20.21, in particular:

    • Hit sounds should use a 0.25 volume

    • item.use.on should use the place sound, not the step sound (since it is used for placing a second slab on a block)

    • The 1.2 pitch-up on polished tuff should be handled in sound events, not event calls in sounds.json

    • Normal tuff and tuff bricks have multiple incorrect volumes

    • Trial Spawner and Vault are missing item.use.on

    • Copper still has randomly varied pitches on breaking and placing sounds

    • Step and fall sounds are completely wrong in pitch and volume across the board

    • Heavy core and cobweb sounds were missed entirely

    • Copper door open event call varies from [1.0,1.1] instead of [0.9,1.0]

    • Copper door close, as well as both copper trapdoor sounds, are missing the [0.9,1.0] pitch variance

  • Bundle sounds (excluding insert_fail) need to randomly vary in pitch in sounds.json between to match Java Edition

  • Mob spawner sounds are in the wrong folder (mob_spawner instead of spawner)

Linked issues

Attachments

Comments 1

AgentMindStorm2

(Unassigned)

1231626

Community Consensus

Multiple

Windows 10

sound, vanilla-parity

1.21.60.21 Preview, 1.21.50.22 Preview, 1.21.40.25 Preview, 1.21.40.21 Preview, 1.21.20.24 Preview, , 1.21.21 Hotfix, 1.21.30.25 Preview, 1.21.22 Hotfix, 1.21.30, 1.21.50

Retrieved