How To Create A Custom Block?

I'm new to CS-Cart.

If I want to create a custom block in my theme can I do this without creating an Add-on?

(I come at this from a WordPress perspective and to me a Block seems like a Widget and an Add-on like a Plug-in).

I want my new block to appear as something I can drop into a layout - like the other built-in blocks. Can I just add the relevant files under the theme directory - or is the only way to do this to create a new Add-on?

Yes, it is possible without addon and even file changes