From 41705db68753cd7299c12be6821054d14ba59f49 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Tue, 9 Jul 2019 18:21:08 +0100 Subject: [PATCH] fix banner block picking --- src/pocketmine/block/Banner.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/pocketmine/block/Banner.php b/src/pocketmine/block/Banner.php index 85f499f6d..89d28a2ec 100644 --- a/src/pocketmine/block/Banner.php +++ b/src/pocketmine/block/Banner.php @@ -31,6 +31,7 @@ use pocketmine\block\utils\DyeColor; use pocketmine\item\Banner as ItemBanner; use pocketmine\item\Item; use pocketmine\item\ItemFactory; +use pocketmine\item\ItemIds; use pocketmine\math\AxisAlignedBB; use pocketmine\math\Facing; use pocketmine\math\Vector3; @@ -165,8 +166,12 @@ class Banner extends Transparent{ } } + public function asItem() : Item{ + return ItemFactory::get(ItemIds::BANNER, $this->baseColor->getInvertedMagicNumber()); + } + public function getDropsForCompatibleTool(Item $item) : array{ - $drop = ItemFactory::get(Item::BANNER, $this->baseColor->getInvertedMagicNumber()); + $drop = $this->asItem(); if($drop instanceof ItemBanner and !$this->patterns->isEmpty()){ $drop->setPatterns($this->patterns); } @@ -174,6 +179,14 @@ class Banner extends Transparent{ return [$drop]; } + public function getPickedItem(bool $addUserData = false) : Item{ + $result = $this->asItem(); + if($addUserData and $result instanceof ItemBanner and !$this->patterns->isEmpty()){ + $result->setPatterns($this->patterns); + } + return $result; + } + public function isAffectedBySilkTouch() : bool{ return false; }