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

Parity: Breeze idle sounds do not play correctly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.21.0.20 Preview, 1.20.80.23 Preview, 1.20.72 Hotfix, 1.21.0.23 Preview, 1.20.80, 1.21.0.24 Preview
    • Confirmed
    • Multiple
    • 1231684

      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

            AgentMindStorm2 AgentMindStorm2
            Votes:
            10 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              CHK: