diff options
-rw-r--r-- | src/main/java/org/bukkit/SoundCategory.java | 18 | ||||
-rw-r--r-- | src/main/java/org/bukkit/World.java | 28 | ||||
-rw-r--r-- | src/main/java/org/bukkit/entity/Player.java | 29 |
3 files changed, 75 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/SoundCategory.java b/src/main/java/org/bukkit/SoundCategory.java new file mode 100644 index 00000000..ac5e263d --- /dev/null +++ b/src/main/java/org/bukkit/SoundCategory.java @@ -0,0 +1,18 @@ +package org.bukkit; + +/** + * An Enum of categories for sounds. + */ +public enum SoundCategory { + + MASTER, + MUSIC, + RECORDS, + WEATHER, + BLOCKS, + HOSTILE, + NEUTRAL, + PLAYERS, + AMBIENT, + VOICE; +} diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java index c14840a2..8dd254aa 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1156,6 +1156,34 @@ public interface World extends PluginMessageRecipient, Metadatable { void playSound(Location location, String sound, float volume, float pitch); /** + * Play a Sound at the provided Location in the World. + * <p> + * This function will fail silently if Location or Sound are null. + * + * @param location The location to play the sound + * @param sound The sound to play + * @param category the category of the sound + * @param volume The volume of the sound + * @param pitch The pitch of the sound + */ + void playSound(Location location, Sound sound, SoundCategory category, float volume, float pitch); + + /** + * Play a Sound at the provided Location in the World. + * <p> + * This function will fail silently if Location or Sound are null. No sound + * will be heard by the players if their clients do not have the respective + * sound for the value passed. + * + * @param location the location to play the sound + * @param sound the internal sound name to play + * @param category the category of the sound + * @param volume the volume of the sound + * @param pitch the pitch of the sound + */ + void playSound(Location location, String sound, SoundCategory category, float volume, float pitch); + + /** * Get existing rules * * @return An array of rules diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java index 73816a05..d3210229 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -13,6 +13,7 @@ import org.bukkit.Note; import org.bukkit.OfflinePlayer; import org.bukkit.Particle; import org.bukkit.Sound; +import org.bukkit.SoundCategory; import org.bukkit.Statistic; import org.bukkit.WeatherType; import org.bukkit.command.CommandSender; @@ -242,6 +243,34 @@ public interface Player extends HumanEntity, Conversable, CommandSender, Offline public void playSound(Location location, String sound, float volume, float pitch); /** + * Play a sound for a player at the location. + * <p> + * This function will fail silently if Location or Sound are null. + * + * @param location The location to play the sound + * @param sound The sound to play + * @param category The category of the sound + * @param volume The volume of the sound + * @param pitch The pitch of the sound + */ + public void playSound(Location location, Sound sound, SoundCategory category, float volume, float pitch); + + /** + * Play a sound for a player at the location. + * <p> + * This function will fail silently if Location or Sound are null. No sound + * will be heard by the player if their client does not have the respective + * sound for the value passed. + * + * @param location the location to play the sound + * @param sound the internal sound name to play + * @param category The category of the sound + * @param volume the volume of the sound + * @param pitch the pitch of the sound + */ + public void playSound(Location location, String sound, SoundCategory category, float volume, float pitch); + + /** * Stop the specified sound from playing. * * @param sound the sound to stop |