From 76174f192036cad1436e9f8f085d92bf3f472db0 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 23 Jun 2018 13:02:19 +0100 Subject: [PATCH] Explosion: avoid leaving arrows stuck in nonexistent blocks --- src/pocketmine/level/Explosion.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pocketmine/level/Explosion.php b/src/pocketmine/level/Explosion.php index 49300a66f..cc45e2082 100644 --- a/src/pocketmine/level/Explosion.php +++ b/src/pocketmine/level/Explosion.php @@ -236,6 +236,9 @@ class Explosion{ if(!isset($this->affectedBlocks[$index = Level::blockHash($sideBlock->x, $sideBlock->y, $sideBlock->z)]) and !isset($updateBlocks[$index])){ $this->level->getServer()->getPluginManager()->callEvent($ev = new BlockUpdateEvent($this->level->getBlockAt($sideBlock->x, $sideBlock->y, $sideBlock->z))); if(!$ev->isCancelled()){ + foreach($this->level->getNearbyEntities(new AxisAlignedBB($sideBlock->x - 1, $sideBlock->y - 1, $sideBlock->z - 1, $sideBlock->x + 2, $sideBlock->y + 2, $sideBlock->z + 2)) as $entity){ + $entity->onNearbyBlockChange(); + } $ev->getBlock()->onNearbyBlockChange(); } $updateBlocks[$index] = true;