How to technically handle a 2D Minecraft like game

Godot Version

4.3

Question

What’s the best way to handle various technical aspects of a 2D Minecraft like game?

Mostly, it’s about how to handle blocks. Rendering, custom blocks (collisions, scripted behaviour), blocks states.

Can I use a tilemap or should I make a custom renderer? If I do use a tilemap, can I use a scene collection or will that be a performance bottleneck?