meta = $meta; } public function isSolid(){ return false; } public function getToolType(){ return Tool::TYPE_PICKAXE; } public function getHardness(){ return 2; } public function getName(){ if($this->meta === 0x01){ return "Mossy Cobblestone Wall"; } return "Cobblestone Wall"; } protected function recalculateBoundingBox(){ $north = $this->canConnect($this->getSide(Vector3::SIDE_NORTH)); $south = $this->canConnect($this->getSide(Vector3::SIDE_SOUTH)); $west = $this->canConnect($this->getSide(Vector3::SIDE_WEST)); $east = $this->canConnect($this->getSide(Vector3::SIDE_EAST)); $n = $north ? 0 : 0.25; $s = $south ? 1 : 0.75; $w = $west ? 0 : 0.25; $e = $east ? 1 : 0.75; if($north and $south and !$west and !$east){ $w = 0.3125; $e = 0.6875; }elseif(!$north and !$south and $west and $east){ $n = 0.3125; $s = 0.6875; } return new AxisAlignedBB( $this->x + $w, $this->y, $this->z + $n, $this->x + $e, $this->y + 1.5, $this->z + $s ); } public function canConnect(Block $block){ return ($block->getId() !== self::COBBLE_WALL and $block->getId() !== self::FENCE_GATE) ? $block->isSolid() and !$block->isTransparent() : true; } }