From 28137efb53003911b82d365a9aa728b2c5f702c0 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 24 Sep 2018 18:26:20 -0400 Subject: [PATCH] Fixed server freezing when using chorus fruit from large Y coordinates --- src/pocketmine/item/ChorusFruit.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pocketmine/item/ChorusFruit.php b/src/pocketmine/item/ChorusFruit.php index d2a616a14..1e91ea052 100644 --- a/src/pocketmine/item/ChorusFruit.php +++ b/src/pocketmine/item/ChorusFruit.php @@ -47,17 +47,17 @@ class ChorusFruit extends Food{ } public function onConsume(Living $consumer){ + $level = $consumer->getLevel(); + assert($level !== null); + $minX = $consumer->getFloorX() - 8; - $minY = $consumer->getFloorY() - 8; + $minY = min($consumer->getFloorY(), $consumer->getLevel()->getWorldHeight()) - 8; $minZ = $consumer->getFloorZ() - 8; $maxX = $minX + 16; $maxY = $minY + 16; $maxZ = $minZ + 16; - $level = $consumer->getLevel(); - assert($level !== null); - for($attempts = 0; $attempts < 16; ++$attempts){ $x = mt_rand($minX, $maxX); $y = mt_rand($minY, $maxY);