Fixed misuse of kill() and close() when deleting entities (#1490)

This commit is contained in:
Dylan K. Taylor
2017-11-04 19:30:48 +00:00
committed by GitHub
parent e84ab8fec2
commit eab7b93483
10 changed files with 27 additions and 13 deletions

View File

@ -75,7 +75,7 @@ class Bow extends Tool{
$entity = $ev->getProjectile(); //This might have been changed by plugins
if($ev->isCancelled()){
$entity->kill();
$entity->flagForDespawn();
$player->getInventory()->sendContents($player);
}else{
$entity->setMotion($entity->getMotion()->multiply($ev->getForce()));
@ -87,7 +87,7 @@ class Bow extends Tool{
if($entity instanceof Projectile){
$player->getServer()->getPluginManager()->callEvent($projectileEv = new ProjectileLaunchEvent($entity));
if($projectileEv->isCancelled()){
$ev->getProjectile()->kill();
$ev->getProjectile()->flagForDespawn();
}else{
$ev->getProjectile()->spawnToAll();
$player->level->addSound(new LaunchSound($player), $player->getViewers());

View File

@ -49,7 +49,7 @@ abstract class ProjectileItem extends Item{
if($projectile instanceof Projectile){
$player->getServer()->getPluginManager()->callEvent($projectileEv = new ProjectileLaunchEvent($projectile));
if($projectileEv->isCancelled()){
$projectile->kill();
$projectile->flagForDespawn();
}else{
$projectile->spawnToAll();
$player->getLevel()->addSound(new LaunchSound($player), $player->getViewers());