summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
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;