Do you read? A Chest is a tile, not a block(well, it is a block, but you need the tile). You get it? No? PHP: Level::getTile(Vector3 $pos);
How about learning this(click)? PHP: if($chest instanceof Chest){ // Chest as a Tile, not the block.}
You asked to know if a block is a tile or a block. A block is a block, not a tile. A block can contain a tile, but itself isn't a tile. So you check if it contains a tile if getTile with it returns a tile, using instanceof (although you can actually use !==null as well).