Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-180966

Parity: 1.21.0-1.21.40 sound events do not match Java Edition

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 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.20.21 Preview, 1.21.10.21 Preview, 1.21.0.23 Preview, 1.21.0.25 Preview, 1.21.0.24 Preview, 1.21.0.26 Preview, 1.21.10.22 Preview, 1.21.10.24 Preview, 1.21.10.23 Preview, 1.21.0, 1.21.1 Hotfix, 1.21.30.21 Preview, 1.21.3 Hotfix (PS4), 1.21.2 Hotfix, 1.21.20, 1.21.30.23 Preview, 1.21.21 Hotfix, 1.21.30.25 Preview, 1.21.22 Hotfix, 1.21.30
    • Community Consensus
    • Multiple
    • 1231626

      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-180023 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)
        • The mob.breeze.idle_air sound never plays (ambient.in.air 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)

            AgentMindStorm2 AgentMindStorm2
            Votes:
            26 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              CHK: