Exciting idea! I see that it could happen in more than one way:
there is a simulation parameters file that we document openly[1]
it’s a no brainer for me to allow playing with a custom simulation file.
buildings are typescript types with hook-functions, making new ones is quite fun and easy and
after adding sandboxing and safety it should be totally doable to plug in custom ones
also, the simulation is a websockets protocol, so the game client can connect to a totally custom simulation
however at this stage data types and names are changing too fast for practical modding
1. https://microlandia.city/simulation_parameters