AgentMindStorm2
- AgentMindStorm2
- JIRAUSER769462
- Europe/Stockholm
- Yes
- No
These sound bugs are all caused by the same issue. They are missing the property "should_update_effects_offscreen": true in the "scripts" section of their entity.json file.
The Warden, Phantom, and Armadillo were fixed in 1.20.70.21. (
MCPE-159481,MCPE-133125) However, this issue affects all mobs which use "sound_effects" through the entity.json file, so the Sniffer, Camel, and Breeze need the property set to true as well.Expected Result
- Sniffers would continue to make sniffing sounds while behind the camera
- Camels will make stand-up and sit-down sounds while behind the camera
- Breeze inhale sounds will be audible when the breeze is behind the camera
Observed Result
- Sniffers do not audibly sniff when behind the camera
- Camels sit and stand silently behind the camera
- Breezes do not play inhale, charge, or movement sounds behind the camera
EDIT: Attached videos of sniffer and camel. Camel sit-down and stand-up sounds do not play with the animation; instead they are queued until the entity is on-screen again. Sniffers stop sniffing and queue the sounds when off-screen.
These sound bugs are all caused by the same issue. They are missing the property "should_update_effects_offscreen": true in the "scripts" section of their entity.json file.
The Warden, Phantom, and Armadillo were fixed in 1.20.70.21. (
MCPE-159481,MCPE-133125) However, this issue affects all mobs which use "sound_effects" through the entity.json file, so the Sniffer, Camel, and Breeze need the property set to true as well.Expected Result
- Sniffers would continue to make sniffing sounds while behind the camera
- Camels will make stand-up and sit-down sounds while behind the camera
- Breeze inhale sounds will be audible when the breeze is behind the camera
Observed Result
- Sniffers do not audibly sniff when behind the camera
- Camels sit and stand silently behind the camera
- Breezes do not play inhale, charge, or movement sounds behind the camera
EDIT: Attached videos of sniffer and camel. Camel sit-down and stand-up sounds do not play with the animation; instead they are queued until the entity is on-screen again. Sniffers stop sniffing and queue the sounds when off-screen.
These sound bugs are all caused by the same issue. They are missing the property "should_update_effects_offscreen": true in the "scripts" section of their entity.json file.
The Warden, Phantom, and Armadillo were fixed in 1.20.70.21. (
MCPE-159481,MCPE-133125) However, this issue affects all mobs which use "sound_effects" through the entity.json file, so the Sniffer, Camel, and Breeze need the property set to true as well.Expected Result
- Sniffers would continue to make sniffing sounds while behind the camera
- Camels will make stand-up and sit-down sounds while behind the camera
Breeze inhale sounds will be audible when the breeze is behind the cameraFixed in 1.21.0.20{}Observed Result
- Sniffers do not audibly sniff when behind the camera
- Camels sit and stand silently behind the camera
Breezes do not play inhale, charge, or movement sounds behind the cameraFixed in 1.21.0.20EDIT: Attached videos of sniffer and camel. Camel sit-down and stand-up sounds do not play with the animation; instead they are queued until the entity is on-screen again. Sniffers stop sniffing and queue the sounds when off-screen.
Sniffer,Camel, Breezesound effects do not play when off-screenSniffer and Camel sound effects do not play when off-screen
These sound bugs are all caused by the same issue. They are missing the property "should_update_effects_offscreen": true in the "scripts" section of their entity.json file.
The Warden, Phantom, and Armadillo were fixed in 1.20.70.21. (
MCPE-159481,MCPE-133125) However, this issue affects all mobs which use "sound_effects" through the entity.json file, so the Sniffer, Camel, and Breeze need the property set to true as well.Expected Result
- Sniffers would continue to make sniffing sounds while behind the camera
- Camels will make stand-up and sit-down sounds while behind the camera
Breeze inhale sounds will be audible when the breeze is behind the cameraFixed in 1.21.0.20{}Observed Result
- Sniffers do not audibly sniff when behind the camera
- Camels sit and stand silently behind the camera
Breezes do not play inhale, charge, or movement sounds behind the cameraFixed in 1.21.0.20EDIT: Attached videos of sniffer and camel. Camel sit-down and stand-up sounds do not play with the animation; instead they are queued until the entity is on-screen again. Sniffers stop sniffing and queue the sounds when off-screen.
These sound bugs are all caused by the same issue. They are missing the property "should_update_effects_offscreen": true in the "scripts" section of their entity.json file.
The Warden, Phantom, and Armadillo were fixed in 1.20.70.21. (
MCPE-159481,MCPE-133125). The Breeze was fixed in 1.21.0.20. However, this issue affects all mobs which use "sound_effects" through the entity.json file, so the Sniffer and Camel need the property set to true as well.Expected Result
- Sniffers would continue to make sniffing sounds while behind the camera
- Camels will make stand-up and sit-down sounds while behind the camera
Breeze inhale sounds will be audible when the breeze is behind the cameraFixed in 1.21.0.20Observed Result
- Sniffers do not audibly sniff when behind the camera
- Camels sit and stand silently behind the camera
Breezes do not play inhale, charge, or movement sounds behind the cameraFixed in 1.21.0.20EDIT: Attached videos of sniffer and camel. Camel sit-down and stand-up sounds do not play with the animation; instead they are queued until the entity is on-screen again. Sniffers stop sniffing and queue the sounds when off-screen.
This is more difficult to fix for the Breeze because its entity.json format_version is 1.8.0, while "should_update_effects_offscreen" is only valid in format_version 1.10.0. See
MCPE-180023for a fixed 1.10 version of breeze.entity.json.
Minecraft consistently crashes at 78% loaded on my Samsung Galaxy S21 when a specific resource pack is applied when it reloads resources while in a world (after going to the home screen and coming back).
The crash does NOT occur while reloading resources by going to the home screen in the main menu. The crash does NOT occur on the initial world load. The crash does NOT occur on my PC when using the exact same resource pack and alt+tabbing into the game. There is not an error in the resource pack causing this crash.
I was able to prevent this 78% crash by deleting the "particles" folder with 167 files. This bug may occur because particles are reloaded in-game, unlike animation and other entity files.
To Reproduce{}
1. Load Minecraft on a Samsung Galaxy S21.
2. Import and apply the CrashPack-WITH_PARTICLES attached to this report. Notice the game will NOT crash on initial application.
3. Press the Home button to return to the device home screen.
4. After a few seconds, open Minecraft again.
5. Notice game will NOT crash when reloading resources on the main menu.
6. Enter a world. Notice the game will NOT crash while loading resources.
7. Once the world is loaded, press the Home button to return to the device home screen.
8. After a few seconds, open Minecraft again.
9. Watch the loading bar. The game WILL crash upon reaching 78% loaded.
10. Reopen Minecraft and use the Storage menu to delete Java Aspects (which is the manifest name of the CrashPack).
11. Import and apply the CrashPack-NO_PARTICLES attached to this report. Repeat steps 3-9. Notice the game will NOT crash.
The only difference between the attached packs is the inclusion of 167 particle files, which work on desktop with no issue.
Minecraft consistently crashes at 78% loaded on my Samsung Galaxy S21 when a specific resource pack is applied when it reloads resources while in a world (after going to the home screen and coming back).
The crash does NOT occur while reloading resources by going to the home screen in the main menu. The crash does NOT occur on the initial world load. The crash does NOT occur on my PC when using the exact same resource pack and alt+tabbing into the game. There is not an error in the resource pack causing this crash.
I was able to prevent this 78% crash by deleting the "particles" folder with 167 files. This bug may occur because particles are reloaded in-game, unlike animation and other entity files.
The only difference between the attached CrashPacks is the inclusion of 167 particle files, which work on desktop with no issue.
To Reproduce
1. Load Minecraft on a Samsung Galaxy S21.
2. Import and apply the CrashPack-WITH_PARTICLES attached to this report. Notice the game will NOT crash on initial application.
3. Press the Home button to return to the device home screen.
4. After a few seconds, open Minecraft again.
5. Notice game will NOT crash when reloading resources on the main menu.
6. Enter a world. Notice the game will NOT crash while loading resources.
7. Once the world is loaded, press the Home button to return to the device home screen.
8. After a few seconds, open Minecraft again.
9. Watch the loading bar. The game WILL crash upon reaching 78% loaded.
10. Reopen Minecraft and use the Storage menu to delete Java Aspects (which is the manifest name of the CrashPack).
11. Import and apply the CrashPack-NO_PARTICLES attached to this report. Repeat steps 3-9. Notice the game will NOT crash.
Breeze idle sounds are played incorrectly on Bedrock Edition. The sounds do not respect the current idle state of the mob (on ground or not on ground). The idle_air sound can never play, while the idle_ground sound plays in any circumstance and too often.
Additionally, the idle_ground sounds played in breeze.entity.json have various issues which are detailed below.
Expected Result
This is how the Breeze ambient sounds work on Java Edition. It is consistent with other mobs that have multiple idle states, like Axolotls:
- Breeze waits 6-10 seconds to call its random ambient sound
- Once called, the Breeze status (on ground or not on ground) is evaluated
- The idle_ground sound is played if standing on solid blocks
- The idle_air sound is played otherwise, including when in water (easy to test)
- Both sounds vary in pitch from 0.8-1.2 and have a 16-block attenuation distance
Observed Result
This is how the Breeze ambient sounds work on Bedrock Edition:
- idle_air is never played because ambient.in.air in sounds.json is not a valid sound entry
- idle_ground is played in all situations, whether on ground or not, due to its inclusion in the ambient sound event in sounds.json
- In addition to the randomized ambient sound from sounds.json, idle_ground is played every 6 seconds consistently due to the idle_ground_sound animation in breeze.entity.json. This sound also plays without respect for if the Breeze is grounded or not.
- This sound plays without a varying pitch because entity.json sound_effects do not support varied pitches.
- This sound plays with an infinite attentuation distance because entity.json sound_effects do not enforce the 16-block default max_distance.
- This sound does not play when the player is looking away from the Breeze due to MCPE-178507. However, the should_update_effects_offscreen bool in scripts is not allowed in breeze.entity.json because it is using format_version 1.8.0 instead of 1.10.0.
- NOTE: All other entity.json sound_effects are also affected by these issues. That is outside the scope of this report.
To Fix
A fix resource pack has been attached. It makes the following changes:
- Both ambient and ambient.in.air have been silenced in sounds.json so they can be controlled based on the status of the entity in breeze.entity.json
- The idle_ground_sound animation controller in breeze.animation_controllers.json has been changed to manage both the idle_ground and idle_air sounds. It also introduces a random delay, bringing it in-line with the ambient sounds in sounds.json
- idle_ground and idle_air sounds have been given "effect" versions in sound_definitions.json to allow pitch variation and enforce the 16-block max_distance.
- breeze.entity.json has been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.
Breeze idle sounds are played incorrectly on Bedrock Edition. The sounds do not respect the current idle state of the mob (on ground or not on ground). The idle_air sound can never play, while the idle_ground sound plays in any circumstance and too often.
Additionally, the idle_ground sounds played in breeze.entity.json have various issues which are detailed below.
Expected Result
This is how the Breeze ambient sounds work on Java Edition. It is consistent with other mobs that have multiple idle states, like Axolotls:
- Breeze waits 6-10 seconds to call its random ambient sound
- Once called, the Breeze status (on ground or not on ground) is evaluated
- The idle_ground sound is played if standing on solid blocks
- The idle_air sound is played otherwise, including when in water (easy to test)
- Both sounds vary in pitch from 0.8-1.2
and have a 16-block attenuation distanceObserved Result
This is how the Breeze ambient sounds work on Bedrock Edition:
- idle_air is never played because ambient.in.air in sounds.json is not a valid sound entry
- idle_ground is played in all situations, whether on ground or not, due to its inclusion in the ambient sound event in sounds.json
- In addition to the randomized ambient sound from sounds.json, idle_ground is played every 6 seconds consistently due to the idle_ground_sound animation in breeze.entity.json. This sound also plays without respect for if the Breeze is grounded or not.
- This sound plays without a varying pitch because entity.json sound_effects do not support varied pitches.
- This sound plays with an infinite attentuation distance because entity.json sound_effects do not enforce the 16-block default max_distance.
- This sound does not play when the player is looking away from the Breeze due to MCPE-178507. However, the should_update_effects_offscreen bool in scripts is not allowed in breeze.entity.json because it is using format_version 1.8.0 instead of 1.10.0.
- NOTE: All other entity.json sound_effects are also affected by these issues. That is outside the scope of this report.
To Fix
A fix resource pack has been attached. It makes the following changes:
- Both ambient and ambient.in.air have been silenced in sounds.json so they can be controlled based on the status of the entity in breeze.entity.json
- The idle_ground_sound animation controller in breeze.animation_controllers.json has been changed to manage both the idle_ground and idle_air sounds. It also introduces a random delay, bringing it in-line with the ambient sounds in sounds.json
- idle_ground and idle_air sounds have been given "effect" versions in sound_definitions.json to allow pitch variation
and enforce the 16-block max_distance.- breeze.entity.json has been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.
Breeze idle sounds are played incorrectly on Bedrock Edition. The sounds do not respect the current idle state of the mob (on ground or not on ground). The idle_air sound can never play, while the idle_ground sound plays in any circumstance and too often.
Additionally, the idle_ground sounds played in breeze.entity.json have various issues which are detailed below.
Expected Result
This is how the Breeze ambient sounds work on Java Edition. It is consistent with other mobs that have multiple idle states, like Axolotls:
- Breeze waits 6-10 seconds to call its random ambient sound
- Once called, the Breeze status (on ground or not on ground) is evaluated
- The idle_ground sound is played if standing on solid blocks
- The idle_air sound is played otherwise, including when in water (easy to test)
- Both sounds vary in pitch from 0.8-1.2
Observed Result
This is how the Breeze ambient sounds work on Bedrock Edition:
- idle_air is never played because ambient.in.air in sounds.json is not a valid sound entry
- idle_ground is played in all situations, whether on ground or not, due to its inclusion in the ambient sound event in sounds.json
- In addition to the randomized ambient sound from sounds.json, idle_ground is played every 6 seconds consistently due to the idle_ground_sound animation in breeze.entity.json. This sound also plays without respect for if the Breeze is grounded or not.
- This sound plays without a varying pitch because entity.json sound_effects do not support varied pitches.
- This sound does not play when the player is looking away from the Breeze due to MCPE-178507. However, the should_update_effects_offscreen bool in scripts is not allowed in breeze.entity.json because it is using format_version 1.8.0 instead of 1.10.0.
- NOTE: All other entity.json sound_effects are also affected by these issues. That is outside the scope of this report.
To Fix
A fix resource pack has been attached. It makes the following changes:
- Both ambient and ambient.in.air have been silenced in sounds.json so they can be controlled based on the status of the entity in breeze.entity.json
- The idle_ground_sound animation controller in breeze.animation_controllers.json has been changed to manage both the idle_ground and idle_air sounds. It also introduces a random delay, bringing it in-line with the ambient sounds in sounds.json
- idle_ground and idle_air sounds have been given "effect" versions in sound_definitions.json to allow pitch variation.
- breeze.entity.json has been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.
Breeze idle sounds are played incorrectly on Bedrock Edition. The sounds do not respect the current idle state of the mob (on ground or not on ground). The idle_air sound can never play, while the idle_ground sound plays in any circumstance and too often.
Additionally, the idle_ground sounds played in breeze.entity.json have various issues which are detailed below.
Expected Result
This is how the Breeze ambient sounds work on Java Edition. It is consistent with other mobs that have multiple idle states, like Axolotls:
- Breeze waits 6-10 seconds to call its random ambient sound
- Once called, the Breeze status (on ground or not on ground) is evaluated
- The idle_ground sound is played if standing on solid blocks
- The idle_air sound is played otherwise, including when in water (easy to test)
- Both sounds vary in pitch from 0.8-1.2
Observed Result
This is how the Breeze ambient sounds work on Bedrock Edition:
- idle_air is never played because ambient.in.air in sounds.json is not a valid sound entry
- idle_ground is played in all situations, whether on ground or not, due to its inclusion in the ambient sound event in sounds.json
- In addition to the randomized ambient sound from sounds.json, idle_ground is played every 6 seconds consistently due to the idle_ground_sound animation in breeze.entity.json. This sound also plays without respect for if the Breeze is grounded or not.
- This sound plays without a varying pitch because entity.json sound_effects do not support varied pitches.
- This sound does not play when the player is looking away from the Breeze due to MCPE-178507. However, the should_update_effects_offscreen bool in scripts is not allowed in breeze.entity.json because it is using format_version 1.8.0 instead of 1.10.0.
- NOTE: All other entity.json sound_effects are also affected by these issues. That is outside the scope of this report.
To Fix
A fix resource pack has been attached. It makes the following changes:
- Both ambient and ambient.in.air have been silenced in sounds.json so they can be controlled based on the status of the entity in breeze.entity.json
- The idle_ground_sound animation controller in breeze.animation_controllers.json has been changed to manage both the idle_ground and idle_air sounds. It also introduces a random delay, bringing it in-line with the ambient sounds in sounds.json
- idle_ground and idle_air sounds have been given "effect" versions in sound_definitions.json to allow pitch variation.
- breeze.entity.json has been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.
Breeze idle sounds are played incorrectly on Bedrock Edition. The sounds do not respect the current idle state of the mob (on ground or not on ground). The idle_air sound can never play, while the idle_ground sound plays in any circumstance and too often.
Additionally, the idle_ground sounds played in breeze.entity.json have various issues which are detailed below.
Expected Result
This is how the Breeze ambient sounds work on Java Edition. It is consistent with other mobs that have multiple idle states, like Axolotls:
- Breeze waits 6-10 seconds to call its random ambient sound
- Once called, the Breeze status (on ground or not on ground) is evaluated
- The idle_ground sound is played if standing on solid blocks
- The idle_air sound is played otherwise, including when in water (easy to test)
- Both sounds vary in pitch from 0.8-1.2
Observed Result
This is how the Breeze ambient sounds work on Bedrock Edition:
- idle_air is never played because ambient.in.air in sounds.json is not a valid sound entry
- idle_ground is played in all situations, whether on ground or not, due to its inclusion in the ambient sound event in sounds.json
- In addition to the randomized ambient sound from sounds.json, idle_ground is played every 6 seconds consistently due to the idle_ground_sound animation in breeze.entity.json. This sound also plays without respect for if the Breeze is grounded or not.
- This sound plays without a varying pitch because entity.json sound_effects do not support varied pitches.
This sound does not play when the player is looking away from the Breeze due to MCPE-178507. However, the should_update_effects_offscreen bool in scripts is not allowed in breeze.entity.json because it is using format_version 1.8.0 instead of 1.10.0.Fixed in 1.21.0.20- NOTE: All other entity.json sound_effects are also affected by these issues. That is outside the scope of this report.
To Fix
A fix resource pack has been attached. It makes the following changes:
- Both ambient and ambient.in.air have been silenced in sounds.json so they can be controlled based on the status of the entity in breeze.entity.json
- The idle_ground_sound animation controller in breeze.animation_controllers.json has been changed to manage both the idle_ground and idle_air sounds. It also introduces a random delay, bringing it in-line with the ambient sounds in sounds.json
- idle_ground and idle_air sounds have been given "effect" versions in sound_definitions.json to allow pitch variation.
breeze.entity.json has been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.Fixed in 1.21.0.20{}
Breeze idle sounds are played incorrectly on Bedrock Edition. The sounds do not respect the current idle state of the mob (on ground or not on ground). The idle_air sound can never play, while the idle_ground sound plays in any circumstance and too often.
Additionally, the idle_ground sounds played in breeze.entity.json have various issues which are detailed below.
Expected Result
This is how the Breeze ambient sounds work on Java Edition. It is consistent with other mobs that have multiple idle states, like Axolotls:
- Breeze waits 6-10 seconds to call its random ambient sound
- Once called, the Breeze status (on ground or not on ground) is evaluated
- The idle_ground sound is played if standing on solid blocks
- The idle_air sound is played otherwise, including when in water (easy to test)
- Both sounds vary in pitch from 0.8-1.2
Observed Result
This is how the Breeze ambient sounds work on Bedrock Edition:
- idle_air is never played because ambient.in.air in sounds.json is not a valid sound entry
- idle_ground is played in all situations, whether on ground or not, due to its inclusion in the ambient sound event in sounds.json
- In addition to the randomized ambient sound from sounds.json, idle_ground is played every 6 seconds consistently due to the idle_ground_sound animation in breeze.entity.json. This sound also plays without respect for if the Breeze is grounded or not.
- This sound plays without a varying pitch because entity.json sound_effects do not support varied pitches.
This sound does not play when the player is looking away from the Breeze due to MCPE-178507. However, the should_update_effects_offscreen bool in scripts is not allowed in breeze.entity.json because it is using format_version 1.8.0 instead of 1.10.0.Fixed in 1.21.0.20- NOTE: All other entity.json sound_effects are also affected by these issues. That is outside the scope of this report.
To Fix
A fix resource pack has been attached. It makes the following changes:
- Both ambient and ambient.in.air have been silenced in sounds.json so they can be controlled based on the status of the entity in breeze.entity.json
- The idle_ground_sound animation controller in breeze.animation_controllers.json has been changed to manage both the idle_ground and idle_air sounds. It also introduces a random delay, bringing it in-line with the ambient sounds in sounds.json
- idle_ground and idle_air sounds have been given "effect" versions in sound_definitions.json to allow pitch variation.
breeze.entity.json has been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.Fixed in 1.21.0.20{}
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page (minecraft.wiki/Breeze) has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result{}
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page (minecraft.wiki/Breeze) has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page ([minecraft.wiki/Breeze|minecraft.wiki/Breeze]) has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page (
[minecraft.wiki/Breeze|minecraft.wiki/Breeze])has an excellent direct comparison. The attached animated renders are taken directly from there.To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page for Breeze has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page for Breeze has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
(The Java equivalent of this report can be found here:
MC-269851)
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page for Breeze has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
(The Java equivalent of this report
can be found here:MC-269851)The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page for Breeze has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
(The Java equivalent of this report is
MC-269851)
Explosion sounds are much higher-pitched on Bedrock compared to Java. The high-pitched sounds cause explosions to sound weaker than they should.
Expected Result
Explosion sounds are randomized to a pitch in the range [ 0.56, 0.84 ].
Observed Result
Explosion sounds are always played with pitch 1.0.
To Fix
Set the pitch of the "explosion" sound event in "individual_event_sounds" in sounds.json to [ 0.56, 0.84 ] instead of 1.0.
Explosion sounds are much higher-pitched on Bedrock compared to Java. The high-pitched sounds cause explosions to sound weaker than they should. This has caused an additional issue with the introduction of Wind Charges, see MCPE-180027.
Expected Result
Explosion sounds are randomized to a pitch in the range [ 0.56, 0.84 ].
Observed Result
Explosion sounds are always played with pitch 1.0.
To Fix
Set the pitch of the "explosion" sound event in "individual_event_sounds" in sounds.json to [ 0.56, 0.84 ] instead of 1.0.
Explosion sounds are much higher-pitched on Bedrock compared to Java. The high-pitched sounds cause explosions to sound weaker than they should.
This has caused an additional issue with the introduction of Wind Charges, seeMCPE-180027.Expected Result
Explosion sounds are randomized to a pitch in the range [ 0.56, 0.84 ].
Observed Result
Explosion sounds are always played with pitch 1.0.
To Fix
Set the pitch of the "explosion" sound event in "individual_event_sounds" in sounds.json to [ 0.56, 0.84 ] instead of 1.0.
Explosion sounds are much higher-pitched on Bedrock compared to Java. The high-pitched sounds cause explosions to sound weaker than they should. This has caused an additional issue with the introduction of Wind Charges, see MCPE-180027.
Expected Result
Explosion sounds are randomized to a pitch in the range [ 0.56, 0.84 ].
Observed Result
Explosion sounds are always played with pitch 1.0.
To Fix
Set the pitch of the "explosion" sound event in "individual_event_sounds" in sounds.json to [ 0.56, 0.84 ] instead of 1.0.
The Breeze "whirl" sound effect on Bedrock does not match Java Edition. Java uses only one file, while Bedrock uses five. This is less efficient and unnecessary because the varying pitches could be implemented through a sound event in sound_definitions.json alone.
The whirl sound has an infinite attenuation distance by default, instead of 16 blocks like Java Edition.
In addition, the sound stops when the Breeze is off-screen due toMCPE-178507.Expected Result
The Breeze "whirl" sound effect is played with a random volume range of [ 0.8, 1.0 ] and a pitch range of [ 0.7, 1.1 ].
The "whirl" sound uses only one "whirl" sound file in sounds/mob/breeze.
The
"whirl"soundcan no longer be heard after walking 16 blocks away from the Breeze.The Breeze whirl sound effect continues when the Breeze is behind the player.
Observed Result
The Breeze "whirl" sound effect is played with a consistent volume of 1.0 and a pitch of [ 0.7, 1.1].
The "whirl" sound uses five different sound files in sounds/mob/breeze.
The
"whirl"soundcan still be heardbeyond the16-block distance.The Breeze whirl sound effect stops when the Breeze is behind the player.
To Fix
A resource pack has been attached to fix the first t
hreewhirl issues. To fix the off-screen sound effect issue, seeMCPE-180023. The attached pack makes the following changes:
- Replace whirl1-5 with the single "whirl" file from Java Edition.
Update "mob.breeze.whirl" to vary the pitch and volume.- Update "mob.breeze.whirl" to
enforce a max_distance of 16 blocks.The Breeze "whirl" sound effect on Bedrock does not match Java Edition. Java uses only one file, while Bedrock uses five. This is less efficient and unnecessary because the varying pitches could be implemented through a sound event in sound_definitions.json alone.
In addition, the sound stops when the Breeze is off-screen due to MCPE-178507.
Expected Result
The Breeze "whirl" sound effect is played with a random volume range of [ 0.8, 1.0 ] and a pitch range of [ 0.7, 1.1 ].
The "whirl" sound uses only one "whirl" sound file in sounds/mob/breeze.
The Breeze whirl sound effect continues when the Breeze is behind the player.
Observed Result
The Breeze "whirl" sound effect is played with a consistent volume of 1.0 and a pitch of [ 0.7, 1.1].
The "whirl" sound uses five different sound files in sounds/mob/breeze.
The Breeze whirl sound effect stops when the Breeze is behind the player.
To Fix
A resource pack has been attached to fix the first two whirl issues. To fix the off-screen sound effect issue, see
MCPE-180023. The attached pack makes the following changes:
- Replace whirl1-5 with the single "whirl" file from Java Edition.
- Update "mob.breeze.whirl" to vary the pitch and volume.
The Breeze "whirl" sound effect on Bedrock does not match Java Edition. Java uses only one file, while Bedrock uses five. This is less efficient and unnecessary because the varying pitches could be implemented through a sound event in sound_definitions.json alone.
In addition, the sound stops when the Breeze is off-screen due to MCPE-178507.
Expected Result
The Breeze "whirl" sound effect is played with a random volume range of [ 0.8, 1.0 ] and a pitch range of [ 0.7, 1.1 ].
The "whirl" sound uses only one "whirl" sound file in sounds/mob/breeze.
The Breeze whirl sound effect continues when the Breeze is behind the player.
Observed Result
The Breeze "whirl" sound effect is played with a consistent volume of 1.0 and a pitch of [ 0.7, 1.1].
The "whirl" sound uses five different sound files in sounds/mob/breeze.
The Breeze whirl sound effect stops when the Breeze is behind the player.
To Fix
A resource pack has been attached to fix the first two whirl issues.
To fix the off-screen sound effect issue, seeMCPE-180023.The attached pack makes the following changes:
- Replace whirl1-5 with the single "whirl" file from Java Edition.
- Update "mob.breeze.whirl" to vary the pitch and volume.
The Breeze "whirl" sound effect on Bedrock does not match Java Edition. Java uses only one file, while Bedrock uses five. This is less efficient and unnecessary because the varying pitches could be implemented through a sound event in sound_definitions.json alone.
I
n addition, the sound stops when the Breeze is off-screen due to MCPE-178507.Fixed in 1.21.0.20Expected Result
The Breeze "whirl" sound effect is played with a random volume range of [ 0.8, 1.0 ] and a pitch range of [ 0.7, 1.1 ].
The "whirl" sound uses only one "whirl" sound file in sounds/mob/breeze.
The Breeze whirl sound effect continues when the Breeze is behind the player. **Fixed in1.21.0.20**Observed Result
The Breeze "whirl" sound effect is played with a consistent volume of 1.0 and a pitch of [ 0.7, 1.1].
The "whirl" sound uses five different sound files in sounds/mob/breeze.
The Breeze whirl sound effect stops when the Breeze is behind the player.Fixed in 1.21.0.20To Fix
A resource pack has been attached to fix the first two whirl issues.
To fix the off-screen sound effect issue, seeThe attached pack makes the following changes:MCPE-180023.
- Replace whirl1-5 with the single "whirl" file from Java Edition.
- Update "mob.breeze.whirl" to vary the pitch and volume.
The Breeze "whirl" sound effect on Bedrock does not match Java Edition. Java uses only one file, while Bedrock uses five. This is less efficient and unnecessary because the varying pitches could be implemented through a sound event in sound_definitions.json alone.
I
n addition, the sound stops when the Breeze is off-screen due to MCPE-178507.Fixed in 1.21.0.20Expected Result
The Breeze "whirl" sound effect is played with a random volume range of [ 0.8, 1.0 ] and a pitch range of [ 0.7, 1.1 ].
The "whirl" sound uses only one "whirl" sound file in sounds/mob/breeze.
The Breeze whirl sound effect continues when the Breeze is behind the player. **Fixed in 1.21.0.20**Observed Result
The Breeze "whirl" sound effect is played with a consistent volume of 1.0 and a pitch of [ 0.7, 1.1].
The "whirl" sound uses five different sound files in sounds/mob/breeze.
The Breeze whirl sound effect stops when the Breeze is behind the player.Fixed in 1.21.0.20To Fix
A resource pack has been attached to fix the first two whirl issues.
To fix the off-screen sound effect issue, seeThe attached pack makes the following changes:MCPE-180023.
- Replace whirl1-5 with the single "whirl" file from Java Edition.
- Update "mob.breeze.whirl" to vary the pitch and volume.
The Breeze "whirl" sound effect on Bedrock does not match Java Edition. Java uses only one file, while Bedrock uses five. This is less efficient and unnecessary because the varying pitches could be implemented through a sound event in sound_definitions.json alone.
I
n addition, the sound stops when the Breeze is off-screen due to MCPE-178507.Fixed in 1.21.0.20Expected Result
The Breeze "whirl" sound effect is played with a random volume range of [ 0.8, 1.0 ] and a pitch range of [ 0.7, 1.1 ].
The "whirl" sound uses only one "whirl" sound file in sounds/mob/breeze.
The Breeze whirl sound effect continues when the Breeze is behind the player.F ixed in 1.21.0.20Observed Result
The Breeze "whirl" sound effect is played with a consistent volume of 1.0 and a pitch of [ 0.7, 1.1].
The "whirl" sound uses five different sound files in sounds/mob/breeze.
The Breeze whirl sound effect stops when the Breeze is behind the player.Fixed in 1.21.0.20To Fix
A resource pack has been attached to fix the first two whirl issues.
To fix the off-screen sound effect issue, seeThe attached pack makes the following changes:MCPE-180023.
- Replace whirl1-5 with the single "whirl" file from Java Edition.
- Update "mob.breeze.whirl" to vary the pitch and volume.
Parity:Breeze whirl sound does not match Java Edition
Entities do not render behind held stained glass panes. They become transparent. The blocks behind them render fine.
Affected Blocks
- Glass blocks (all types, including tinted and hardened)
- Glass panes (all types, including tinted and hardened)
- Copper grates
- Slime blocks
- Honey blocks
- End crystals
Expected Result
The player and villager are visible behind a stained glass pane held in hand.Observed Result
The parts of the player and villager that are behind the stained glass pane become invisible.
Parity: Breeze idle animations are different thanJavaEditionParity: Breeze idle animations are different than Bedrock Edition
The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page for Breeze has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
(The Bedrock equivalent of this report
can be found here:MCPE-180022)The Breeze idle animation is less "active" on Bedrock than Java. This can be observed in multiple ways:
- Head bobbing frequency is about half on Bedrock compared to Java
- Tornado moves in an even square on Bedrock while it moves diagonally on Java
- Tornado frequency is different on each platform
The Minecraft Wiki page for Breeze has an excellent direct comparison. The attached animated renders are taken directly from there.
To Reproduce
1.) Look at a stationary Breeze on Java Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
2.) Look at a stationary Breeze on Bedrock Edition. Observe the speed of its head bobbing and the breadth of the tornado wind movement.
Expected Result
The Breeze idle animation is identical across both versions.
Observed Result
The Breeze idle animation is less dramatic on Bedrock compared to Java.
(The Bedrock equivalent of this report is
MCPE-180022)
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exception to this is the recent trial_spawner_atlas.png particle file, which
isstored in textures/particles.Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png
isstored in the textures/particle/ folder alongside the other 1.21 particles.Observed Result
trial_spawner_atlas.png
isstored in the textures/particles/ folder, resulting in two separate particle-related folders in the experimental_update_live2023 textures folder.
To Fix
Move trial_spawner_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json file must also be updated to use the new filepath.
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exception to this is the recent trial_spawner_atlas.png particle file and its ominous counterpart, which are stored in textures/particles.
Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particle/ folder alongside the other 1.21 particles.
Observed Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particles/ folder, resulting in two separate particle-related folders in the experimental_update_live2023 textures folder.
To Fix
Move trial_spawner_atlas.png and trial_spawner_ominous_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json file must also be updated to use the new filepath.
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exception to this is the recent trial_spawner_atlas.png particle file and its ominous counterpart, which are stored in textures/particles.
Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particle/ folder alongside the other 1.21 particles.
Observed Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particles/ folder, resulting in two separate particle-related folders in the experimental_update_live2023 textures folder.
To Fix
Move trial_spawner_atlas.png and trial_spawner_ominous_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json and trial_spawner_detection_ominous.particle.json files must also be updated to use the new filepaths.
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exception to this
isthe recent trial_spawner_atlas.png particle file and its ominous counterpart, which are stored in textures/particles.Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particle/ folder alongside the other 1.21 particles.
Observed Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particles/ folder, resulting in two separate particle-related folders in the experimental_update_live2023 textures folder.
To Fix
Move trial_spawner_atlas.png and trial_spawner_ominous_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json and trial_spawner_detection_ominous.particle.json files must also be updated to use the new filepaths.
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exceptions to this are the recent trial_spawner_atlas.png particle file and its ominous counterpart, which are stored in textures/particles.
Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particle/ folder alongside the other 1.21 particles.
Observed Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particles/ folder, resulting in two separate particle-related folders in the experimental_update_live2023 textures folder.
To Fix
Move trial_spawner_atlas.png and trial_spawner_ominous_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json and trial_spawner_detection_ominous.particle.json files must also be updated to use the new filepaths.
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exceptions to this are the recent trial_spawner_atlas.png particle file and its ominous counterpart, which are stored in textures/particles.
Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particle/ folder alongside the other 1.21 particles.
Observed Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particles/ folder, resulting in two separate particle-related folders in the experimental_update_live2023 textures folder.
To Fix
Move trial_spawner_atlas.png and trial_spawner_ominous_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json and trial_spawner_detection_ominous.particle.json files must also be updated to use the new filepaths.
Historically, all particle images are stored in the textures/particle/ folder of a resource pack. The only exceptions to this are the recent trial_spawner_atlas.png particle file and its ominous counterpart, which are stored in textures/particles.
Other 1.21 particles such as gust are already in the correct folder.
Expected Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particle/ folder alongside the other 1.21 particles.
Observed Result
trial_spawner_atlas.png and trial_spawner_ominous_atlas.png are stored in the textures/particles/ folder, resulting in two separate particle-related folders in the 1.21.0 textures folder.
To Fix
Move trial_spawner_atlas.png and trial_spawner_ominous_atlas.png to the particle folder and remove the particles folder. The trial_spawner_detection.particle.json and trial_spawner_detection_ominous.particle.json files must also be updated to use the new filepaths.
Parity:Wind Charge sounds use incorrect pitches and volumes
Torch models are offset in the inventory by two pixels. The block models placed on the ground are unaffected. This offset is hard-coded, so any resource pack that used the full 16-pixel item height in its torch textures will have items overlapping the edge of slots.
Java Edition does not have this torch offset either, so this is a parity issue.
To Reproduce
1.) Open a world in Creative Mode.
2.) Open the Creative Inventory and search for "Torch".
3.) Observe the torch items.
Expected Result
Torches are aligned like other items, so the bottom of the torch contacts the bottom of the slot. This is how torches look on Java Edition.
Observed Result
Torches are rendered two pixels higher than other items.
The OreUI Create and Edit World screens, under the Owned drop-down in Available on the resource packs screen, use bilinear scaling on resource and behavior pack icons instead of nearest neighbor scaling. This causes low-resolution icons (which are common in a pixel-art game like Minecraft) to look extremely blurry.
Expected Result
Pack icons are scaled using Nearest Neighbor scaling to keep pixels sharp, like in the existing JSON UI screens.
Observed Result
Pack icons are scaled using Bilinear scaling, causing blurry pack icons.
OreUI Screenshot
JSON UI Screenshot (pack icons are unchanged, 16x16)
The OreUI Create and Edit World screens, under the Owned drop-down in Available on the resource packs screen, use bilinear scaling on resource and behavior pack icons instead of nearest neighbor scaling. This causes low-resolution icons (which are common in a pixel-art game like Minecraft) to look extremely blurry.
Expected Result
Pack icons are scaled using Nearest Neighbor scaling to keep pixels sharp, like in the existing JSON UI screens.
Observed Result
Pack icons are scaled using Bilinear scaling, causing blurry pack icons.
OreUI Screenshot
JSON UI Screenshot (pack icons are unchanged, 16x16)
The OreUI Create and Edit World screens, under the Owned drop-down in Available on the resource packs screen, use bilinear scaling on resource and behavior pack icons instead of nearest neighbor scaling. This causes low-resolution icons (which are common in a pixel-art game like Minecraft) to look extremely blurry.
Expected Result
Pack icons are scaled using Nearest Neighbor scaling to keep pixels sharp, like in the existing JSON UI screens.
Observed Result
Pack icons are scaled using Bilinear scaling, causing blurry pack icons.
OreUI Screenshot
The pack icons are 16x16. On my screen, they are exactly 96x96 pixels, which means they should scale perfectly to fit this box.
JSON UI Screenshot (pack icons are unchanged, 16x16)
The text used across all OreUI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
Expected Result
Text is scaled pixel-perfectly in OreUI, just like JSON UI.
Observed Result
Text is scaled incorrectly in OreUI, causing a blurred appearance at the edges. This does not match JSON UI.
OreUI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
The text used across all OreUI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
Expected Result
Text is scaled pixel-perfectly in OreUI, just like JSON UI.
Observed Result
Text is scaled incorrectly in OreUI, causing a blurred appearance at the edges. This does not match JSON UI.
OreUI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
The text used across all OreUI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
Expected Result
Text is scaled pixel-perfectly in OreUI, just like JSON UI.
Observed Result
Text is scaled incorrectly in OreUI, causing a blurred appearance at the edges. This does not match JSON UI.
OreUI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
The text used across all OreUI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
The issue becomes more dramatic at small GUI scales. The image below is lossless:
Expected Result
Text is scaled pixel-perfectly in OreUI, just like JSON UI.
Observed Result
Text is scaled incorrectly in OreUI, causing a blurred appearance at the edges. This does not match JSON UI.
OreUI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
New Ore UI screens have blurry font/text
The text used across all Ore UI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
The issue becomes more dramatic at small GUI scales. The image below is lossless:
Expected Result
Text is scaled pixel-perfectly in Ore UI, just like JSON UI.
Observed Result
Text is scaled incorrectly in Ore UI, causing a blurred appearance at the edges. This does not match JSON UI.
Ore UI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
The text used across all Ore UI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
The issue becomes more dramatic at small GUI scales. The image below is
lossless:
Expected Result
Text is scaled pixel-perfectly in Ore UI, just like JSON UI.
Observed Result
Text is scaled incorrectly in Ore UI, causing a blurred appearance at the edges. This does not match JSON UI.
Ore UI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
The text used across all Ore UI screens is not perfectly scaled, so it is blurry. This is a noticeable departure from the old JSON UI screens and from the Java Edition screens.
The issue becomes more dramatic at small GUI scales. The image below is NOT compressed, so the blurriness comes straight from the game:
Expected Result
Text is scaled pixel-perfectly in Ore UI, just like JSON UI.
Observed Result
Text is scaled incorrectly in Ore UI, causing a blurred appearance at the edges. This does not match JSON UI.
Ore UI Worlds Button
May require a zoom-in on this PNG (it is lossless—bluriness is NOT due to compression). Notice the icon next to "All worlds" is perfectly clear. It is scaled correctly, unlike the text.
JSON UI Worlds Button
Both icons and font are scaled correctly in JSON UI.
The OreUI screens (in particular the new Play screen) are a major performance downgrade compared to the previous JSON UI screens. In extreme cases, the screens are unusable.
oreui_play_screen_performance.mp4
The above video is from Eckosoldier on Twitter.
There are also multiple noticeable lag spikes while a new OreUI screen is loading. JSON UI had only a single spike before the framerate quickly leveled out. Java Edition has no lag spikes at all, besides when switching resource packs.
oreui_screen_loading_lag_spikes.mp4
oreui_screen_loading_lag_spikes.mp4The above video was captured by me on a system with a Ryzen 5600x CPU, a NVIDIA 3080 GPU, and a full install on an NVME SSD. Other games such as Helldivers 2 on this same device have fully animated menus with more options and no lag spikes whatsoever.
Expected Result
OreUI performs the same or better than JSON UI.
Observed Result
OreUI performs significantly worse than JSON UI, with noticeable input lag, lag spikes, and jaggy scrolling.
Extreme performancesdowngrades in OreUI vs JSON UI
Extreme performance downgrades in Ore UI vs JSON UI
The Ore UI screens (in particular the new Play screen) are a major performance downgrade compared to the previous JSON UI screens. In extreme cases, the screens are unusable.
oreui_play_screen_performance.mp4
The above video is from Eckosoldier on Twitter.
There are also multiple noticeable lag spikes while a new Ore UI screen is loading. JSON UI had only a single spike before the framerate quickly leveled out. Java Edition has no lag spikes at all, besides when switching resource packs.
oreui_screen_loading_lag_spikes.mp4
The above video was captured by me on a system with a Ryzen 5600x CPU, a NVIDIA 3080 GPU, and a full install on an NVME SSD. Other games such as Helldivers 2 on this same device have fully animated menus with more options and no lag spikes whatsoever.
Expected Result
Ore UI performs the same or better than JSON UI.
Observed Result
Ore UI performs significantly worse than JSON UI, with noticeable input lag, lag spikes, and jaggy scrolling.
Many of the new sound events in 1.21 do not match their Java Edition names. 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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge, and heavy core. Will update when I can.)
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 ❌ ✅ ❌
Many of the new sound events in 1.21 do not match their Java Edition
names. 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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge, and heavy core. Will update when I can.)
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 ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge, and heavy core. Will update when I can.)
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 ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge, and heavy core. Will update when I can.)
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 ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge
, and heavy core. Will update when I can.)
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 ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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 block.trial_spawner.hit block.trial_spawner.place block.trial_spawner.spawn_item block.trial_spawner.spawn_item_begin block.trial_spawner.spawn_mob block.trial_spawner.step
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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 block.trial_spawner.hit block. trial_spawner.placeblock.trial_spawner.spawn_itemblock.trial_spawner.spawn_item_beginblock.trial_spawner.spawn_mobblock.trial_spawner.step
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing trial spawner, vault, cobweb, omen application, mace, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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 ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing
trial spawner, vault, cobweb,omen application, mace, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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 ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, mace, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing omen application,
mace,breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌
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. This affects commands and 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.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. This affects commands
andMarketplace 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.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. 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.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. 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.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. 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
working together.See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
Parity: 1.21 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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air mace.smash_air ❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌ ❌ item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.step vault.step ❌ ✅ ❌ item.mace.smash_air m ace.smash_air❌ ✅ ✅item.mace.smash_groundm ace.smash_ground❌ ❌❌item.mace.smash_ground_heavym ace.heavy_smash_ground❌ ❌❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ 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 ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ entity.parrot.imitate_bogged entity.parrot.imitate_breeze
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ 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 ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ entity.parrot.imitate _boggedentity.parrot.imitate _breeze
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ 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 ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ entity.parrot.imitate.bogged entity.parrot.imitate.breeze
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ 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 ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ entity.parrot.imitate.bogged entity.parrot.imitate.breeze
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ ❌ entity.parrot.imitate.bogged [MISSING] ❌ ❌ ❌ entity.parrot.imitate.breeze [MISSING] ❌ ❌ ❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ ❌ entity.parrot.imitate.bogged [MISSING] ❌ ❌ ❌ entity.parrot.imitate.breeze [MISSING] ❌ ❌ ❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ ❌ entity.parrot.imitate.bogged [MISSING] ❌ ❌ ❌ entity.parrot.imitate.breeze [MISSING] ❌ ❌ ❌
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. 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 working together.
See table below. (NOTE: Table is a work-in-progress. Missing omen application, breeze, bogged, wind charge. Will update when I can.)
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ entity.breeze.wind_burst breeze_wind_charge.burst ❌ ❌ ❌ entity.parrot.imitate.bogged [MISSING] ❌ ❌ ❌ entity.parrot.imitate.breeze [MISSING] ❌ ❌ ❌
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. 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.
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ Additional Notes:
- Breeze sounds have multiple issues due to their implementation through breeze.entity.json. See
MCPE-180023for 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.- Some breeze sounds are duplicated in sounds.json and breeze.entity.json. The sounds.json inclusions are either redundant or do not match a valid sound type. This applies to charge, idle_air,
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. 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.
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ Additional Notes:
- Breeze sounds have multiple issues due to their implementation through breeze.entity.json. See
MCPE-180023for 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.- Some breeze sounds are duplicated in sounds.json and breeze.entity.json. The sounds.json inclusions are either redundant or do not match a valid sound type. This applies to charge, idle_air,
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. 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.
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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_charged 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.charge_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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_ chargedtrial_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. charge_activatetrial_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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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.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] ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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.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] ❌ ❌ ❌ item.mace.smash_airmace.smash_air❌ ✅✅item.mace.smash_groundmace.smash_ground❌ ❌ ❌ item.mace.smash_ ground_heavymace. heavy_smash_ground❌ ❌❌entity.bogged.ambientm ob.bogged.ambient❌ ✅✅entity.bogged.deathm ob.bogged.death❌ ✅✅entity.bogged. hurtmob.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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ✅ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ music_disc.creator_music_box record.creator_music_box ❌ music_disc.precipice record.precipice ❌ music.game music.game music.creative music.menu music.menu 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 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ music_disc.creator_music_box record.creator_music_box ❌ music_disc.precipice record.precipice ❌ music.game music.game music.creative music.menu music.menu 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 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ music_disc.creator_music_box record.creator_music_box ❌ music_disc.precipice record.precipice ❌ music.game music.game ✅ music.creative music.menu music.menu ✅ 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 ✅ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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 ❌ music_disc.creator_music_box record.creator_music_box ❌ music_disc.precipice record.precipice ❌ music.game music.game ✅ music.creative music.menu music.menu ✅ 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 ✅ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-172283, MCPE-155444)❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( MCPE-172283, MCPE-155444)❌ music_disc.precipice record.precipice ❌ ❌ ( MCPE-172283, MCPE-155444)❌ music.game music.game ✅ ❌ (MCPE-155444) ❌ music.creative ❌ ❌ ( MCPE-123339)❌ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-1, MCPE-155444)72283❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( MCPE-1, MCPE-155444)72283❌ music_disc.precipice record.precipice ❌ ❌ ( MCPE-1, MCPE-155444)72283❌ music.game music.game ✅ ❌ (MCPE-155444) ❌ music.creative ❌ ❌ ( MCPE-123339)❌ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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
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.
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.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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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
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.
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 [MISSING] ❌ ❌ ❌ 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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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
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.
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 [MISSING] ❌❌ ❌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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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
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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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.10.22. Fail should have a max_distance of 3, not 5, and both sound events should have their sound randomly select a 0.96, 1.0, or 1.04 pitch to match the Java sound events.
Parity: 1.21+ 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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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.10.22. Fail should have a max_distance of 3, not 5, and both sound events should have their sound randomly select a 0.96, 1.0, or 1.04 pitch to match the Java sound events.
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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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 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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-180023for 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 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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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 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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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 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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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 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
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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌ entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌ 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 ❌ ❌ ❌ 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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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
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.
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 ❌ ❌ ❌ 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 ❌ ✅ ❌entity.breeze.idle_ground mob.breeze.idle_ground ❌ ✅ ❌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 ❌ ❌ ❌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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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
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.
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 ❌ ❌ ❌ 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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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
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.
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 ❌ ❌ ❌ item.mace.smash_airmace.smash_air❌ ✅ ✅ item.mace.smash_ground mace.smash_ground ❌ ❌❌item.mace.smash_ground_heavy mace.heavy_smash_ground ❌ ❌ ❌entity.bogged.ambientmob.bogged.ambient❌ ✅ ✅entity.bogged.deathmob.bogged.death❌ ✅ ✅entity.bogged.hurtmob.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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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
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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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
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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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
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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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)
Parity: 1.21+sound events do not match Java EditionParity: 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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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)
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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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:
- 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)
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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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:
- 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)
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.
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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:
- 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)
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 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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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:
- 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)
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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:
- 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)
Parity: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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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-180023for 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.airis 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:
- 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)
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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 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:
- 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)
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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
. Seefor 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:
- 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)
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-155444)MCPE-169933❌ music_disc.creator_music_box record.creator_music_box ❌ ❌ ( , MCPE-155444)MCPE-169933❌ music_disc.precipice record.precipice ❌ ❌ ( , MCPE-155444)MCPE-169933❌ 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:
- 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 There is bobbing animation in player.entity.json and one that you mentioned, they both play at the same time when you walk
AgentMindStorm2 are you sure? Mace attack and breath bobbing animation is different for me on 1.21.30.24, tested on Preview on Windows and Beta on Android.
Update: Mace no longer affected by this issue, as the changes to Mace has been reverted in the latest beta/preview (1.21.30.25)
Steps to reproduce:
- Import and apply the attached resource pack: MCPE-186199.mcpack

- Create/open a creative world
- Create an iron golem
Observed result:
The iron golem is rendered “corrupted”, with a purple and black texture
Expected result:
The iron golem is supposed to render with it’s full correct texture
Notes:
See this comment by AgentMindStorm2.
It is unknown if this issue is only present on specific devices, or is present across all devices like the pinned commenter has suggested, but either could be a possibility.
Devices confirmed affected:
Xbox Series X
iPhone 11 Pro
iPhone 13 Pro
AgentMindStorm2, that is MCPE-184791.
Thx you for telling us this information, AgentMindStorm2! Can confirm that adding "min_engine_version": "1.8.0" to player.entity.json files on one of my affected resourcepack restores the cape and persona system ![]()













































Affects 1.20.60.23 preview
Also affects scaffolding and boat entity
Affects all blocks added prior to 1.21 experimental features. As a result, no blocks from recent updates have fall sounds.
Affects 1.20.60.23 preview
Affects 1.20.60.23 preview
Sounds are missing entirely from sounds.json and sounds/ file structure. Appears the developers forgot to add them and used the fish sounds instead.
Trident, drowned conversion, skeleton arrow, and drowned trident throwing were fixed in 1.20.30. Dolphin, shulker, and crossbow issues affect 1.20.60.24.
Affects 1.20.60.24 preview
Affects 1.20.60.24 preview. Not listed in the bug report but Bubble Coral Block and Fire Coral Block are also different on Java and Bedrock.
EDIT: Attached screenshot to compare Java and Bedrock coral blocks.
Affects 1.20.60.24 preview
Affects 1.20.60.24 preview. Also had this issue occur when attempting to place a boat near a chest.
Affects 1.20.60.24 preview
For an example of how this harms creators — a creator may want to change granite, diorite, and andesite to use different sound sets like tuff and calcite. However, because all these blocks use the "stone" entry in blocks.json, the creator cannot do this. This affects all block properties like "isotropic" and "brightness_gamma" too.
Affects 1.20.60.24 preview. Additionally, the "dirt_with_roots" block sound set is not valid in-game. Setting any other block to use "dirt_with_roots" fails.
Affects 1.20.60.24 preview. This issue will be easy to fix once coral block IDs are separated, but for now, dead and living coral blocks use the same blocks.json entry and thus cannot have separate sounds.
Related issue caused by the fix — Programmer Art does not restore the old Purple Glazed Terracotta texture. This creates a mismatch between sword items and Purple Glazed Terracotta when using Programmer Art.
Worth nothing, this causes MAJOR lag spikes when the game has to reload the ghost chunk into a chunk with real data.
After checking, I can confirm Java Edition's sounds were updated in 1.20.3 to be "smashier" like in Bedrock 1.20.50. This bug report should be closed as invalid.
This is caused by the LOD style of distant leaves when using Fancy Graphics, which removes the transparency and renders all pixels opaquely. The transparent pixels in the cherry leaves texture should be colored pink to fix this bug.
Additionally, the how to play entry about coarse dirt uses outdated biome names. Grass is also capitalized when it shouldn't be.
Bedrock: Coarse Dirt - This is almost like a normal Dirt Block but Grass can't grow on it. It can be found in Savanna and Mega Taiga biomes.
Correct: Coarse Dirt - This is almost like a normal Dirt Block but grass can't grow on it. It can be found in Windswept Savanna and Old Growth Taiga biomes.
Additionally, the inside faces of the composter are not shaded at all in the world or in the inventory (visible in your screenshot.)
What the comment below means: The seagrass block model (both short and tall) is offset down one pixel below where it should be. The bottom pixel of seagrass is inside the block under it.
Due to quick loading on my PC, I cannot read even the first loading tip before it is replaced by "Building terrain" and "Loading Resources." This makes the loading tip system very frustrating. The box for loading tips should continue to show tips throughout the entire loading process, not just the first part.
Full list of missing colors:
§g - Minecoin Gold
§h - Quartz trim material
§i - Iron trim material
§j - Netherite trim material
§m - Redstone trim material (NOTE: see MCPE-41729; this code is
strikethroughon Java)§n - Copper trim material (NOTE: see MCPE-41729; this code is underline on Java)
§p - Gold trim material
§q - Emerald trim material
§s - Diamond trim material
§t - Lapis trim material
§u - Amethyst trim material
This is not a duplicate. The issue described here shading being applied wrong, while the report that this was closed for duplicating is an issue about shading not being applied at all.
Interestingly, the fix for this bug was listed in the full 1.20.60 release changelog, despite not making it to the full update.
Still an issue in 1.20.80.23 preview
Interestingly, this affected items list contains the exact same items as MCPE-169754
This affected items list contains the exact same items as MCPE-172710
Here is an example resource pack to fix map textures: filled_map_texture_fix.mcpack
It preserves the unique colors of Bedrock's buried treasure and locked maps, while bringing the marking shape in-line with Java Edition. It also corrects village maps from the Villager Trade Rebalance experiment to be gray instead of default.
Not a duplicate! This report is for Java Edition while the one you linked, which is also linked in the post, is for Bedrock Edition.
This is common for parity reports when it isn't clear which version is "correct".
Bedrock allows semi- and fully transparent pack icons. It could have been a parity change.
Not just the ominous vaults—all vaults generate facing incorrect directions.
Adding some extra notes about this: All the files are set up correctly to play candle ambient sounds: The files are in sounds/block/candle, sound_definitions.json has the sound event, and sounds.json hooks it to "ambient.candle". The issue is that Minecraft is not calling the ambient.candle event from sounds.json in-game.
About why this bug happens: On some devices, Minecraft references the cape geometry instead of the player geometry when running q.get_default_bone_pivot, which fails because the left and right arms are not listed in this geometry. Adding all pivots from the default player model to the cape model fixes the first-person attachable issues, but causes additional issues related to skins with unique heights, such as short skins, because the bone pivots are now the same for all of them. The issue cannot be fixed by updating the game's resources; the q.get_default_bone_pivot MoLang query must be fixed to always check the right geometry.
This is a hard-coded change, not a carried_texture difference, so resource packs cannot change it to match their style. This means packs which used the full 16-pixel height for torches now overlap the top edge of item slots.
Torches placed on the ground are unaffected.
There is no separate texture in the files for a carried torch, unlike nether_sprouts, which has an offset texture specifically for inventory screens.
Attached extra images to aid the report. The image with the torchflower was created by replacing the torch texture with the flower to show the hard-coded nature of this change.
I have seen other reports about issues with converting blocks whose IDs were split (instead of using one ID with different blocks under it) in recent Bedrock versions when converting from Xbox One Edition. If you have this issue on PS4, it will cause improper conversion of colored wool, concrete, and terracotta, as well as improper conversion of many wood-related blocks like logs. Have you observed any issues like those?
On Bedrock, the texture used for Mace particles should always be the bottom of the block (defined in blocks.json) to match breaking and walking particles.
I believe this was originally changed because the loading messages were not readable in the amount of time before they were replaced by "Loading resource packs". As a solution, these "Generating World" and "Loading resource packs" messages should be displayed in the screen header while the loading messages remain visible in the box.
The "Create/Survive" that flash for a split-second before the world loads are also a little strange and may be unintentional.
Interestingly, this was fixed for the OreUI death screen in 1.20.30.24:
MCPE-168061.I have not been able to log on for over a year now. I essentially cannot give any feedback on 1.21 features.
I have just died on 1.20.80 from using a Riptide trident in survival around cloud height. My totem triggered in midair and I fell straight down. I don't have the clip, or I would attach it. This bug is still present on 1.20.80+.
Confirmed! This is a parity break with Java that WILL permanently affect worlds if it is not fixed before the 1.21.0 preview cycle is finished. Any worlds that relied on its inflammability will be broken with the update.
Could the extra stone_slab conversion data from
MCPE-178379be added too, now that those IDs have been split?I believe this issue has been fixed by the latest preview. I cannot find this difference in the 1.21.0.24 files.
Please mark as vanilla-parity for improved visibility. This is a worldgen bug that cannot be fixed at preexisting Trial Chambers, so if it makes it to the full release, these Trial Chambers will be unfixable.
For the moment, you can export your worlds safely using the Export World button in the Edit World menu.
Relates to MCPE-182285
Relates to
MCPE-182278Hmm, the parity concern is still there. Not sure which platform is correct.
The Skull and Field Masoned patterns are still not mirrored in 1.21 pre2, however the Flow and Guster patterns have been fixed.
It is also worth noting the Banner Pattern rarities have been added incorrectly. The pattern name in the description should remain gray, while the "Banner Pattern" item name text itself should be what changes colors.
Edit: now reported as
MCPE-182508Please reopen this issue. Camels and Sniffers still have not been fixed so this is still unresolved.
These issues are no longer visible in-game because the fix for
MCPE-167836was incorrectly reverted, but they remain an issue today. Fortunately, it is a single line in the blocks.json file to fix each block.This bug report is incorrect; the sound engine is working as intended. Volume works in a unique way in Minecraft:
Here is a post on Twitter from Alexander Torstling, a developer on the game, explaining the system: https://twitter.com/atorstling/status/1747023092428238851
TLDR: The current Bedrock system is correct and works as intended. You must use max_distance to achieve what you want to do, not volume.
To shine some light on why hand bobbing feels exaggerated in first-person, it turns out the animation is being applied twice!
By setting animation.player.first_person.walk to all 0s (which removes the animation entirely), we would expect to see 0 hand bobbing when the player moves. However, we still see some bobbing! This means there is a hard-coded animation playing simultaneously with the JSON animation.
This is further demonstrated by holding a filled map. Filled maps cannot be affected by data-driven animations. They still bob, however. Filled map bobbing matches hand bobbing when the JSON animation is set to 0. This means the filled maps only use the hard-coded animation, while the hand uses both.
In addition, removing the JSON animation causes the hand and map to synchonize as they did in old versions of Bedrock Edition (before first-person animations were data-driven).
The data-driven hand bobbing animation is redundant and should be removed. The hard-coded animation already does all the work.
While it is possible to fix the exaggerated hand bobbing with resource packs, the nauseating camera bobbing cannot be changed. This requires a code fix.
This is likely intentional, as the atrium was also changed to have some ladders missing.
This being an intentional change is possible, but not likely, as the blocks.json from 1.21.30.21 still includes the brightness_gamma: 0.70 property. If the property was 1.0, I would believe this was intentional.
Yes, that is the same issue. It was phrased a very different way so I did not find it in a search.
This report has a more informative table. Could you attach this table to MCPE-169612 to prevent losing the information about which files are affected? It would also be helpful if the links to this report were moved to that other report so they can stay in the loop, because I assume you will close this as Duplicate now.
Duplicate of
MCPE-184909Here are some comparisons I timed of using packs in the development_resource_packs folder:
Methodology:
Assume a ±1 second margin of error as I was not perfect on the timer.
The loading time is most correlated with the Total Number of Files in Folder as the original report says:
Total # of Packs:
Total File Size of Packs:
Total # of Files:
This has already been resolved in the 1.21.30 previews.
This issue also affects Dripstone Caves and Lush Caves.
For detail with Music Discs—all 19 discs are played at 0.5 volume on Bedrock, up through Precipice. Java Edition plays all 19 discs at 1.0 volume.
The same items in this list are also affected by MCPE-185729.
Previous comment is not correct; Mace is unaffected. Bundle is affected though.
This issue is correct, but you must understand the underlying problem. Looking at sounds.json appears to show Wither Skeleton step sounds configured correctly.
However, many mob step sounds (but not all, frustratingly, and not most baby mobs) have an invisible 0.15x multiplier in-game. Here's the full list of mob step sounds with invisible multipliers:
Since the Wither Skeleton is affected by this invisible multiplier, the step sound in-game is played at 0.15 (from sounds.json) * 0.15 (invisible multiplier) = 0.0225 volume, which makes the sounds extremely quiet!
The correct configuration, with the invisible multiplier in mind, is this:
This makes Wither Skeleton step sounds play at 0.15 volume instead of 0.0225.
Not all mobs are affected by the step sound issue. Some mobs are exempt for no clear reason, such as (but not limited to):
Relates to MCPE-164447, another overworld_cubemap bug which appeared with RenderDragon
Here is a comparison of 16x16 pack icons in JSON UI vs. OreUI:
OreUI Create World Screen
JSON UI Resource Packs Screen
I believe this is because OreUI is using Bilinear scaling instead of Nearest Neighbor scaling for these icons.
The block ID "unknown" also needs to be assigned the "gravel" sound in the vanilla blocks.json. This block currently has no sound, so it plays stone sounds despite looking like dirt.
As stated in another comment, stone IDs have been separated in blocks.json in the vanilla_1.21.10 resources. Unfortunately, they are affected by
MCPE-186255, which means they do not work separately.The planks split IDs have not appeared in the vanilla resources yet, but they are functional. Here is an example where I used the "oak_planks" ID in blocks.json to make Oak Planks randomly rotate, without affecting Spruce Planks. (Halloween Mash-up is also applied):
Once the split planks IDs are included in the vanilla resources, this report can be considered "fixed" and the remaining issues with blocks.json should move to
MCPE-186255.Affects all leaf blocks and scaffolding, at a minimum.
Similarly, Enchanted Books are Common instead of Uncommon.
The attempted fix in 1.21.40.20 added an extra 0.3 pixels to each message:
While this looks alright with some line spacing settings, others show gaps.
While messing around with the hud_screen.json file to attempt a more precise fix, I found a specific setting (0.14px) shows overlap at 4.9x line spacing and gaps at 4.0x line spacing.
This indicates the gap/overlap issues cannot be fixed just by tweaking the JSON UI. The underlying chat message stack renderer must be improved to not misalign messages.
This still appears to be an issue at random heights: https://x.com/i/status/1830044140207554837
This should be considered a critical fix before Hardcore releases due to clips such as this: https://old.reddit.com/r/Minecraft/comments/1d4mgov/i_hate_this_game/
An instant lava death due to ghost blocks is not the Hardcore experience players are looking for.
This most likely relates to
MCPE-105490, despite the report saying it was fixedI attached a trimmed version of my survival world where the bug can still be reproduced. The player spawns at the location shown in the video clips. I was able to reproduce the bug using the world download on my Samsung Galaxy S24+ (while the video was taken on my Windows 10 PC)
This bug is much more deadly than it seems: Riptide tridents are affected, causing a client-server desync where you can use Riptide, but you take "unfair" fall damage because the server does not believe you should be allowed to use Riptide.
I attached two videos to demonstrate this: riptide_desync_over_water_splash_sounds and riptide_desync_over_land_fall_damage. Using Riptide during client-side rain causes fall damage when the player shouldn't be taking any. Over water, the bubbles bar appears and splash sounds are played without ever entering the water.
This should be considered a critical fix with Hardcore on the way.
"Suspicious" sand or gravel does not refer to sand or gravel that has been generated in a strange way.
There are two specific block types named Suspicious Sand and Suspicious Gravel: https://minecraft.wiki/w/Suspicious_Block
The dead entity in question is the Splash Potion. This works as intended. You have to check that the entity which died in the right one.
I have found proof of this bug occurring on Minecraft Bedrock 1.21.31 from the clip in this Reddit post: https://old.reddit.com/r/Minecraft/comments/1fva1fc/bedrock_moment/
This clip can also be viewed on XboxReplay, proving the clip was recorded yesterday: https://xboxreplay.net/gameclip/lid-901f1c8f7bd25-e7521d76c4154915a758a91819b986160
According to the original poster, this clip was from an offline world, so a bad Internet connection was NOT the cause of this bug.
I trimmed and attached the clip to this bug report. The clip is named ghost_bridging_1_21_31. If this bug makes it to the full release of Hardcore, the results will be disastrous.
Duplicate of
MCPE-112420I was able to reproduce this using a controller on Windows 10, while attempting to throw a Trident.
The new Pale Garden gray sky makes this extremely noticeable. I attached a video titled pale_garden_abrupt_sky_transition to demonstrate.
This issue is caused by incorrect filepaths specified in sound_definitions.json. The correct filepath is sounds/block/sponge/wet_sponge (sound files are there, and that location already matches Java Edition.)
The fix should be applied to sound_definitions.json in 1.21.50. The sound files themselves should not be moved as it would create a new parity issue.
Not just ambient occlusion—the model is also missing face dimming. Face dimming + ambient occlusion together create the effect which is often just referred to as ambient occlusion.
Behavior packs have face dimming and ambient occlusion as separate options, but both are necessary for Pale Moss Carpets.
Note that the Pale Garden also needs a unique weather fog color of #403B43 to match Java Edition. The current color is quite different than Java (yes, the first screenshot is just rain on Java, not thunder!):
Java Pale Garden Rain Fog:
Bedrock Pale Garden Rain Fog:
Note that the Expected Results of this report are outdated. On Java Edition, vines and cave vines have sounds different from both grass blocks and Nether vines. Pale Hanging Moss uses Moss sounds.
Unique vine sounds have not yet made their way to Bedrock, so these blocks incorrectly use Nether vine sounds at the moment.
Added fence_gate to the table. Thank you!
I can confirm this is still an issue in 1.21.50.22. However, at the moment, this bug is blocked by
MCPE-167836.This is related to the recent change that made Q and E work as right and left-click in JSON UI.
Here is what happens:
This explains why the behavior only occurs when E is used to close the inventory. This also makes the bug very easy to reproduce.
1.21.50 betas have introduced the Pale Garden, and the Pale Garden grass color has been added to the grass_side texture array in terrain_texture.json. This makes Grass Block top match the side in the Pale Garden.
The same solution is required to fix the color of Cherry Grove grass side. Simply add this color to the grass_side array: #B6DB61
I am able to reproduce the issue by pick-blocking some custom blocks with defined rarities as well.
Relates to
MCPE-187294This also affects pale oak hanging signs in 1.21.50.
Bedrock:
bedrock.mp4
Java:
java.mp4
This likely relates to MCPE-187408.
This issue was resolved in 1.21.50.24. The report can now be closed as Fixed!

For certain blocks, this stretching is absolutely necessary. Pumpkin and Melon Stems would not connect to the blocks properly if they were not stretched. Cobwebs also rely on the stretched model to avoid a "floating" appearance.
Thank you for the comment, KR_. I updated this post to be specifically about the weather fog color so that it no longer overlaps
MCPE-187519.This report should be resolved Works as Intended because Java Edition changed to match the Bedrock animations in 1.21.2.
Updated the table in the bug report to be fully accurate with 1.21.50.25 preview.
List of Fixes:
While the default air fog color was fixed to match Java Edition in 1.21.50.25, the weather fog color is still not set in the file, causing it to incorrectly use the default weather fog color.
In preview 1.21.50.25, the field now works on non-light sources, but still does not work on light sources. The bug report was updated to reflect this change.
Mojang went back and manually replaced the broken brightness_gamma field with ambient_occlusion_exponent throughout all the default resources. This includes all varieties of sandstone. brightness_gamma is officially deprecated!
And so, this bug is fixed in 1.21.50.25.
All blocks which were affected by this bug were given new ambient_occlusion_exponent values in 1.21.50.25! Since brightness_gamma has been officially removed from the default resources in favor of the new field (which accomplishes the same thing), this bug should be resolved as Fixed in 1.21.50.25.
As of 1.21.50.25, brightness_gamma has been officially removed in favor of ambient_occlusion_exponent, which is now present throughout the default resources and makes all blocks the intended brightness.
This report can now be resolved as Fixed in 1.21.50.25.
Can confirm. This appears to be a regression of
MCPE-32415.If you want the short grass, tall grass, fern, and large fern colors to match Java Edition, you should use overlay color #7BBB6A instead. Your vine color is already in parity.
I added steps to reproduce and attached a video of the issue.
Can confirm. This bug summary should be updated to describe the underlying issue: some devices fail to find a texture when its name matches a folder in the same directory.
Here is another screenshot of the iron golem issue from @D3RPFR0G on Twitter, from years ago:
You can make this same issue occur on affected devices by creating a resource pack that includes a folder named "dirt" in the textures/blocks directory. This will cause the following glitched appearance:
Any texture can have the same issue.
Note that this does not happen with the vanilla resources due to how they are sliced. The textures/entity/iron_golem.png texture never appears in the same slice as the textures/entity/iron_golem folder with the cracking textures. However, any resource pack that attempts to replace both the base iron golem and its cracked textures will have this issue on affected devices.
Platform-specific information would really aid this report. The screenshots I provided were taken on an iPhone 13 Pro.
This issue existed long before the horse armor issue, so it is most likely not related. You are seeing it change with the min_engine_version because iron golem cracking was a 1.18.10 feature.
Can confirm. This bug is caused by MCPE-187270. Your report is not a duplicate since it specifically describes the swamp issue.
Warm oceans are also affected, as they used to have a water_surface_transparency of 0.55, but now they don't.
Replying to cornbread_:
It turns out, you can add a pale_garden entry to biomes_client.json and it is functional, but that entry is not present in any of the vanilla resources, so it may be unintended. The 1.21.40 changelog indicated the client_biome files are meant to entirely replace biomes_client.json, not just supplement it, so I think the original issue stands.
Replying to Zgajak:
This issue does not occur on regular Bedrock; only the Preview.
The error has been present for the "ambient" effect since 1.21.0, as documented in MCPE-180966, but the issue with the "ambient.in.air" effect is brand-new in 1.21.50.25, due to a partial fix of
MCPE-180023.The sounds.json file with incorrect Breeze ambient sound setup can be viewed in the Preview branch of the bedrock-samples GitHub: https://github.com/Mojang/bedrock-samples/blob/preview/resource_pack/sounds.json
Replying to X1Crafts:
No. This is a separate issue. You can tell because slab, stair, and wall lighting is still broken for blocks which have no changes to "ambient_occlusion_exponent" whatsoever, like the Mud Brick block set.
Can confirm. This screen was already difficult to use on mobile but the new Delete Local Screenshots button has made storage management nearly impossible. I'd suggest moving these buttons below the scrollable section instead of above it.
Can confirm. I was able to reproduce with the following command in 1.21.41:
/setblock ~ ~ ~ purple_wool["color"="black"]
This placed Black Wool, which should not have happened.
Also, it is worth mentioning that these blockstates do not appear in the command suggestion list. You must type them manually, but they do work.
I can also confirm on 1.21.41, using the armor stand method.
I first tried to duplicate the bundle by placing it in an item frame, then breaking the item frame support blocks, but that counted as dropping the item, so the resulting bundles were not "quantum entangled" like the armor stand bundles.
This issue is the result of two issues combined:
Pale Hanging Moss is also not stretched in 1.21.50.26. The model has not changed at all. This bug has moved to
MCPE-188010as this one was likely closed internally.Glow Lichen should be using the same step sounds as Overworld vines.
This is actually caused by the block sound assigned to water. Changing the "sound" property of "water" in blocks.json changes the step sound you hear on Lily Pads. This is likely why it also affects boats.
For scaffolding, I would have to guess the same thing is happening with the "air" block.
Updated the table in the bug report to be fully accurate with 1.21.50.28 preview.
List of Fixes:
Can confirm.
Here is a much more detailed version of the report with the root cause identified:
When placing a second slab on one slab, to create a double slab block, the wrong sound event from the block sound type is called in sounds.json. The game is supposed to call the place event, but it calls the item.use.on event instead. This bug is the partial cause of MCPE-155381.
This causes a noticeable difference in placement sounds for some blocks:
slab_lower_vs_upper.mp4
This interferes with the intended purpose of the item.use.on event: item interactions, like stripping wood, tilling dirt, and flattening a path. Since these sounds overlap, any resource pack which changes a block interaction sound ends up changing the second slab placing sound too.
To Reproduce
Expected Result
Placing a second slab on a single slab plays the same sound as placing the slab anywhere else.
Observed Result
Placing a second slab on a single slab plays the item use sound instead of the place sound.
This bug is still not quite fixed in 1.21.50.28. However, the remaining issues have moved to
MCPE-188213to separate them from the more deadly (riptide-related) issues from this report, which were fixed.Replying to v-krbaj:
This report is not a duplicate of MCPE-187536. MCPE-187536 is specifically about light sources not working, which was an issue in 1.21.50.25 and 1.21.50.26 as well.
This report is about a new issue in 1.21.50.28, which is that the "ambient_occlusion_exponent" field does not work at all on any block.
Replying to GoldenHelmet:
For a comprehenisve list of blocks assigned incorrect sounds in blocks.json, see MCPE-184908. It exposed many bugs similar to this Nether Brick one.
Updated the table in the bug report to be fully accurate with the 1.21.50.29 preview (and 24w46a).
List of Fixes:
Can confirm in 1.21.44.
This issue could be considered Fixed in 1.21.20 since blocks.json was given a format_version field, which throws errors when using outdated block IDs. The error reporting is not perfect (MCPE-187398) but that is a separate issue.
It is worth noting the following sound files are all unused on Java Edition. They are not called by any sound event:
The other nine sounds mentioned in the report are used in-game and should definitely be added for parity.
I could not find any Java bug report about these sounds being unused, though the unused status is tracked on the wiki.
The Bamboo Sapling model was fixed in 1.21.60.23, so the report was updated to match. However, the Torchflower Crop is still z-fighting, and Nether Wart is not visible from some directions: MCPE-188458
Added potted_closed_eyeblossom and potted_open_eyeblossom to the table for 1.21.50.
While this bug was listed as being fixed in the 1.21.60.23 preview, it is still broken in the vanilla resources.
This issue has been resolved in 1.21.60.24 with the addition of the surface_opacity field in client_biome files. The warm ocean file was changed to have its original 0.55 opacity.
This issue was briefly fixed in 1.21.40, but it has returned in 1.21.60.24. Setting "surface_opacity" to 0.65 in the swampland and swampland_mutated client_biome files will fix the issue.
This bug report is wrong. It is possible to safely change player.entity.json without breaking anything.
Use this file as a base instead of the file included with the vanilla resources: player.entity.json
This fixed file is a combination of the 1.21.50 and vanilla player.entity.json files. Here are the steps to recreate it:
Here is proof: a resource pack that changes player scale to 2.9375. player_entity_fix.mcpack
The screen appears to work as expected when using Japanese in 1.21.51.
This may be an intentional parity change, as these characters were changed on Java Edition in 1.13 to use a simplified appearance.
Replying to lostliano:
Adding the ability to edit Ore UI textures with resource packs would still not allow you to add the Export button on mobile. Mojang has decided not add this feature themselves: https://bugs.mojang.com/browse/MCPE-174595
Resource packs need to be able to edit the underlying UI data to add buttons. However, Mojang has added no way to modify Ore UI data with resource packs.
I can no longer reproduce this issue on Windows 10, at any GUI Scale. This may have been silently fixed in 1.21.51.
Can confirm. Using a second render controller in the pig entity file would still allow the saddle to be controlled separately from the base mob, without introducing difficulties caused by attachables (such as filtering by owner entity type).
This bug has returned in the 1.21.60.22 preview, as ambient_occlusion_exponent is now set to 1.0 for all sandstone variants.
This indicates that the shading change is intentional, so this report could be marked "Works As Intended" by Mojang. This change to darker shading matches Java, making this a successful parity change.
Since sandstone and red sandstone are now darker, the bug
MCPE-48366is no longer reproducible.This bug was properly fixed in 1.21.60.24 preview, as seen in the bedrock-samples Github history:
From 1.21.60.23 repository view of blocks.json:
From 1.21.60.24 repository view of blocks.json:
Updated the table to cross out nether brick blocks which were assigned the correct sound property in 1.21.60.23.
Note that nether_brick_double_slab and red_nether_brick_double_slab are still using the incorrect sounds: MCPE-188847
Duplicate of REALMS-10307
Duplicate of MCPE-142182
I can confirm that the swampland downfall has been changed to 0.9 to match Java Edition. However, the swampland_mutated downfall has not been fixed. This is reported as
MCPE-189877.Since strip wood sounds were added in 1.21.60.27 preview, wooden slabs now make strip wood sounds in vanilla:
2025-01-15 15-20-52.mp4
Replying to Zgajak:
I was able to reproduce this in 1.21.60.27 (latest preview) in a lush cave under a Pale Garden.
cave_grass_repro.mp4
It is worth noting that the new foliage_appearance and grass_appearance components in client_biome files should not be used to "fix" the grass color, as the underlying temperature difference would still be an issue.
It is worth noting that the new foliage_appearance and grass_appearance components in client_biome files should not be used to "fix" the meadow grass color, as the underlying temperature difference would still be an issue. This report should be given a "caused by" link to MCPE-179347.
This bug occurs often when attempting to place blocks on leaves or sugar cane.
Replying to GoldenHelmet:
Understood. I added the exponential vs linear information to the table because some 1.21.60 sounds actually do use linear attenuation. Setting a max_distance value causes a sound to attenuate linearly, so all the max_distance: 16.0 sounds match Java Edition attenuation.
Update: This issue occurs even without the Drop 1 2025 experiment. This means it will affect Marketplace texture packs even when used on normal worlds.
I am not sure Works As Intended is the correct resolution for this bug. This is because, even in version-locked worlds, the swampland downfall has changed from 0.5 to 0.9 in 1.21.60.27.
1.21.60.27 causes a mismatch between swamp sub-biome properties in version-locked worlds. The swampland_mutated downfall should be updated specifically to fix version-locked worlds, because otherwise, 1.21.60 will introduce a weird inconsistency.
Replying to Zgajak:
A video will not help you understand this issue any better. All the relevant information is in the screenshots:
The in-game effect of this issue is demonstrated in the video attached to MCPE-155381.
I cannot reproduce this issue with any of the following blocks from your list when they are not in flower pots:
Here is a corrected list of blocks which have z-fighting issues:
I can confirm the comment from "boda kugga". 1.21.70.20 silently fixed most of the issues from this report, in addition to stretching most cross models (see MCPE-188479) so the ADO should be updated to reflect the current issue.
Also, amethyst cluster and buds are still not double-sided when placed on walls or ceilings.
Even the Mooshroom model was updated!
This issue (and many other block ID disparities) is also being tracked at MCPE-187390.
This issue cannot be reproduced in 1.21.20+ because the sandstone and red sandstone blocks have had their brightness adjusted to match stairs.
This bug appears to have been silently fixed in 1.21.70.20 preview. All buttons are consistently downstyled.
Almost all blocks affected by this issue have been fixed in 1.21.70.20. Only potted plants, sweet berry bush, and calibrated sculk sensor are still stretched incorrectly on Bedrock.
Replying to vindi546
I'm not sure what the issue is. Here is the Plastic texture pack with the new Mooshroom model. The mushrooms are still stretched and double-sided, and they match the current texture pack.
The mushrooms float above the back of the mooshroom, but that is not related to the double-sided or stretched part of the model. That's a positioning issue!
Replying to vindi546:
Good catch. I've added it to the report!
Added wooden_button, wooden_door, and wooden_trapdoor to the table.
Replying to vindi546:
Good find. That should probably be a separate bug report since it's technically an entity model, not a block model.
It appears this bug is happening because you are simultaneously "using" the splash potion on the mud and throwing it. For this issue to be fixed, Mojang should prevent you from being able to right-click on dirt with a splash or lingering water bottle, requiring you to throw it.
Replying to GXMDino:
You are incorrect. Here is a screenshot from the latest snapshot (25w05a) vs. Bedrock 1.21.51.
Java
Bedrock
The model is slightly different between platforms, but they are stretched equally, so they do not fall under this bug report. The stem is scaled larger on Java, but the relative height/width of each pixel is the same as Bedrock.
The ADO for this bug report should be updated to match the new description, which describes the latest changes from 1.21.70.20. This bug report was silently, partially addressed, so the ADO will be out of date otherwise.
Replying to v-kkunytskyi:
This is still an issue in the latest versions. You can easily reproduce this by downloading the attached resource pack, applying it in the main menu, enabling Content Log GUI, and loading into a world.
There should be content log errors due to outdated block IDs used in blocks.json, but no errors appear.
This issue still occurs with Crimson and Warped Fungus in 1.21.70.22.
The how-to-play information for Ranching has been updated to specify a 1 minute breeding cooldown, indicating that this bug should be resolved Works As Intended.
It is worth noting that this bug affects three block IDs:
Since
MCPE-184909was resolved Works As Intended, this bug is now more important, because sand and sandstone ambient occlusion are currently mismatched. This causes the sides of desert caves and mountains to look janky.I don't know why this was closed as Cannot Reproduce. Place some fungus around in different places if you don't see it at first, because chunk borders affect the z-fighting.
I can reproduce this issue without any resource packs. Reproduction steps:
This issue is caused by the mushrooms rendering both sides at once instead of only one side at a time. That's why the mushroom in the Pattern Texture Pack screenshot appears to have two stems, both sides are rendering at once.
I can confirm GoldenHelmet's proposed fix.
In addition, it is not necessary to adjust the "pivot" points for the front legs, as the pivots are already aligned correctly. Only the "origin" field should be changed.
This issue is caused by incorrect volume and pitch configuration in resource_packs/vanilla/sounds.json. Both the pitch and volume should be set to 1.0 to match Java Edition, but the volume is instead lower than Java (0.7) and the pitch can vary randomly (0.8-1.0).
Actually, an intentional workaround has been added for this issue, so this "bug" should be considered "Works As Intended".
The new "grass_appearance" field in client_biome files is not affected by this darkening. This way, you can set the exact color of roofed forest grass with a resource pack.
Here it is with #FFFFFF (white):
This bug should be revisited in 2025. Lots of longstanding block model issues, especially with cross models, have been fixed in the last few weeks.
This can easily be fixed by setting "render_only_when_topmost" to false for the hud_screen element in ui/hud_screen.json.
This does cause a minor issue with the inventory player renderer when it is visible at the same time as the HUD paper doll, but otherwise causes no problems.
Since the blocks affected by this issue change almost every preview, updating this report is not the right way to keep track of the most recent issues. Instead, the remaining issues have been splintered into their own reports:
Calibrated Sculk Sensor: MCPE-169777
Sweet Berry Bush: MCPE-190470
Flower Pot Overstretching: MCPE-190422
To see a related list of double-sided issues, see the comments of MCPE-188463.
It would make the most sense to close this report as "Fixed in 1.21.70.22", as the remaining issues will be handled separately.
Since the blocks affected by this issue change almost every preview, updating this report is not the right way to keep track of the most recent issues. Instead, there are now separate reports for all the remaining issues:
Potted flowers: MCPE-190486
Calibrated Sculk Sensor amethyst: MCPE-190469
Wall and ceiling Amethyst Cluster/Buds: MCPE-190421
Sweet Berry Bush: MCPE-190470
Mangrove Propagule: MCPE-190468
Campfire flame: MCPE-190471
Small Dripleaf stem: MCPE-122375
Big Dripleaf stem:
MCPE-122372Kelp top: MCPE-190473
Crimson and Warped Fungus Z-fighting: MCPE-190389
Mooshroom back mushroom Z-fighting: MCPE-190291
To see a related list of stretching issues, see the comments of MCPE-188479.
It would make the most sense to close this report as "Fixed in 1.21.70.22", as the remaining issues will be handled separately.
Changed this report to be just about the double-sided issue so that the other report can handle stretching. Thank you!
Replying to Mega611:
I can confirm what you are saying for the flower pot:
However, the other fixes like Amethyst are still in the game:
other_cross_models.mp4
The flower pot issue is now reported as MCPE-190486.
Given that most cross models have been fixed throughout the game in 1.21.70.20, this report should be reopened. If Big Dripleaf is the only cross model that isn't fixed, it will stick out even more.
Can confirm. Mobs still turn their bodies when walking, but not when standing still. This breaks parity with Java Edition too.
Replying to Alexander:
I did: MCPE-190471
I linked all my separate bug reports for double-sided issues in a comment on MCPE-188463.
Duplicate of MCPE-190404
Can confirm. Some additional information to support this issue:
The resource pack includes two variants for poppies. The variants have identical animation frames. This means that we would expect all poppies to look identical if the animations worked correctly.
Texture folder:

Poppy variants are configured properly in terrain_texture.json:

The animations are configured the exact same way in flipbook_textures.json, except one uses atlas_tile_variant 0 and one uses atlas_tile_variant 1.

The animation only applies to one poppy variant in-game:
poppy_variant_not_animating.mp4
Detailed steps to reproduce:
Expected Results
All atlas tile variants can be given unique block animations.
Observed Results
Only one atlas tile variant can be animated, and the others silently fail.