Block: added getDropsForIncompatibleTool()

This commit is contained in:
Dylan K. Taylor 2021-06-11 19:09:14 +01:00
parent e4ed7bc4ea
commit 7dcc4891ca
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
4 changed files with 18 additions and 19 deletions

View File

@ -369,6 +369,15 @@ class Block{
return [$this->asItem()]; return [$this->asItem()];
} }
/**
* Returns the items dropped by this block when broken with an incorrect tool type (or tool with a too-low tier).
*
* @return Item[]
*/
public function getDropsForIncompatibleTool(Item $item) : array{
return [];
}
/** /**
* Returns an array of Items to be dropped when the block is broken using a compatible Silk Touch-enchanted tool. * Returns an array of Items to be dropped when the block is broken using a compatible Silk Touch-enchanted tool.
* *

View File

@ -47,16 +47,12 @@ class DeadBush extends Flowable{
} }
} }
public function getDrops(Item $item) : array{ public function getDropsForIncompatibleTool(Item $item) : array{
if(!$this->breakInfo->isToolCompatible($item)){
return [ return [
VanillaItems::STICK()->setCount(mt_rand(0, 2)) VanillaItems::STICK()->setCount(mt_rand(0, 2))
]; ];
} }
return parent::getDrops($item);
}
public function isAffectedBySilkTouch() : bool{ public function isAffectedBySilkTouch() : bool{
return true; return true;
} }

View File

@ -33,12 +33,10 @@ class DoubleTallGrass extends DoublePlant{
return true; return true;
} }
public function getDrops(Item $item) : array{ public function getDropsForIncompatibleTool(Item $item) : array{
if($this->top and !$this->breakInfo->isToolCompatible($item) and mt_rand(0, 7) === 0){ if($this->top and mt_rand(0, 7) === 0){
return [ return [VanillaItems::WHEAT_SEEDS()];
VanillaItems::WHEAT_SEEDS()
];
} }
return parent::getDrops($item); return [];
} }
} }

View File

@ -52,11 +52,7 @@ class TallGrass extends Flowable{
} }
} }
public function getDrops(Item $item) : array{ public function getDropsForIncompatibleTool(Item $item) : array{
if($this->breakInfo->isToolCompatible($item)){
return parent::getDrops($item);
}
if(mt_rand(0, 15) === 0){ if(mt_rand(0, 15) === 0){
return [ return [
VanillaItems::WHEAT_SEEDS() VanillaItems::WHEAT_SEEDS()