First off, apologies if I've made a mistake or if this has already been suggested. If there are any points I've missed or that I could improve upon feel free to let me know. I'm not always online but I will try to address concerns as soon as I can.
In the recent Minecraft update (1.8) we've seen some interesting additions to resource packs. Block models have been moved to JSON files allowing resource pack authors to define custom models for blocks to use. My suggestion now is the natural next step. Change block sounds to follow the same format.
Types of sounds: place - sound(s) played when the block is placed. dig - sound(s) for when the player punches the block. mine - sound(s) played when the block breaks. step - sound(s) played when an entity walks on the block. ambient - sound(s) that the block always plays.
Sound parameters: sound - the sound to be played. Follows the same format as /playsound type - random/absolute. Random is used when the game must pick from multiple sounds to play. This is the default. To use a specific sound file (eg. sound.dig.stone1) you would set the type to 'absolute'. pitch - An array of two floats. The first is the average pitch for the sound and the second is how far the game is allowed to vary from the average. volume - The same as pitch. offset - The XYZ offset for the source of the sound from the coordinates of the block. The default is [0,0,0].
For the examples I have specified all parameters but in a working version parameters with default values may be left out and the game will accept them to be their defaults. All sound types (except for the dig sound) would also be optional and the game would use the dig sound in their place.
Besides the default sound types one would be able to add any other sound type.
This is how blocks like the dispenser would have their sounds specified. These ones are different in that, unless the block makes use of them in some way, they would be completely ignored.
Handling sounds this way would open up many opportunities for resource pack authors to not only change existing sounds but to add entirely new ones, although they would be still be limited to the sound types supported by the game. But mods/plugins would be able to easily add support for other types of sounds. In the case of the custom_block from example 3, a modder would be able to trigger the sound from within the logic for his block using code similar to something like this:
SoundManager.playSound(this, "backflip");
Rollback Post to RevisionRollBack
I'm not active on these forums, so forgive me if I don't respond!
If you want to contact me, try going through Discord or you can find me on GitHub where I am still updating the below mods (and more):
In the recent Minecraft update (1.8) we've seen some interesting additions to resource packs. Block models have been moved to JSON files allowing resource pack authors to define custom models for blocks to use. My suggestion now is the natural next step. Change block sounds to follow the same format.
Example 1:
Types of sounds:
place - sound(s) played when the block is placed.
dig - sound(s) for when the player punches the block.
mine - sound(s) played when the block breaks.
step - sound(s) played when an entity walks on the block.
ambient - sound(s) that the block always plays.
Sound parameters:
sound - the sound to be played. Follows the same format as /playsound
type - random/absolute. Random is used when the game must pick from multiple sounds to play. This is the default. To use a specific sound file (eg. sound.dig.stone1) you would set the type to 'absolute'.
pitch - An array of two floats. The first is the average pitch for the sound and the second is how far the game is allowed to vary from the average.
volume - The same as pitch.
offset - The XYZ offset for the source of the sound from the coordinates of the block. The default is [0,0,0].
For the examples I have specified all parameters but in a working version parameters with default values may be left out and the game will accept them to be their defaults. All sound types (except for the dig sound) would also be optional and the game would use the dig sound in their place.
Besides the default sound types one would be able to add any other sound type.
Example 3:
This is how blocks like the dispenser would have their sounds specified. These ones are different in that, unless the block makes use of them in some way, they would be completely ignored.
Handling sounds this way would open up many opportunities for resource pack authors to not only change existing sounds but to add entirely new ones, although they would be still be limited to the sound types supported by the game. But mods/plugins would be able to easily add support for other types of sounds. In the case of the custom_block from example 3, a modder would be able to trigger the sound from within the logic for his block using code similar to something like this:
If you want to contact me, try going through Discord or you can find me on GitHub where I am still updating the below mods (and more):
PRESENCE FOOTSTEPS - (github)
VOID FOG - (github)