From 0f9fdf64425ecc99df5b85c8c1102a3f76c96064 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 29 Jan 2019 17:32:48 +0000 Subject: [PATCH] Fixed Cactus and Sugarcane growing through bad blocks closes #2714 --- src/pocketmine/block/Cactus.php | 7 +++++-- src/pocketmine/block/Sugarcane.php | 6 ++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/pocketmine/block/Cactus.php b/src/pocketmine/block/Cactus.php index 9f2b6470f6..30effe6526 100644 --- a/src/pocketmine/block/Cactus.php +++ b/src/pocketmine/block/Cactus.php @@ -96,9 +96,12 @@ class Cactus extends Transparent{ if($b->getId() === self::AIR){ $ev = new BlockGrowEvent($b, BlockFactory::get(Block::CACTUS)); $ev->call(); - if(!$ev->isCancelled()){ - $this->getLevel()->setBlock($b, $ev->getNewState(), true); + if($ev->isCancelled()){ + break; } + $this->getLevel()->setBlock($b, $ev->getNewState(), true); + }else{ + break; } } $this->meta = 0; diff --git a/src/pocketmine/block/Sugarcane.php b/src/pocketmine/block/Sugarcane.php index 99d0f52435..884715e93e 100644 --- a/src/pocketmine/block/Sugarcane.php +++ b/src/pocketmine/block/Sugarcane.php @@ -50,9 +50,11 @@ class Sugarcane extends Flowable{ if($b->getId() === self::AIR){ $ev = new BlockGrowEvent($b, BlockFactory::get(Block::SUGARCANE_BLOCK)); $ev->call(); - if(!$ev->isCancelled()){ - $this->getLevel()->setBlock($b, $ev->getNewState(), true); + if($ev->isCancelled()){ + break; } + $this->getLevel()->setBlock($b, $ev->getNewState(), true); + }else{ break; } }