Mods / TerraFirmaStory

Tags:
Worldgen
Author:
Onions
Side:
Both
Created:
Jul 1st at 3:22 AM
Last modified:
Aug 11th at 9:11 PM
Downloads:
362
Latest release (for Vintage Story 1.22.5, potentially outdated):
terrafirmastory_0.8.5.zip  1-click install

Required Dependencies:

Advanced Geology: https://mods.vintagestory.at/advancedgeology

 

Does what it say on the tin, ports the general worldgen from TFC to vintage story. Continents, geologic provinces, TFC style layering, rivers, volcanos, karsts, various beach types, and more are all included. It's pretty much a carbon copy. So much so that I'm not even going to bother documenting what's in the mod. You can literally go read the TFC field guide and other documentation. The TFC geologic province system controls which rocks can spawn where, so if you are looking for a particular rock/ore, you definitely want to make sure you are checking the right geologic provinces.

Rock Layers Configuration

Spoiler!
{
  "bottom": ["rock-gneiss", "rock-schist", "rock-diorite", "rock-granite", "rock-gabbro"],

  "layers": [
    { "id": "felsic",       "rocks": [ { "rock": "rock-granite", "next": "bottom" } ] },
    { "id": "intermediate", "rocks": [ { "rock": "rock-diorite", "next": "bottom" } ] },
    { "id": "mafic",        "rocks": [ { "rock": "rock-gabbro",  "next": "bottom" } ] },

    { "id": "igneous_extrusive", "rocks": [
        { "rock": "rock-rhyolite", "next": "felsic" },
        { "rock": "rock-andesite", "next": "intermediate" },
        { "rock": "rock-dacite",   "next": "intermediate" },
        { "rock": "rock-basalt",   "next": "mafic" }
    ] },

    { "id": "igneous_extrusive_x2", "rocks": [
        { "rock": "rock-rhyolite", "next": "igneous_extrusive" },
        { "rock": "rock-andesite", "next": "igneous_extrusive" },
        { "rock": "rock-dacite",   "next": "igneous_extrusive" },
        { "rock": "rock-basalt",   "next": "igneous_extrusive" }
    ] },

    { "id": "igneous_intrusive", "rocks": [
        { "rock": "rock-granite", "next": "felsic" },
        { "rock": "rock-diorite", "next": "intermediate" },
        { "rock": "rock-gabbro",  "next": "mafic" }
    ] },

    { "id": "high_grade", "rocks": [
        { "rock": "rock-schist", "next": "bottom" },
        { "rock": "rock-gneiss", "next": "bottom" }
    ] },

    { "id": "low_grade", "rocks": [
        { "rock": "rock-phyllite", "next": "high_grade" },
        { "rock": "rock-slate",    "next": "high_grade" }
    ] },

    { "id": "quartzite", "rocks": [ { "rock": "rock-quartzite", "next": "bottom" } ] },

    { "id": "sedimentary", "rocks": [
        { "rock": "rock-shale",        "next": "low_grade" },
        { "rock": "rock-claystone",    "next": "low_grade" },
        { "rock": "rock-conglomerate", "next": "low_grade" },
        { "rock": "rock-limestone",    "next": "sedimentary" },
        { "rock": "rock-dolomite",     "next": "sedimentary" },
        { "rock": "rock-chalk",        "next": "sedimentary" },
        { "rock": "rock-chert",        "next": "quartzite" }
    ] },

    { "id": "uplift", "rocks": [
        { "rock": "rock-slate",       "next": "high_grade" },
        { "rock": "rock-phyllite",    "next": "high_grade" },
        { "rock": "rock-schist",      "next": "high_grade" },
        { "rock": "rock-gneiss",      "next": "high_grade" },
        { "rock": "rock-whitemarble", "next": "bottom" },
        { "rock": "rock-quartzite",   "next": "bottom" },
        { "rock": "rock-diorite",     "next": "low_grade" },
        { "rock": "rock-granite",     "next": "low_grade" },
        { "rock": "rock-gabbro",      "next": "low_grade" }
    ] }
  ],

  "ocean_floor": ["igneous_extrusive"],
  "land":        ["sedimentary", "sedimentary", "sedimentary", "igneous_extrusive"],
  "volcanic":    ["igneous_extrusive", "igneous_extrusive_x2", "igneous_intrusive"],
  "uplift":      ["uplift", "uplift", "uplift", "sedimentary"]
}

Rock layers are a succession graph. For example, in "land" areas, the top layer is picked first. If it selects shale, then the next layer down will be "low_grade" metamorphic rocks. Then, the next rock will be "high_grade" metamorphic suck as gneiss. The succession respects rock chemistry aka grade. Felsic rocks on top lead into felsic rocks underneath. Limestone and other carbonates will select another sedimentary layer, so you will typically have chert, shale, etc underneath carbonates. In vanilla TFC, you always get marble under carbonates, but I thought this would make marble way too easy to get, and its not realistic anyhow. Marble only spawns in uplift zones. Other than that, its exactly like vanilla TFC.

If you want to add other rocks to this mod, then all you need to do is json patch your rocks into the arrays in the rocklayers.json.

 

This mod is intended to be played with 384-tall worlds, although it's playable on stock 256. Mountains and volcanos are sometimes cut off on 256.

  • VS/modded oregen is unchanged.
  • TFC and minecraft-style caves were not ported. Vanilla VS caves generate normally.
  • VS vegetation and surface block generation logic are mostly stock.
  • Climate-by-latitude is stock VS, but the east-west rain banding from TFC is in.
  • Marble makes up entire rock layers in geological uplift zones. Pink and green marble appear as veins in the white marble layer.
  • Rivers are made of rapids blocks and I made them flow but it does look weird, especially when the rivers pass through a lake. At least your waterwheels work.
  • Every mod compatible with AG is compatible with this mod. Mods that simply add ores are compatible out of the box.
  • Worldgen mods such as terra prety, rivers mod, etc are not compatible and never will be due to the nature of the mod.
  • Hot springs don't generate but will in the future.

Where do I find bauxite?

I had to write this logic myself since TFC doesn't generate bauxite. Luckily, however, TFC does generate karst biomes and structures. In real life, bauxite is found in depressions and sinkholes in karst areas, and the same is true here. You'll find patches of bauxite under topological bowls and depressions in wet karst areas. You might have to travel a couple thousand blocks east from 0,0 (toward the wet areas) in order to see these, because karsts don't really generate in dry areas. Karst also requires a carbonate rock to generate. So look for wet, low lying areas of dolomite, limestone, or chalk.

The mod spawned me in the ocean!

VS basically hardlocks spawn at 0,0, but you can adjust the respawn radius and that will give the spawner more room to place you on a continent. This however makes new players on a server for example all spawn in a much larger area. I recommend generating worlds until you get a continent at 0,0, or, if you are a server admin, you can simply find a continent and set the server spawn there. The east-west rainfall distribution is slightly biased so that 0,0 is wetter than the middle value, but in VS terms its borderline dry. You probably want to go east for a good spawn.

 

LICENSE:
This mod is licensed under the European Union Public Licence V. 1.2.
It is an architectural clone of elements of TerraFirmaCraft for Minecraft 1.21.x.

Mod Version Mod IdentifierFor Game version Downloads Released Changelog Download 1-click mod install*
0.8.5 terrafirmastory 79 Aug 11th at 9:11 PM terrafirmastory_0.8.5.zip 1-click install

Fixes the dike generator to actually work and adds kimberlite to the list of possible dikes, so kimberlite (and other igneous rocks) now generate in the form of rare vertical pipes that can be found by searching cliff faces or looking at the pebbles on the ground.

Note that sand/gravel will use the same rocktype as surrounding layer rock, not the dike rock.

0.8.4 terrafirmastory 22 Aug 10th at 5:37 AM terrafirmastory_0.8.4.zip 1-click install

Adds a config option that allows for toggling rivers between rapids and regular flowing water. As before, you must generate a throwaway world to generate the config in your local ModConfig folder before you can change it.
Fixes beaches being the wrong stone type

0.8.3 terrafirmastory 11 Aug 10th at 1:17 AM terrafirmastory_0.8.3.zip 1-click install

Adds peridotite to the 'bottom' rock list which will allow it to generate at the bottom of the world in continental regions
Adds a ModConfig with a rainfall offset value, default 5000. Set to 5000-20000 to spawn in places wetter than normal, set to -15000-5000 to spawn in places dryer than normal. You will need to generate a throwaway world with this version of the mod to generate the default config, then you can modify it.

0.8.2 terrafirmastory 139 Jul 11th at 7:56 AM terrafirmastory_0.8.2.zip 1-click install

also forgot to add sandstone lol

0.8.1 terrafirmastory 28 Jul 9th at 10:48 PM terrafirmastory_0.8.1.zip 1-click install

forgot to add peridotite to the rock spawn schema LMAO

0.8.0 terrafirmastory 83 Jul 1st at 7:45 PM terrafirmastory_0.8.0.zip 1-click install

Initial release


37 Comments (oldest first | newest first) (threaded | flat)

Shackly, 2 days ago

This is really cool, I've been playing with this and so far am liking it. I am however a little stumped as I have yet to see a single piece of surface copper whatsoever. Infact I stumbled across surfrace nuggest of hematite but no copper

Onions , 1 day ago
@Shackly: This is really cool, I've been playing with this and so far am liking it. I am however a little stumped as I have yet to see a single piece of surface copper whatsoever. Infact I stumbled across surfrace nuggest of hematite but no copper

if you're playing with AG 2.0 it can be slightly more difficult to find your first copper since, similar to TFC, you are reliant on stumbling across a major deposit that generates shallow enough to produce surface nuggets. The best place to find these deposits is sedimentary regions of shale and sandstone, which are very common in TFS.

Shackly, 1 day ago (modified 1 day ago)
@Onions: if you're playing with AG 2.0 it can be slightly more difficult to find your first copper since, similar to TFC, you are reliant on stumbling across a major deposit that generates shallow enough to produce surface nuggets. The best place to find these dep

Thank you for the reply. I think It may be a little more difficult for me as I have both AG 2.0 installed and I also spawned on an island, a big one at that but still an island. I will keep looking. Thank you again

Onions , 1 day ago
@Shackly: Thank you for the reply. I think It may be a little more difficult for me as I have both AG 2.0 installed and I also spawned on an island, a big one at that but still an island. I will keep looking. Thank you again

Worst case scenario you can pan 3 copper ingots and make a propick and probably pick up any copper you missed. That island is probably volcanic which means there is going to be some VMS copper lurking somewhere in the vicinity (in a 1000x1000 area, its basically guaranteed).

In10Trashbags, Aug 12th at 1:48 AM

Is there a way you could port the mod without advanced geology? Or just prevent the modded stone from spawning?

Onions , Aug 12th at 5:00 AM (modified Aug 12th at 5:01 AM)
@In10Trashbags: Is there a way you could port the mod without advanced geology? Or just prevent the modded stone from spawning?

go into the mod files and remove all the AG stones from the rocklayers.json
go into the modinfo.json and remove AG as a dependency

you can also add any other mod's stones to the rocklayers.json and set them as a depend in the same place you remove AG from and it should work. I'm not going to maintain and distribute a half dozen versions of the mod though

NeoB, Aug 10th at 6:30 AM

image

The clusters of particles at the bottom and along the riverbank look great.

eji, Jul 14th at 7:03 AM

i would like to see how all the tfc cavegen and speleothem gen would look aswell

eji, Jul 14th at 7:05 AM
@eji: i would like to see how all the tfc cavegen and speleothem gen would look aswell

also maybe a test to see how the tfc oregen would work too

Onions , Jul 14th at 7:09 AM
@eji: also maybe a test to see how the tfc oregen would work too

I'm probably not gonna do this because I personally dont care for either. The TFC caves are honestly pretty terrible.

Permarin1, Jul 13th at 1:14 AM

idk if this is only me. and idk if any mods here on DB can work with TFS. im having some issues with blue clay. the never ending story for all world gen mods 🤣

would it be possible to make something where rivers spawn in with a mix of blue clay? (and red too) as deposits that was moved by the water. would be so nice to have a guarantee that somewhere along the river there is the clay i want. so far ive explored 3 continents in my world and only found ONE SINGLE blue clay deposit. ive fine-combed the color map for the deposits just to be as accurate in locating them as i can be, besides walking through the world.

Onions , Jul 13th at 2:32 AM
@Permarin1: idk if this is only me. and idk if any mods here on DB can work with TFS. im having some issues with blue clay. the never ending story for all world gen mods 🤣would it be possible to make something where rivers spawn in with a mix of blue clay? (and red t

blue clay generates at heights ranging between 0.9 and 1.0 of sea level. this means it CANNOT spawn at any appreciable height above sea level. you will need to hug the coast and look through the flat, sea level areas of the map to find blue clay

vanilla VS has the same problem, the vanilla restrictions on its spawn height are simply far too strict

Permarin1, Jul 13th at 11:55 PM
@Onions: blue clay generates at heights ranging between 0.9 and 1.0 of sea level. this means it CANNOT spawn at any appreciable height above sea level. you will need to hug the coast and look through the flat, sea level areas of the map to find blue clay vanilla V

is there no way to implement something like this mod https://mods.vintagestory.at/show/mod/20343 into your mod? because ive had this blue clay mod since the start of the world and its done nothing. but it did help huge when i used terra prety, and works in vanilla too. but seems TFS takes all priority in world generation, so the mod wont improve on spawn chances.

Onions , Jul 14th at 7:06 AM (modified Jul 14th at 7:08 AM)
@Permarin1: is there no way to implement something like this mod https://mods.vintagestory.at/show/mod/20343 into your mod? because ive had this blue clay mod since the start of the world and its done nothing. but it did help huge when i used terra prety, and works i

TFS doesnt affect ore generation or other deposits at all, so patches against vanilla deposits should work completely fine.

The problem with blue clay is that it has an absurdly strict height restriction. The mod you linked only mildly increases the tries per chunk, which doesnt actually do anything, because the issue is the maxy being 1.0 instead of something like 1.2. So if you find or make a mod that patches the maxy, it will solve the problem. I may or may not get around to this, but frankly speaking, its absurdly easy to do. So just ask in the discord or something.

Cryoshakespeare, Jul 11th at 1:25 PM

This is incredibly cool, however I think the implementation of rapids straight into rivers leaves a bit to be desired - the flow direction is often misaligned and they also move *very* fast.

Would it be doable to just have the rivers be static for now via a submod/patch? I think a dedicated dependency to make the rivers flow properly would be a big improvement to the mod.

NotTheGian, Jul 10th at 1:06 PM

peridot? kek

OpaqueBlaque, Jul 9th at 11:03 PM

What world gen settings do you recommend for this mod? 

Onions , Jul 9th at 11:11 PM
@OpaqueBlaque: What world gen settings do you recommend for this mod?

384 height. otherwise, none of the vanilla settings actually do anything at all so dont bother.
I plan to eventually replicate the TFC worldgen config in a json config, but its not in yet so its just TFC defaults.

Faulkface, Jul 5th at 6:58 PM

this seems like a really cool idea i will be keeping my eye on this for my next playthrough

IWillSoonReturn, Jul 5th at 1:29 PM

okay now THIS is cool

xD_amien, Jul 3rd at 8:03 AM (modified Jul 3rd at 8:04 AM)

"95 pct a transcription of TFC code," i always thought terrain gen was one of the only things TFC had over VS, but now this beuatiful mod so it don't even matter 🥹

Permarin1, Jul 2nd at 1:23 AM

hello Onions

i thank you from the bottom of my hearth! i LOVE the TFC wgen added in 1.21 (and was lucky to play with a backported version in 1.20.1 for the terrafirmagreg modpack)

i was wondering if this has its own wgen settings baked in (like how terra prety ignores the vanilla world creation settings for stuff like landform and that)

if it has not, do you have any suggested best settings to get a balanced world with land/river/ocean?



p.s do you think this mod Realistic Biome Generation would have any uncompatible elements between the wgen and how it affects the latitude/climate distribution?

Onions , Jul 2nd at 1:33 AM
@Permarin1: hello Onionsi thank you from the bottom of my hearth! i LOVE the TFC wgen added in 1.21 (and was lucky to play with a backported version in 1.20.1 for the terrafirmagreg modpack)i was wondering if this has its own wgen settings baked in (like how terra pr

None of the worldgen settings except climate scale work. Just use vanilla settings and 384 height. In the future I will probably port the TFC worldgen config into a config file, but the in-game graphical worldgen config is vestigial.
That mod may work since I use the vanilla climate-by-latitude. Try it out.

ASILiara, Jul 1st at 10:53 PM

Whoa. I'm honestly surprised that this isn't how vanilla did it from the start, this is awesome.

 

And thus, we come full circle...

Algernon, Jul 1st at 8:48 PM

TFC my beloved

Can't wait to see the rivers

Onions , Jul 1st at 8:53 PM
@Algernon: TFC my beloved Can't wait to see the rivers

Do you think this could be compatible with watersheds? I've never actually used your mod but I know its compatible out of the box with most terragen mods.

Algernon, Jul 1st at 9:15 PM
@Onions: Do you think this could be compatible with watersheds? I've never actually used your mod but I know its compatible out of the box with most terragen mods.

Looking through TerraFirmaStory's code right now, and I can tell you that it would be a lot of work. I wouldn't count on me getting compatability going anytime soon.

Watersheds is pretty tied to vintage story's terrain generation atm, and theres heaps of TFC terrain generation effects here that I would have to learn and adjust for.

Can already see heaps of cool stuff i'm going to read up on anyway though, really interesting stuff. Gonna try check out your floodplains in particular

Onions , Jul 1st at 9:20 PM
@Algernon: Looking through TerraFirmaStory's code right now, and I can tell you that it would be a lot of work. I wouldn't count on me getting compatability going anytime soon. Watersheds is pretty tied to vintage story's terrain generation atm, and theres heaps of

I might look into patching between them eventually. The TFC rivers aren't really anything special.
This is 95 pct a transcription of TFC code, so I wouldn't call it 'mine'. But yeah TFC has very good worldgen.

Algernon, Jul 1st at 9:33 PM
@Onions: I might look into patching between them eventually. The TFC rivers aren't really anything special.This is 95 pct a transcription of TFC code, so I wouldn't call it 'mine'. But yeah TFC has very good worldgen.

The pain points are in two places. 1: how Watersheds "sees" the terrain effects, which is the terrain and map sampling https://mods.vintagestory.at/algernonsterrainsampler

and 2: the carving through those terrain effects to dig out downhill stream channels

Swedneck, Jul 1st at 8:41 PM

What a flex

NotTheGian, Jul 1st at 8:27 PM

shit, that's gorgeous