net.minecraft.client.audio

## Class SoundManager

- java.lang.Object
- - net.minecraft.client.audio.SoundManager

- All Implemented Interfaces:
    ResourceManagerReloadListener

      public class SoundManager
      extends Object
      implements ResourceManagerReloadListener

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `MUSIC_INTERVAL`
    `paulscode.sound.SoundSystem` | `sndSystem` A reference to the sound system.
    `SoundPool` | `soundPoolMusic` Sound pool containing music.
    `SoundPool` | `soundPoolSounds` Sound pool containing sounds.
    `SoundPool` | `soundPoolStreaming` Sound pool containing streaming audio.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SoundManager(ResourceManager par1ResourceManager, GameSettings par2GameSettings, File par3File)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMusic(String par1Str)` Adds an audio file to the music SoundPool.
    `void` | `addSound(String par1Str)` Adds a sounds with the name from the file.
    `void` | `addStreaming(String par1Str)` Adds an audio file to the streaming SoundPool.
    `void` | `cleanup()` Cleans up the Sound System
    `void` | `func_92070_a(String par1Str, float par2, float par3, float par4, float par5, float par6, int par7)`
    `void` | `func_92071_g()`
    `boolean` | `isEntitySoundPlaying(Entity par1Entity)` Returns true if a sound is currently associated with the given entity, or false otherwise.
    `void` | `onResourceManagerReload(ResourceManager par1ResourceManager)`
    `void` | `onSoundOptionsChanged()` Called when one of the sound level options has changed.
    `void` | `pauseAllSounds()` Pauses all currently playing sounds
    `void` | `playEntitySound(String par1Str, Entity par2Entity, float par3, float par4, boolean par5)` If a sound is already playing from the given entity, update the position and velocity of that sound to match the entity.
    `void` | `playRandomMusicIfReady()` If its time to play new music it starts it up.
    `void` | `playSound(String par1Str, float par2, float par3, float par4, float par5, float par6)` Plays a sound.
    `void` | `playSoundFX(String par1Str, float par2, float par3)` Plays a sound effect with the volume and pitch of the parameters passed.
    `void` | `playStreaming(String par1Str, float par2, float par3, float par4)`
    `void` | `resumeAllSounds()` Resumes playing all currently playing sounds (after pauseAllSounds)
    `void` | `setEntitySoundPitch(Entity par1Entity, float par2)` Sets the pitch of the sound associated with the given entity, if one is playing.
    `void` | `setEntitySoundVolume(Entity par1Entity, float par2)` Sets the volume of the sound associated with the given entity, if one is playing.
    `void` | `setListener(EntityLivingBase par1EntityLivingBase, float par2)` Sets the listener of sounds
    `void` | `stopAllSounds()` Stops all currently playing sounds
    `void` | `stopEntitySound(Entity par1Entity)` Stops playing the sound associated with the given entity
    `void` | `updateSoundLocation(Entity par1Entity)` Updates the sound associated with the entity with that entity's position and velocity.
    `void` | `updateSoundLocation(Entity par1Entity, Entity par2Entity)` Updates the sound associated with soundEntity with the position and velocity of trackEntity.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### sndSystem

          public paulscode.sound.SoundSystem sndSystem

      A reference to the sound system.

    - #### soundPoolSounds

          public final SoundPool soundPoolSounds

      Sound pool containing sounds.

    - #### soundPoolStreaming

          public final SoundPool soundPoolStreaming

      Sound pool containing streaming audio.

    - #### soundPoolMusic

          public final SoundPool soundPoolMusic

      Sound pool containing music.

    - #### MUSIC_INTERVAL

          public static int MUSIC_INTERVAL

  - ### Constructor Detail

    - #### SoundManager

          public SoundManager(ResourceManager par1ResourceManager,
                      GameSettings par2GameSettings,
                      File par3File)

  - ### Method Detail

    - #### onResourceManagerReload

          public void onResourceManagerReload(ResourceManager par1ResourceManager)

      Specified by:
        `onResourceManagerReload` in interface `ResourceManagerReloadListener`

    - #### onSoundOptionsChanged

          public void onSoundOptionsChanged()

      Called when one of the sound level options has changed.

    - #### cleanup

          public void cleanup()

      Cleans up the Sound System

    - #### addSound

          public void addSound(String par1Str)

      Adds a sounds with the name from the file. Args: name, file

    - #### addStreaming

          public void addStreaming(String par1Str)

      Adds an audio file to the streaming SoundPool.

    - #### addMusic

          public void addMusic(String par1Str)

      Adds an audio file to the music SoundPool.

    - #### playRandomMusicIfReady

          public void playRandomMusicIfReady()

      If its time to play new music it starts it up.

    - #### setListener

          public void setListener(EntityLivingBase par1EntityLivingBase,
                         float par2)

      Sets the listener of sounds

    - #### stopAllSounds

          public void stopAllSounds()

      Stops all currently playing sounds

    - #### playStreaming

          public void playStreaming(String par1Str,
                           float par2,
                           float par3,
                           float par4)

    - #### updateSoundLocation

          public void updateSoundLocation(Entity par1Entity)

      Updates the sound associated with the entity with that entity's position and velocity. Args: the entity

    - #### updateSoundLocation

          public void updateSoundLocation(Entity par1Entity,
                                 Entity par2Entity)

      Updates the sound associated with soundEntity with the position and velocity of trackEntity. Args: soundEntity, trackEntity

    - #### isEntitySoundPlaying

          public boolean isEntitySoundPlaying(Entity par1Entity)

      Returns true if a sound is currently associated with the given entity, or false otherwise.

    - #### stopEntitySound

          public void stopEntitySound(Entity par1Entity)

      Stops playing the sound associated with the given entity

    - #### setEntitySoundVolume

          public void setEntitySoundVolume(Entity par1Entity,
                                  float par2)

      Sets the volume of the sound associated with the given entity, if one is playing. The volume is scaled by the global sound volume. Args: the entity, the volume (from 0 to 1)

    - #### setEntitySoundPitch

          public void setEntitySoundPitch(Entity par1Entity,
                                 float par2)

      Sets the pitch of the sound associated with the given entity, if one is playing. Args: the entity, the pitch

    - #### playEntitySound

          public void playEntitySound(String par1Str,
                             Entity par2Entity,
                             float par3,
                             float par4,
                             boolean par5)

      If a sound is already playing from the given entity, update the position and velocity of that sound to match the entity. Otherwise, start playing a sound from that entity. Setting the last flag to true will prevent other sounds from overriding this one. Args: The sound name, the entity, the volume, the pitch, priority

    - #### playSound

          public void playSound(String par1Str,
                       float par2,
                       float par3,
                       float par4,
                       float par5,
                       float par6)

      Plays a sound. Args: soundName, x, y, z, volume, pitch

    - #### playSoundFX

          public void playSoundFX(String par1Str,
                         float par2,
                         float par3)

      Plays a sound effect with the volume and pitch of the parameters passed. The sound isn't affected by position of the player (full volume and center balanced)

    - #### pauseAllSounds

          public void pauseAllSounds()

      Pauses all currently playing sounds

    - #### resumeAllSounds

          public void resumeAllSounds()

      Resumes playing all currently playing sounds (after pauseAllSounds)

    - #### func_92071_g

          public void func_92071_g()

    - #### func_92070_a

          public void func_92070_a(String par1Str,
                          float par2,
                          float par3,
                          float par4,
                          float par5,
                          float par6,
                          int par7)