Abstracted Fence code away from wooden fences

This commit is contained in:
Dylan K. Taylor
2017-10-12 17:04:33 +01:00
parent 15d6fd86e2
commit 3eb73ab468
4 changed files with 70 additions and 74 deletions

View File

@ -25,17 +25,11 @@ namespace pocketmine\block;
use pocketmine\item\Item;
use pocketmine\item\Tool;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
class NetherBrickFence extends Transparent{
class NetherBrickFence extends Fence{
protected $id = self::NETHER_BRICK_FENCE;
public function __construct(int $meta = 0){
$this->meta = $meta;
}
public function getHardness() : float{
return 2;
}
@ -48,23 +42,6 @@ class NetherBrickFence extends Transparent{
return "Nether Brick Fence";
}
protected function recalculateBoundingBox() : ?AxisAlignedBB{
$width = 0.375;
return new AxisAlignedBB(
$this->x + ($this->canConnect($this->getSide(Vector3::SIDE_WEST)) ? 0 : $width),
$this->y,
$this->z + ($this->canConnect($this->getSide(Vector3::SIDE_NORTH)) ? 0 : $width),
$this->x + 1 - ($this->canConnect($this->getSide(Vector3::SIDE_EAST)) ? 0 : $width),
$this->y + 1.5,
$this->z + 1 - ($this->canConnect($this->getSide(Vector3::SIDE_SOUTH)) ? 0 : $width)
);
}
public function canConnect(Block $block){
return $block instanceof NetherBrickFence or $block instanceof FenceGate or ($block->isSolid() and !$block->isTransparent());
}
public function getDrops(Item $item) : array{
if($item->isPickaxe() >= Tool::TIER_WOODEN){
return parent::getDrops($item);