diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index f0a45b0c7..827a1e9a3 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -516,12 +516,16 @@ class Level implements ChunkManager, Metadatable{ * @param int $soundId * @param int $pitch * @param int $extraData + * @param bool $unknown + * @param bool $disableRelativeVolume If true, all players receiving this sound-event will hear the sound at full volume regardless of distance */ - public function broadcastLevelSoundEvent(Vector3 $pos, int $soundId, int $pitch = 1, int $extraData = -1){ + public function broadcastLevelSoundEvent(Vector3 $pos, int $soundId, int $pitch = 1, int $extraData = -1, bool $unknown = false, bool $disableRelativeVolume = false){ $pk = new LevelSoundEventPacket(); $pk->sound = $soundId; $pk->pitch = $pitch; $pk->extraData = $extraData; + $pk->unknownBool = $unknown; + $pk->disableRelativeVolume = $disableRelativeVolume; list($pk->x, $pk->y, $pk->z) = [$pos->x, $pos->y, $pos->z]; $this->addChunkPacket($pos->x >> 4, $pos->z >> 4, $pk); } diff --git a/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php b/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php index 769996aaa..f3fb67068 100644 --- a/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php +++ b/src/pocketmine/network/mcpe/protocol/LevelSoundEventPacket.php @@ -134,7 +134,7 @@ class LevelSoundEventPacket extends DataPacket{ public $extraData = -1; public $pitch = 1; public $unknownBool = false; - public $unknownBool2 = false; + public $disableRelativeVolume = false; public function decode(){ $this->sound = $this->getByte(); @@ -142,7 +142,7 @@ class LevelSoundEventPacket extends DataPacket{ $this->extraData = $this->getVarInt(); $this->pitch = $this->getVarInt(); $this->unknownBool = $this->getBool(); - $this->unknownBool2 = $this->getBool(); + $this->disableRelativeVolume = $this->getBool(); } public function encode(){ @@ -152,7 +152,7 @@ class LevelSoundEventPacket extends DataPacket{ $this->putVarInt($this->extraData); $this->putVarInt($this->pitch); $this->putBool($this->unknownBool); - $this->putBool($this->unknownBool2); + $this->putBool($this->disableRelativeVolume); } public function handle(NetworkSession $session) : bool{