Uploaded image for project: 'Minecraft API'
  1. Minecraft API
  2. MCAPI-105

Audio API - Allow customizations to the client, the server, and custom mods to play custom music/sound files.




      Proposed Addition:
      Server admins should be able to place music files in a folder, and let the server console be able to playback the music files via Jukebox or other custom entities that uses the Music API. Developers should be able to use the Music API and create custom entities, via mods, that allows either the client (for Single Player worlds) or server (for multiplayer) to play audio/music files.

      Update 1: Server-side resource streaming would not be applicable. It may imply that the server console isn't going to be able to play audio files remotely, and may add a pre-requisite that detects if the client(s) have the mod or a plugin with sound-related assets readily before being able to join the server. Then the server may broadcast a signal that allows the mod or the plugin to play the asset(s).

      Specific Features:

      • Specify what music file types are supported.
      • Specify what location should music files be placed at.
      1. Notify server admins if the file exists or not.
      2. Allows server admins to play music/sound files at specific locations in the world on a multiplayer server.
      3. Allows server admins to loop music/sound files at specific locations in the world on a multiplayer server.
      4. Allows server admins to stop music/sound playback at any given time, via commands.
      • Can use the command blocks to initiate music/sound playback at specific locations.
      • Allows developers to hook music/sound file playback functions to their customized entities.
      • Allows developers to add custom music/sound files to their customized entities.
      • Allows developers to add background musics/sounds for their mods.
      • Allows developers to edit the distance the music/sound can be heard from.
      • Allow all players in the world to hear music/sound via specific commands.

      Update 1: The features marked with '#' indicates that it should be controlled by client-side mods or plugins, and possibly be interactive with server-wide signal broadcasting. According to Grum, resource streaming should not be considered, as it may introduce additional unnecessary bandwidth hogging and other issues.

      Justification and Use Case:
      The ability to add more sounds in the game allows a more enriching gameplay. Server admins may also use sounds to add many different moods in a customized multiplayer world. Developers may utilize the Audio API to add sounds to their creations, such as behavior sounds, attack sounds, or to create suspense and/or emphasize the lore surrounding them. For example: a steampunk themed multiplayer world. Creators can add steampunk ambient sounds to specific locations in the world, add mobs at specific locations and letting players trigger them and playing an audio file that incorporates a narrative story, and add a compelling background music.

      Challenges Faced:

      • The audio file itself may face copyright infringements and/or trademark issues.
      • The server admin and/or developers may not have permission to use the audio file.
      • The audio file licenses may not allow server admins/developers to use it.
      • The Mojang developers may not agree with implementing such API and/or if there exists an incentive to add one.
      • This proposal may not garner enough support from the Minecraft community.

      Affected Version:

      None so far.




            • Assignee:
              tom_mai78101 Tom Lee
            • Votes:
              12 Vote for this issue
              3 Start watching this issue


              • Created: