fix banner block picking

This commit is contained in:
Dylan K. Taylor 2019-07-09 18:21:08 +01:00
parent 08e1f6405c
commit 41705db687

View File

@ -31,6 +31,7 @@ use pocketmine\block\utils\DyeColor;
use pocketmine\item\Banner as ItemBanner; use pocketmine\item\Banner as ItemBanner;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\item\ItemFactory; use pocketmine\item\ItemFactory;
use pocketmine\item\ItemIds;
use pocketmine\math\AxisAlignedBB; use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; 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{ 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()){ if($drop instanceof ItemBanner and !$this->patterns->isEmpty()){
$drop->setPatterns($this->patterns); $drop->setPatterns($this->patterns);
} }
@ -174,6 +179,14 @@ class Banner extends Transparent{
return [$drop]; 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{ public function isAffectedBySilkTouch() : bool{
return false; return false;
} }