diff --git a/src/pocketmine/item/Bow.php b/src/pocketmine/item/Bow.php index 05ff62828..5807401ad 100644 --- a/src/pocketmine/item/Bow.php +++ b/src/pocketmine/item/Bow.php @@ -27,7 +27,7 @@ use pocketmine\entity\Entity; use pocketmine\entity\projectile\Projectile; use pocketmine\event\entity\EntityShootBowEvent; use pocketmine\event\entity\ProjectileLaunchEvent; -use pocketmine\level\sound\LaunchSound; +use pocketmine\network\mcpe\protocol\LevelSoundEventPacket; use pocketmine\Player; class Bow extends Tool{ @@ -90,7 +90,7 @@ class Bow extends Tool{ $ev->getProjectile()->flagForDespawn(); }else{ $ev->getProjectile()->spawnToAll(); - $player->level->addSound(new LaunchSound($player), $player->getViewers()); + $player->getLevel()->broadcastLevelSoundEvent($player, LevelSoundEventPacket::SOUND_BOW); } }else{ $entity->spawnToAll(); diff --git a/src/pocketmine/item/ProjectileItem.php b/src/pocketmine/item/ProjectileItem.php index bc2385781..0b6a83ea5 100644 --- a/src/pocketmine/item/ProjectileItem.php +++ b/src/pocketmine/item/ProjectileItem.php @@ -26,8 +26,8 @@ namespace pocketmine\item; use pocketmine\entity\Entity; use pocketmine\entity\projectile\Projectile; use pocketmine\event\entity\ProjectileLaunchEvent; -use pocketmine\level\sound\LaunchSound; use pocketmine\math\Vector3; +use pocketmine\network\mcpe\protocol\LevelSoundEventPacket; use pocketmine\Player; abstract class ProjectileItem extends Item{ @@ -52,7 +52,10 @@ abstract class ProjectileItem extends Item{ $projectile->flagForDespawn(); }else{ $projectile->spawnToAll(); - $player->getLevel()->addSound(new LaunchSound($player), $player->getViewers()); + + //319 is the Player's entity type ID in MCPE, with all its flags (which we don't know) + //without this, it doesn't work at all. + $player->getLevel()->broadcastLevelSoundEvent($player, LevelSoundEventPacket::SOUND_THROW, 319); } }else{ $projectile->spawnToAll();