From bf71ddb0b56b5d6f8bb1b69eb4b250001debaa0a Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 19 Feb 2019 10:01:57 +0000 Subject: [PATCH] Snow layers now fall as expected --- src/pocketmine/block/SnowLayer.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/pocketmine/block/SnowLayer.php b/src/pocketmine/block/SnowLayer.php index f4ab36765..542d2f700 100644 --- a/src/pocketmine/block/SnowLayer.php +++ b/src/pocketmine/block/SnowLayer.php @@ -24,6 +24,8 @@ declare(strict_types=1); namespace pocketmine\block; use pocketmine\block\utils\BlockDataValidator; +use pocketmine\block\utils\Fallable; +use pocketmine\block\utils\FallableTrait; use pocketmine\item\Item; use pocketmine\item\ItemFactory; use pocketmine\item\TieredTool; @@ -34,7 +36,8 @@ use pocketmine\Player; use function floor; use function max; -class SnowLayer extends Flowable{ +class SnowLayer extends Flowable implements Fallable{ + use FallableTrait; protected $id = self::SNOW_LAYER; @@ -97,12 +100,6 @@ class SnowLayer extends Flowable{ return false; } - public function onNearbyBlockChange() : void{ - if(!$this->getSide(Facing::DOWN)->isSolid()){ - $this->getLevel()->setBlock($this, BlockFactory::get(Block::AIR), false); - } - } - public function ticksRandomly() : bool{ return true; } @@ -113,6 +110,10 @@ class SnowLayer extends Flowable{ } } + public function tickFalling() : ?Block{ + return null; + } + public function getDropsForCompatibleTool(Item $item) : array{ return [ ItemFactory::get(Item::SNOWBALL, 0, max(1, (int) floor($this->layers / 2)))