Understanding making 2 story buildings

So i have been reading up on all of the beginner Json info for buildings and I don’t really understand how you define something as the second floor of something. Can someone give me a bit more info or where I can go to find that info for myself.

also in the Overmap_Terrain section not entirely grasping the use of the “extras” line.

        "type" : "overmap_special",
        "id" : "Strange Cabin",
        "overmaps" : [
            { "point":[0,0,0], "overmap": "cabin_strange"},
            { "point":[0,0,-1], "overmap": "cabin_strange_b"}
        "locations" : [ "forest" ],
        "city_distance" : [20, -1],
        "city_sizes" : [0, 12],
        "occurrences" : [1, 1],
        "rotate" : false,
        "flags" : [ "CLASSIC" ]

Defining a structure’s mapgen to the world can be seen at overmap_specials.json, and you’ll have to pay attention on how coordinates work:

[0,0,0] is x y z, and z is the z-level, wherein a positive value means is a higher floor and vice versa…

    "type": "overmap_terrain",
    "id": "cabin_strange",
    "name": "forest",
    "sym": 70,
    "color": "green",
    "see_cost": 5,
    "extras": "field",
    "flags": [ "NO_ROTATE" ]

I don’t know how Extras affect an overmap terrain, but it should have a value like build or field in it :smiley: