diff --git a/src/pocketmine/block/BrewingStand.php b/src/pocketmine/block/BrewingStand.php index 2789d08da..c1c6ef839 100644 --- a/src/pocketmine/block/BrewingStand.php +++ b/src/pocketmine/block/BrewingStand.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; + class BrewingStand extends Transparent{ protected $id = self::BREWING_STAND_BLOCK; @@ -43,6 +45,10 @@ class BrewingStand extends Transparent{ return BlockToolType::TYPE_PICKAXE; } + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } + public function getVariantBitmask() : int{ return 0; } diff --git a/src/pocketmine/block/CobblestoneWall.php b/src/pocketmine/block/CobblestoneWall.php index 2ab02c3f4..f051c438e 100644 --- a/src/pocketmine/block/CobblestoneWall.php +++ b/src/pocketmine/block/CobblestoneWall.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; use pocketmine\math\AxisAlignedBB; use pocketmine\math\Vector3; @@ -40,6 +41,10 @@ class CobblestoneWall extends Transparent{ return BlockToolType::TYPE_PICKAXE; } + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } + public function getHardness() : float{ return 2; } diff --git a/src/pocketmine/block/CocoaBlock.php b/src/pocketmine/block/CocoaBlock.php index c8a4dd5d9..f98ec386f 100644 --- a/src/pocketmine/block/CocoaBlock.php +++ b/src/pocketmine/block/CocoaBlock.php @@ -35,5 +35,13 @@ class CocoaBlock extends Transparent{ return "Cocoa Block"; } + public function getHardness() : float{ + return 0.2; + } + + public function getToolType() : int{ + return BlockToolType::TYPE_AXE; + } + //TODO } diff --git a/src/pocketmine/block/DaylightSensor.php b/src/pocketmine/block/DaylightSensor.php index f3fa72b53..b5381b41a 100644 --- a/src/pocketmine/block/DaylightSensor.php +++ b/src/pocketmine/block/DaylightSensor.php @@ -43,5 +43,9 @@ class DaylightSensor extends Transparent{ return 300; } + public function getToolType() : int{ + return BlockToolType::TYPE_AXE; + } + //TODO } diff --git a/src/pocketmine/block/EndStone.php b/src/pocketmine/block/EndStone.php index f4dd36830..897fd2ee3 100644 --- a/src/pocketmine/block/EndStone.php +++ b/src/pocketmine/block/EndStone.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; + class EndStone extends Solid{ protected $id = self::END_STONE; @@ -39,6 +41,10 @@ class EndStone extends Solid{ return BlockToolType::TYPE_PICKAXE; } + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } + public function getHardness() : float{ return 3; } diff --git a/src/pocketmine/block/GlowingObsidian.php b/src/pocketmine/block/GlowingObsidian.php index f83f8fc5c..49fee8532 100644 --- a/src/pocketmine/block/GlowingObsidian.php +++ b/src/pocketmine/block/GlowingObsidian.php @@ -24,6 +24,8 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; + class GlowingObsidian extends Solid{ protected $id = self::GLOWING_OBSIDIAN; @@ -47,4 +49,12 @@ class GlowingObsidian extends Solid{ public function getBlastResistance() : float{ return 50; } + + public function getToolType() : int{ + return BlockToolType::TYPE_PICKAXE; + } + + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_DIAMOND; + } } \ No newline at end of file diff --git a/src/pocketmine/block/IronTrapdoor.php b/src/pocketmine/block/IronTrapdoor.php index 197141a7d..cd52d5030 100644 --- a/src/pocketmine/block/IronTrapdoor.php +++ b/src/pocketmine/block/IronTrapdoor.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; + class IronTrapdoor extends Trapdoor{ protected $id = self::IRON_TRAPDOOR; @@ -38,4 +40,8 @@ class IronTrapdoor extends Trapdoor{ public function getToolType() : int{ return BlockToolType::TYPE_PICKAXE; } + + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } } diff --git a/src/pocketmine/block/Lever.php b/src/pocketmine/block/Lever.php index add57cf41..27e2d2e3a 100644 --- a/src/pocketmine/block/Lever.php +++ b/src/pocketmine/block/Lever.php @@ -34,4 +34,8 @@ class Lever extends Flowable{ public function getName() : string{ return "Lever"; } + + public function getHardness() : float{ + return 0.5; + } } diff --git a/src/pocketmine/block/MonsterSpawner.php b/src/pocketmine/block/MonsterSpawner.php index 88048e5f1..b689dfd36 100644 --- a/src/pocketmine/block/MonsterSpawner.php +++ b/src/pocketmine/block/MonsterSpawner.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace pocketmine\block; use pocketmine\item\Item; +use pocketmine\item\TieredTool; class MonsterSpawner extends Transparent{ @@ -41,6 +42,10 @@ class MonsterSpawner extends Transparent{ return BlockToolType::TYPE_PICKAXE; } + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } + public function getName() : string{ return "Monster Spawner"; } diff --git a/src/pocketmine/block/NoteBlock.php b/src/pocketmine/block/NoteBlock.php index 5b40fa42b..ca0d3c661 100644 --- a/src/pocketmine/block/NoteBlock.php +++ b/src/pocketmine/block/NoteBlock.php @@ -38,4 +38,12 @@ class NoteBlock extends Solid{ public function getFuelTime() : int{ return 300; } + + public function getHardness() : float{ + return 0.8; + } + + public function getToolType() : int{ + return BlockToolType::TYPE_AXE; + } } diff --git a/src/pocketmine/block/Snow.php b/src/pocketmine/block/Snow.php index 78102fd5a..fc08dfdde 100644 --- a/src/pocketmine/block/Snow.php +++ b/src/pocketmine/block/Snow.php @@ -23,6 +23,10 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\Item; +use pocketmine\item\ItemFactory; +use pocketmine\item\TieredTool; + class Snow extends Solid{ protected $id = self::SNOW_BLOCK; @@ -39,8 +43,18 @@ class Snow extends Solid{ return BlockToolType::TYPE_SHOVEL; } + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } + public function getName() : string{ return "Snow Block"; } + public function getDropsForCompatibleTool(Item $item) : array{ + return [ + ItemFactory::get(Item::SNOWBALL, 0, 4) + ]; + } + } \ No newline at end of file diff --git a/src/pocketmine/block/StonePressurePlate.php b/src/pocketmine/block/StonePressurePlate.php index cafa7303d..dc72f72a5 100644 --- a/src/pocketmine/block/StonePressurePlate.php +++ b/src/pocketmine/block/StonePressurePlate.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; + class StonePressurePlate extends Transparent{ protected $id = self::STONE_PRESSURE_PLATE; @@ -46,4 +48,12 @@ class StonePressurePlate extends Transparent{ public function getVariantBitmask() : int{ return 0; } + + public function getToolType() : int{ + return BlockToolType::TYPE_PICKAXE; + } + + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } } diff --git a/src/pocketmine/block/Tripwire.php b/src/pocketmine/block/Tripwire.php index 1b0416bd6..fc5a6010a 100644 --- a/src/pocketmine/block/Tripwire.php +++ b/src/pocketmine/block/Tripwire.php @@ -23,6 +23,9 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\Item; +use pocketmine\item\ItemFactory; + class Tripwire extends Flowable{ protected $id = self::TRIPWIRE; @@ -34,4 +37,10 @@ class Tripwire extends Flowable{ public function getName() : string{ return "Tripwire"; } + + public function getDropsForCompatibleTool(Item $item) : array{ + return [ + ItemFactory::get(Item::STRING) + ]; + } } diff --git a/src/pocketmine/block/WeightedPressurePlateLight.php b/src/pocketmine/block/WeightedPressurePlateLight.php index cb43fcc9c..c36d107f6 100644 --- a/src/pocketmine/block/WeightedPressurePlateLight.php +++ b/src/pocketmine/block/WeightedPressurePlateLight.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\block; +use pocketmine\item\TieredTool; + class WeightedPressurePlateLight extends Transparent{ protected $id = self::LIGHT_WEIGHTED_PRESSURE_PLATE; @@ -46,4 +48,12 @@ class WeightedPressurePlateLight extends Transparent{ public function getVariantBitmask() : int{ return 0; } + + public function getToolType() : int{ + return BlockToolType::TYPE_PICKAXE; + } + + public function getToolHarvestLevel() : int{ + return TieredTool::TIER_WOODEN; + } } diff --git a/src/pocketmine/block/WoodenPressurePlate.php b/src/pocketmine/block/WoodenPressurePlate.php index 0994b52ea..8602ff3f2 100644 --- a/src/pocketmine/block/WoodenPressurePlate.php +++ b/src/pocketmine/block/WoodenPressurePlate.php @@ -34,4 +34,12 @@ class WoodenPressurePlate extends StonePressurePlate{ public function getFuelTime() : int{ return 300; } + + public function getToolType() : int{ + return BlockToolType::TYPE_AXE; + } + + public function getToolHarvestLevel() : int{ + return 0; //TODO: fix hierarchy problem + } }