Interface Sound


public sealed interface Sound
Represents an in-game sound which can be played to the client.

A sound consists of:

key/type
the resource location of this sound (e.g minecraft:ambient.cave or my_plugin:custom_sound
source
a Sound.Source telling the game where the sound is coming from
volume
a number in the range [0,∞) representing how loud the sound should be played. Increasing volume does not actually play the sound louder, but increases the radius of where it can be heard
pitch
a number in the range [0,2] representing which pitch the sound should be played at

There are some bugs that are of note when using sounds:

  • As documented in MC-146721, stereo sounds are always played globally in 1.14+.
  • Due to MC-138832, the volume and pitch are ignored when playing a sound with an emitter in 1.14 to 1.16.5.
Since:
4.0.0
See Also:
  • Method Details

    • sound

      static Sound.Builder sound()
      Create a new builder for Sound instances.
      Returns:
      a new builder
      Since:
      4.12.0
    • sound

      static Sound.Builder sound(Sound existing)
      Create a new builder for Sound instances.
      Parameters:
      existing - an existing sound to populate the builder with
      Returns:
      a new builder
      Since:
      4.12.0
    • sound

      static Sound sound(Consumer<Sound.Builder> configurer)
      Create a new Sound instance configured by the provided function.
      Parameters:
      configurer - a function that configures a builder
      Returns:
      a new builder
      Since:
      4.12.0
    • sound

      static Sound sound(Key name, Sound.Source source, float volume, float pitch)
      Creates a new sound.
      Parameters:
      name - the name
      source - the source
      volume - the volume
      pitch - the pitch
      Returns:
      the sound
      Since:
      4.0.0
    • sound

      static Sound sound(Sound.Type type, Sound.Source source, float volume, float pitch)
      Creates a new sound.
      Parameters:
      type - the type
      source - the source
      volume - the volume
      pitch - the pitch
      Returns:
      the sound
      Since:
      4.0.0
    • sound

      static Sound sound(Supplier<? extends Sound.Type> type, Sound.Source source, float volume, float pitch)
      Creates a new sound.
      Parameters:
      type - the type
      source - the source
      volume - the volume
      pitch - the pitch
      Returns:
      the sound
      Since:
      4.0.0
    • sound

      static Sound sound(Key name, Sound.Source.Provider source, float volume, float pitch)
      Creates a new sound.
      Parameters:
      name - the name
      source - the source
      volume - the volume
      pitch - the pitch
      Returns:
      the sound
      Since:
      4.8.0
    • sound

      static Sound sound(Sound.Type type, Sound.Source.Provider source, float volume, float pitch)
      Creates a new sound.
      Parameters:
      type - the type
      source - the source
      volume - the volume
      pitch - the pitch
      Returns:
      the sound
      Since:
      4.8.0
    • sound

      static Sound sound(Supplier<? extends Sound.Type> type, Sound.Source.Provider source, float volume, float pitch)
      Creates a new sound.
      Parameters:
      type - the type
      source - the source
      volume - the volume
      pitch - the pitch
      Returns:
      the sound
      Since:
      4.8.0
    • name

      Key name()
      Gets the name.
      Returns:
      the name
      Since:
      4.0.0
    • source

      Sound.Source source()
      Gets the source.
      Returns:
      the source
      Since:
      4.0.0
    • volume

      float volume()
      Gets the volume.
      Returns:
      the volume
      Since:
      4.0.0
    • pitch

      float pitch()
      Gets the pitch.
      Returns:
      the pitch
      Since:
      4.0.0
    • seed

      OptionalLong seed()
      Get the seed used for playback of weighted sound effects.

      When the seed is not provided, the seed of the receiver's world will be used instead.

      Returns:
      the seed to use
      Since:
      4.12.0
    • asStop

      SoundStop asStop()
      Gets the SoundStop that will stop this specific sound.
      Returns:
      the sound stop
      Since:
      4.8.0