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.
This commit is contained in:
parent
0971807a34
commit
6a779790eb
@ -74,10 +74,10 @@ public class PlaySoundCommand extends VanillaCommand {
|
|||||||
final double delta = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ) / 2.0D;
|
final double delta = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ) / 2.0D;
|
||||||
|
|
||||||
if (delta > 0.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 {
|
} else {
|
||||||
player.playSound(soundLocation, soundArg, (float) volume, (float) pitch);
|
player.playSound(soundLocation, soundArg, (float) volume, (float) pitch);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user