From b9642786ebe58fe44fe592ce870617a26aa5e874 Mon Sep 17 00:00:00 2001 From: Bukkit/Spigot Date: Sat, 3 Aug 2013 18:26:31 -0500 Subject: [PATCH] Use player as point of reference for min volume. Fixes BUKKIT-4640 When the minimum volume is being used because the distance is over a threshold, the unit vector delta should be added to the player's location, instead of where the command specified location. This change makes the player's location the point of reference for playing sounds when distance to volume scale is lower than minimum specified volume. By: Wesley Wolfe --- .../java/org/bukkit/command/defaults/PlaySoundCommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper-api/src/main/java/org/bukkit/command/defaults/PlaySoundCommand.java b/paper-api/src/main/java/org/bukkit/command/defaults/PlaySoundCommand.java index 3dfb0483cb..0cb5ca2d6e 100644 --- a/paper-api/src/main/java/org/bukkit/command/defaults/PlaySoundCommand.java +++ b/paper-api/src/main/java/org/bukkit/command/defaults/PlaySoundCommand.java @@ -74,10 +74,10 @@ public class PlaySoundCommand extends VanillaCommand { final double delta = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ) / 2.0D; if (delta > 0.0D) { - soundLocation.add(deltaX / delta, deltaY / delta, deltaZ / delta); + location.add(deltaX / delta, deltaY / delta, deltaZ / delta); } - player.playSound(soundLocation, soundArg, (float) minimumVolume, (float) pitch); + player.playSound(location, soundArg, (float) minimumVolume, (float) pitch); } else { player.playSound(soundLocation, soundArg, (float) volume, (float) pitch); }