summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2012-08-21 17:23:17 -0500
committerfeildmaster <admin@feildmaster.com>2012-08-21 19:13:19 -0500
commit161ab5edc67e0cb73a7f2a496b0b957da04e8fbb (patch)
tree419fcead1235a4349334b6e852d6d3f689a01fa9 /src/main
parentccc760d629e657e3b349ac9ea7abd890b4592106 (diff)
downloadcraftbukkit-161ab5edc67e0cb73a7f2a496b0b957da04e8fbb.tar
craftbukkit-161ab5edc67e0cb73a7f2a496b0b957da04e8fbb.tar.gz
craftbukkit-161ab5edc67e0cb73a7f2a496b0b957da04e8fbb.tar.lz
craftbukkit-161ab5edc67e0cb73a7f2a496b0b957da04e8fbb.tar.xz
craftbukkit-161ab5edc67e0cb73a7f2a496b0b957da04e8fbb.zip
Implement API for Sound, and playing the sounds for Worlds and Players. Adds BUKKIT-1430, BUKKIT-1226 and BUKKIT-2019
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/CraftWorld.java11
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java11
2 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 0f788626..33db5ceb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -41,6 +41,7 @@ import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.generator.BlockPopulator;
import org.bukkit.Difficulty;
+import org.bukkit.Sound;
import org.bukkit.craftbukkit.block.CraftBlock;
import org.bukkit.craftbukkit.inventory.CraftItemStack;
import org.bukkit.plugin.messaging.StandardMessenger;
@@ -1161,4 +1162,14 @@ public class CraftWorld implements World {
public void setWaterAnimalSpawnLimit(int limit) {
waterAnimalSpawn = limit;
}
+
+ public void playSound(Location loc, Sound sound, float volume, float pitch) {
+ if (loc == null || sound == null) return;
+
+ double x = loc.getX();
+ double y = loc.getY();
+ double z = loc.getZ();
+
+ getHandle().makeSound(x, y, z, sound.getSound(), volume, pitch);
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index bb7e5069..50c6875c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -250,6 +250,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().netServerHandler.sendPacket(new Packet54PlayNoteBlock(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), id, instrument.getType(), note.getId()));
}
+ public void playSound(Location loc, Sound sound, float volume, float pitch) {
+ if (loc == null || sound == null || getHandle().netServerHandler == null) return;
+
+ double x = loc.getBlockX() + 0.5;
+ double y = loc.getBlockY() + 0.5;
+ double z = loc.getBlockZ() + 0.5;
+
+ Packet62NamedSoundEffect packet = new Packet62NamedSoundEffect(sound.getSound(), x, y, z, volume, pitch);
+ getHandle().netServerHandler.sendPacket(packet);
+ }
+
public void playEffect(Location loc, Effect effect, int data) {
if (getHandle().netServerHandler == null) return;