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 inbreeze.entity.jsonbecause it is using format_version 1.8.0 instead of 1.10.0.Fixed in 1.21.0.20NOTE: 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.jsonhas been updated to the 1.10 format to allow should_update_effects_offscreen to take effect.Fixed in 1.21.0.20
Attachments
Comments 1
