Mojira Archive
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.
  • 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)