49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
var bkSound = org.bukkit.Sound,
|
|
bkLocation = org.bukkit.Location,
|
|
i = 0,
|
|
allSounds = bkSound.values(),
|
|
len = allSounds.length,
|
|
sound,
|
|
soundName;
|
|
|
|
for ( ; i < len; i++ ) {
|
|
sound = allSounds[i];
|
|
soundName = '' + sound.name();
|
|
exports[soundName] = sound;
|
|
}
|
|
/*************************************************************************
|
|
## Sounds Module
|
|
|
|
This module is a simple wrapper around the Bukkit Sound class and provides
|
|
a simpler way to play sounds. All of the org.bukkit.Sound Enum values are attached.
|
|
|
|
### Usage:
|
|
|
|
var sounds = require('sounds');
|
|
sounds.play( self, sounds.VILLAGER_NO , 1, 0); // plays VILLAGER_NO sound at full volume and medium pitch
|
|
sounds.play( self, sounds.VILLAGER_NO ); // same as previous statement
|
|
|
|
The play() function takes either a Location object or any object which has a location.
|
|
The volume parameter is in the range 0 to 1 and the pitch parameter is in the range 0 to 4.
|
|
***/
|
|
exports.play = function(locationOrHasLocation, sound, volume, pitch) {
|
|
var location = null;
|
|
if (!locationOrHasLocation)
|
|
return;
|
|
if (locationOrHasLocation instanceof bkLocation){
|
|
location = locationOrHasLocation;
|
|
} else {
|
|
locationOrHasLocation = locationOrHasLocation.location;
|
|
if (locationOrHasLocation && locationOrHasLocation instanceof bkLocation ){
|
|
location = locationOrHasLocation;
|
|
}
|
|
}
|
|
if (!location)
|
|
return;
|
|
if (!volume)
|
|
volume = 1;
|
|
if (!pitch)
|
|
pitch = 0;
|
|
location.world.playSound(location, sound, volume, pitch);
|
|
};
|