diff --git a/src/pocketmine/block/Anvil.php b/src/pocketmine/block/Anvil.php index d4b09eae6..73aceebb5 100644 --- a/src/pocketmine/block/Anvil.php +++ b/src/pocketmine/block/Anvil.php @@ -25,7 +25,6 @@ namespace pocketmine\block; use pocketmine\inventory\AnvilInventory; use pocketmine\item\Item; -use pocketmine\item\ItemFactory; use pocketmine\item\TieredTool; use pocketmine\math\AxisAlignedBB; use pocketmine\math\Vector3; @@ -55,13 +54,17 @@ class Anvil extends Fallable{ return 6000; } + public function getVariantBitmask() : int{ + return 0x0c; + } + public function getName() : string{ static $names = [ self::TYPE_NORMAL => "Anvil", self::TYPE_SLIGHTLY_DAMAGED => "Slightly Damaged Anvil", self::TYPE_VERY_DAMAGED => "Very Damaged Anvil" ]; - return $names[$this->meta & 0x0c] ?? "Anvil"; + return $names[$this->getVariant()] ?? "Anvil"; } public function getToolType() : int{ @@ -106,13 +109,7 @@ class Anvil extends Fallable{ public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{ $direction = ($player !== null ? $player->getDirection() : 0) & 0x03; - $this->meta = ($this->meta & 0x0c) | $direction; + $this->meta = $this->getVariant() | $direction; return $this->getLevel()->setBlock($blockReplace, $this, true, true); } - - public function getDropsForCompatibleTool(Item $item) : array{ - return [ - ItemFactory::get($this->getItemId(), $this->getDamage() >> 2) - ]; - } }