Move block-breaking tool-type constants to a BlockToolType interface

This commit is contained in:
Dylan K. Taylor 2017-11-24 11:19:19 +00:00
parent 7e3cd24444
commit 55d0684565
100 changed files with 147 additions and 235 deletions

View File

@ -27,7 +27,6 @@ use pocketmine\inventory\AnvilInventory;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -66,7 +65,7 @@ class Anvil extends Fallable{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function recalculateBoundingBox() : ?AxisAlignedBB{

View File

@ -30,7 +30,6 @@ use pocketmine\entity\Entity;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\level\MovingObjectPosition;
use pocketmine\level\Position;
@ -223,12 +222,12 @@ class Block extends Position implements BlockIds, Metadatable{
public function getBreakTime(Item $item) : float{
$base = $this->getHardness() * 1.5;
if($this->canBeBrokenWith($item)){
if($this->getToolType() === Tool::TYPE_SHEARS and $item->isShears()){
if($this->getToolType() === BlockToolType::TYPE_SHEARS and $item->isShears()){
$base /= 15;
}elseif(
($this->getToolType() === Tool::TYPE_PICKAXE and ($tier = $item->isPickaxe()) !== false) or
($this->getToolType() === Tool::TYPE_AXE and ($tier = $item->isAxe()) !== false) or
($this->getToolType() === Tool::TYPE_SHOVEL and ($tier = $item->isShovel()) !== false)
($this->getToolType() === BlockToolType::TYPE_PICKAXE and ($tier = $item->isPickaxe()) !== false) or
($this->getToolType() === BlockToolType::TYPE_AXE and ($tier = $item->isAxe()) !== false) or
($this->getToolType() === BlockToolType::TYPE_SHOVEL and ($tier = $item->isShovel()) !== false)
){
switch($tier){
case TieredTool::TIER_WOODEN:
@ -320,7 +319,7 @@ class Block extends Position implements BlockIds, Metadatable{
* @return int
*/
public function getToolType() : int{
return Tool::TYPE_NONE;
return BlockToolType::TYPE_NONE;
}
/**

View File

@ -0,0 +1,38 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\block;
/**
* Types of tools that can be used to break blocks
*/
interface BlockToolType{
public const TYPE_NONE = 0;
public const TYPE_SWORD = 1;
public const TYPE_SHOVEL = 2;
public const TYPE_PICKAXE = 3;
public const TYPE_AXE = 4;
public const TYPE_SHEARS = 5;
}

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\block\utils\PillarRotationHelper;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -47,7 +46,7 @@ class BoneBlock extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
class Bookshelf extends Solid{
@ -44,7 +43,7 @@ class Bookshelf extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getDrops(Item $item) : array{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class BrewingStand extends Transparent{
protected $id = self::BREWING_STAND_BLOCK;
@ -42,7 +40,7 @@ class BrewingStand extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getVariantBitmask() : int{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class BrickStairs extends Stair{
protected $id = self::BRICK_STAIRS;
@ -42,7 +40,7 @@ class BrickStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Bricks extends Solid{
@ -44,7 +43,7 @@ class Bricks extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\nbt\tag\StringTag;
use pocketmine\Player;
@ -49,7 +48,7 @@ class BurningFurnace extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getLightLevel() : int{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
use pocketmine\nbt\tag\StringTag;
@ -49,7 +48,7 @@ class Chest extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
protected function recalculateBoundingBox() : ?AxisAlignedBB{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
class Clay extends Solid{
@ -40,7 +39,7 @@ class Clay extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Coal extends Solid{
@ -40,7 +39,7 @@ class Coal extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class CoalOre extends Solid{
@ -41,7 +40,7 @@ class CoalOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Cobblestone extends Solid{
@ -36,7 +35,7 @@ class Cobblestone extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class CobblestoneStairs extends Stair{
protected $id = self::COBBLESTONE_STAIRS;
@ -38,7 +36,7 @@ class CobblestoneStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -23,7 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -38,7 +37,7 @@ class CobblestoneWall extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\entity\Entity;
use pocketmine\item\Item;
use pocketmine\item\Tool;
class Cobweb extends Flowable{
@ -48,7 +47,7 @@ class Cobweb extends Flowable{
}
public function getToolType() : int{
return Tool::TYPE_SWORD;
return BlockToolType::TYPE_SWORD;
}
public function onEntityCollide(Entity $entity) : void{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\block\utils\ColorBlockMetaHelper;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Concrete extends Solid{
@ -45,7 +44,7 @@ class Concrete extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\block\utils\ColorBlockMetaHelper;
use pocketmine\item\Tool;
use pocketmine\level\Level;
class ConcretePowder extends Fallable{
@ -44,7 +43,7 @@ class ConcretePowder extends Fallable{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function onUpdate(int $type){

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\inventory\BigCraftingGrid;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\Player;
class CraftingTable extends Solid{
@ -45,7 +44,7 @@ class CraftingTable extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function onActivate(Item $item, Player $player = null) : bool{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\Vector3;
@ -54,7 +53,7 @@ class DeadBush extends Flowable{
}
public function getToolType() : int{
return Tool::TYPE_SHEARS;
return BlockToolType::TYPE_SHEARS;
}
public function getDrops(Item $item) : array{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Diamond extends Solid{
@ -44,7 +43,7 @@ class Diamond extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class DiamondOre extends Solid{
@ -45,7 +44,7 @@ class DiamondOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\Player;
class Dirt extends Solid{
@ -40,7 +39,7 @@ class Dirt extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class DoubleStoneSlab extends DoubleSlab{
@ -40,7 +39,7 @@ class DoubleStoneSlab extends DoubleSlab{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class DoubleWoodenSlab extends DoubleSlab{
protected $id = self::DOUBLE_WOODEN_SLAB;
@ -38,6 +36,6 @@ class DoubleWoodenSlab extends DoubleSlab{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
}

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Emerald extends Solid{
@ -40,7 +39,7 @@ class Emerald extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class EmeraldOre extends Solid{
@ -41,7 +40,7 @@ class EmeraldOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\inventory\EnchantInventory;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
use pocketmine\tile\EnchantTable as TileEnchantTable;
@ -61,7 +60,7 @@ class EnchantingTable extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function onActivate(Item $item, Player $player = null) : bool{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class EndStone extends Solid{
protected $id = self::END_STONE;
@ -38,7 +36,7 @@ class EndStone extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class EndStoneBricks extends Solid{
@ -44,7 +43,7 @@ class EndStoneBricks extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
use pocketmine\tile\EnderChest as TileEnderChest;
@ -53,7 +52,7 @@ class EnderChest extends Chest{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -47,7 +46,7 @@ class Farmland extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function ticksRandomly() : bool{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\level\sound\DoorSound;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -37,7 +36,7 @@ class FenceGate extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -37,7 +36,7 @@ class GlazedTerracotta extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
class Glowstone extends Transparent{
@ -44,7 +43,7 @@ class Glowstone extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getLightLevel() : int{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Gold extends Solid{
@ -44,7 +43,7 @@ class Gold extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class GoldOre extends Solid{
@ -44,7 +43,7 @@ class GoldOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\event\block\BlockSpreadEvent;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\generator\object\TallGrass as TallGrassObject;
use pocketmine\level\Level;
use pocketmine\math\Vector3;
@ -50,7 +49,7 @@ class Grass extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getDrops(Item $item) : array{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -43,7 +42,7 @@ class GrassPath extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
protected function recalculateBoundingBox() : ?AxisAlignedBB{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
class Gravel extends Fallable{
@ -44,7 +43,7 @@ class Gravel extends Fallable{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getDrops(Item $item) : array{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class HardenedClay extends Solid{
protected $id = self::HARDENED_CLAY;
@ -38,7 +36,7 @@ class HardenedClay extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\Player;
@ -53,7 +52,7 @@ class Ice extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function onBreak(Item $item, Player $player = null) : bool{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Iron extends Solid{
@ -40,7 +39,7 @@ class Iron extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class IronBars extends Thin{
@ -44,7 +43,7 @@ class IronBars extends Thin{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getVariantBitmask() : int{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class IronDoor extends Door{
@ -42,7 +41,7 @@ class IronDoor extends Door{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class IronOre extends Solid{
@ -40,7 +39,7 @@ class IronOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class IronTrapdoor extends Trapdoor{
protected $id = self::IRON_TRAPDOOR;
@ -38,6 +36,6 @@ class IronTrapdoor extends Trapdoor{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
}

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\entity\Entity;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -122,7 +121,7 @@ class Ladder extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getVariantBitmask() : int{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Lapis extends Solid{
@ -40,7 +39,7 @@ class Lapis extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class LapisOre extends Solid{
@ -41,7 +40,7 @@ class LapisOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\event\block\LeavesDecayEvent;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -51,7 +50,7 @@ class Leaves extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_SHEARS;
return BlockToolType::TYPE_SHEARS;
}
public function getName() : string{

View File

@ -28,7 +28,6 @@ use pocketmine\event\entity\EntityDamageByBlockEvent;
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Magma extends Solid{
@ -47,7 +46,7 @@ class Magma extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getLightLevel() : int{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
class Melon extends Transparent{
@ -44,7 +43,7 @@ class Melon extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getDrops(Item $item) : array{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
class MonsterSpawner extends Transparent{
@ -39,7 +38,7 @@ class MonsterSpawner extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\event\block\BlockSpreadEvent;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\Vector3;
use pocketmine\Server;
@ -44,7 +43,7 @@ class Mycelium extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getHardness() : float{

View File

@ -25,12 +25,11 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class NetherBrick extends Solid{
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class NetherBrickFence extends Fence{
@ -36,7 +35,7 @@ class NetherBrickFence extends Fence{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class NetherBrickStairs extends Stair{
protected $id = self::NETHER_BRICK_STAIRS;
@ -42,7 +40,7 @@ class NetherBrickStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
}

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class NetherQuartzOre extends Solid{
@ -45,7 +44,7 @@ class NetherQuartzOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class NetherReactor extends Solid{
protected $id = Block::NETHER_REACTOR;
@ -45,7 +44,7 @@ class NetherReactor extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Netherrack extends Solid{
@ -44,7 +43,7 @@ class Netherrack extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Obsidian extends Solid{
@ -40,7 +39,7 @@ class Obsidian extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class PackedIce extends Solid{
protected $id = self::PACKED_ICE;
@ -46,7 +44,7 @@ class PackedIce extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
}

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class Planks extends Solid{
public const OAK = 0;
public const SPRUCE = 1;
@ -44,7 +42,7 @@ class Planks extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class Podzol extends Solid{
protected $id = self::PODZOL;
@ -34,7 +32,7 @@ class Podzol extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Prismarine extends Solid{
@ -53,7 +52,7 @@ class Prismarine extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getVariantBitmask() : int{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -41,7 +40,7 @@ class Pumpkin extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class PurpurStairs extends Stair{
protected $id = self::PURPUR_STAIRS;
@ -38,7 +36,7 @@ class PurpurStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\block\utils\PillarRotationHelper;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -63,7 +62,7 @@ class Quartz extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getVariantBitmask() : int{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class QuartzStairs extends Stair{
protected $id = self::QUARTZ_STAIRS;
@ -38,7 +36,7 @@ class QuartzStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
class RedMushroomBlock extends Solid{
@ -43,7 +42,7 @@ class RedMushroomBlock extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getDrops(Item $item) : array{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Redstone extends Solid{
@ -40,7 +39,7 @@ class Redstone extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -62,7 +61,7 @@ class RedstoneOre extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class Sand extends Fallable{
protected $id = self::SAND;
@ -38,7 +36,7 @@ class Sand extends Fallable{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Sandstone extends Solid{
@ -53,7 +52,7 @@ class Sandstone extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getVariantBitmask() : int{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class SandstoneStairs extends Stair{
protected $id = self::SANDSTONE_STAIRS;
@ -38,7 +36,7 @@ class SandstoneStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -91,7 +90,7 @@ class SignPost extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getVariantBitmask() : int{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class Snow extends Solid{
protected $id = self::SNOW_BLOCK;
@ -38,7 +36,7 @@ class Snow extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -51,7 +50,7 @@ class SnowLayer extends Flowable{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
public function ticksRandomly() : bool{

View File

@ -23,7 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
use pocketmine\math\AxisAlignedBB;
class SoulSand extends Solid{
@ -43,7 +42,7 @@ class SoulSand extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHOVEL;
return BlockToolType::TYPE_SHOVEL;
}
protected function recalculateBoundingBox() : ?AxisAlignedBB{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\block\utils\ColorBlockMetaHelper;
use pocketmine\item\Tool;
class StainedClay extends Solid{
@ -39,7 +38,7 @@ class StainedClay extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
use pocketmine\Player;

View File

@ -23,11 +23,10 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\ItemFactory;
use pocketmine\math\AxisAlignedBB;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\item\ItemFactory;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
use pocketmine\Player;
use pocketmine\tile\Banner as TileBanner;
@ -89,7 +88,7 @@ class StandingBanner extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getVariantBitmask() : int{

View File

@ -26,7 +26,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Stone extends Solid{
public const NORMAL = 0;
@ -48,7 +47,7 @@ class Stone extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class StoneBrickStairs extends Stair{
protected $id = self::STONE_BRICK_STAIRS;
@ -34,7 +32,7 @@ class StoneBrickStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getHardness() : float{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class StoneBricks extends Solid{
public const NORMAL = 0;
@ -44,7 +43,7 @@ class StoneBricks extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class StoneButton extends Button{
protected $id = self::STONE_BUTTON;
@ -38,6 +36,6 @@ class StoneButton extends Button{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
}

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class StoneSlab extends Slab{
public const STONE = 0;
@ -62,7 +61,7 @@ class StoneSlab extends Slab{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\TieredTool;
use pocketmine\item\Tool;
class Stonecutter extends Solid{
@ -40,7 +39,7 @@ class Stonecutter extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_PICKAXE;
return BlockToolType::TYPE_PICKAXE;
}
public function getDrops(Item $item) : array{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\level\sound\DoorSound;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -153,7 +152,7 @@ class Trapdoor extends Transparent{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getFuelTime() : int{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\entity\Entity;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\level\Level;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
@ -209,6 +208,6 @@ class Vine extends Flowable{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
}

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\block\utils\PillarRotationHelper;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\math\Vector3;
use pocketmine\Player;
@ -65,7 +64,7 @@ class Wood extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getFuelTime() : int{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class WoodenButton extends Button{
protected $id = self::WOODEN_BUTTON;
@ -38,6 +36,6 @@ class WoodenButton extends Button{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
}

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class WoodenDoor extends Door{
public function getHardness() : float{
@ -32,6 +30,6 @@ class WoodenDoor extends Door{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
}

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class WoodenFence extends Fence{
public const FENCE_OAK = 0;
public const FENCE_SPRUCE = 1;
@ -40,7 +38,7 @@ class WoodenFence extends Fence{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getName() : string{

View File

@ -23,8 +23,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\item\Tool;
class WoodenSlab extends Slab{
protected $id = self::WOODEN_SLAB;
@ -50,7 +48,7 @@ class WoodenSlab extends Slab{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getFuelTime() : int{

View File

@ -25,7 +25,6 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\Tool;
class WoodenStairs extends Stair{
@ -38,7 +37,7 @@ class WoodenStairs extends Stair{
}
public function getToolType() : int{
return Tool::TYPE_AXE;
return BlockToolType::TYPE_AXE;
}
public function getDrops(Item $item) : array{

View File

@ -24,7 +24,6 @@ declare(strict_types=1);
namespace pocketmine\block;
use pocketmine\block\utils\ColorBlockMetaHelper;
use pocketmine\item\Tool;
class Wool extends Solid{
@ -39,7 +38,7 @@ class Wool extends Solid{
}
public function getToolType() : int{
return Tool::TYPE_SHEARS;
return BlockToolType::TYPE_SHEARS;
}
public function getName() : string{

View File

@ -24,17 +24,11 @@ declare(strict_types=1);
namespace pocketmine\item;
use pocketmine\block\Block;
use pocketmine\block\BlockToolType;
use pocketmine\entity\Entity;
abstract class Tool extends Durable{
public const TYPE_NONE = 0;
public const TYPE_SWORD = 1;
public const TYPE_SHOVEL = 2;
public const TYPE_PICKAXE = 3;
public const TYPE_AXE = 4;
public const TYPE_SHEARS = 5;
public function getMaxStackSize() : int{
return 1;
}
@ -53,11 +47,11 @@ abstract class Tool extends Durable{
if($object instanceof Block){
if(
$object->getToolType() === Tool::TYPE_PICKAXE and $this->isPickaxe() or
$object->getToolType() === Tool::TYPE_SHOVEL and $this->isShovel() or
$object->getToolType() === Tool::TYPE_AXE and $this->isAxe() or
$object->getToolType() === Tool::TYPE_SWORD and $this->isSword() or
$object->getToolType() === Tool::TYPE_SHEARS and $this->isShears()
$object->getToolType() === BlockToolType::TYPE_PICKAXE and $this->isPickaxe() or
$object->getToolType() === BlockToolType::TYPE_SHOVEL and $this->isShovel() or
$object->getToolType() === BlockToolType::TYPE_AXE and $this->isAxe() or
$object->getToolType() === BlockToolType::TYPE_SWORD and $this->isSword() or
$object->getToolType() === BlockToolType::TYPE_SHEARS and $this->isShears()
){
$this->applyDamage(1);
}elseif(!$this->isShears() and $object->getBreakTime($this) > 0){