Open-source project
TerraFirmaCraft/TerraFirmaCraft avatar
TerraFirmaCraft/TerraFirmaCraft

TerraFirmaCraft: a Minecraft survival mod built around geology and seasons

Survival Mode as it Should've Been

691 stars320 forksJavaEUPL-1.2

At a glance

What is it?
TerraFirmaCraft is a total conversion mod for Minecraft that replaces world generation with plate tectonics, stratified rock layers, seasonal climate and a technology tree running from pottery kilns to bloomery iron and steel, alongside detailed food, nutrition and spoilage mechanics. It suits players who want survival to be a long project rather than a cave-and-pickaxe routine, and the project is careful about its legal footing, since it is a rewrite of an earlier 1.7.10 mod that carries different licence terms.
Who is it for?
Adopt TerraFirmaCraft if you are a Minecraft player who wants survival rebuilt around geology, seasons and food management and you are willing to read the in-game Field Guide before starting.
Can I use it commercially?
Yes, with conditions. EUPL-1.2 is a weak copyleft licence: you can use it inside commercial and closed-source software, but if you distribute changes to its own files, you must publish those changes under the same licence.
Is it still maintained?
Yes. The repository last received commits 8 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

A total conversion, not a set of tweaks

TerraFirmaCraft, abbreviated TFC, describes itself as a total conversion mod that overhauls and reinvents survival mode, with the goal of creating a believable, challenging survival experience in a brand new immersive setting.

The word total conversion is the important one, because it sets the expectation. This is not a mod that adds a new ore or a new mob to an otherwise recognisable Minecraft world. It completely overhauls Minecraft world generation, from adding plate tectonics to flowing rivers to mountain ranges to varied and diverse forests, flora and fauna. The world you get is a different world, and the vanilla progression, the vanilla resources and much of the vanilla structure of the game are gone.

The scope is large enough that the mod has its own documentation infrastructure. A detailed in-game Field Guide is available from the moment you spawn in and will guide you through the art of surviving in this new world, and there is a separate API documentation site for pack makers and addon authors.

The project is written in Java, licensed under EUPL 1.2 unless otherwise noted, and the default branch is 1.21.x. The release history shows the branching structure clearly: v4.2.12 is labelled TerraFirmaCraft 1.21.1-4.2.12, while v3.2.27 is the 1.20.1 line, and the two were released within days of each other in October 2026.

That parallel release structure is worth understanding before you install anything. A total conversion this size cannot keep one branch working across Minecraft versions, so each supported version gets its own line with its own version number, and picking the right download is part of using the mod.

Underground geology, surface climate and the calendar

The feature list is the best summary of what actually changes, and three of its entries define the experience.

The underground has been completely reimagined, with layers of different types of rock, and massive sparse ore deposits of several different types. Sparse is the operative word. In vanilla, ore is scattered in small veins that mark a direction to dig. Here, the rock is stratified, so the layers themselves tell you where you are in the crust, and the deposits are large enough that finding one is an exploration problem rather than a mining problem.

The plate tectonics and flowing rivers mentioned in the overview are the world generation side of the same idea. Rivers that flow are the visible result of a terrain that was shaped rather than decorated, and combined with mountain ranges and varied forests, flora and fauna, the world reads as a system rather than a set of biomes stitched together.

Then there is the climate model. Seasons, weather, and a realistic climate and calendar model cause the player to need to stockpile food for winter to survive. This is the mechanic that turns TFC from a mining game into a planning game, because it imposes a deadline on every other activity. You cannot spend all spring and summer improving your tools and then discover you have nothing to eat in February.

The world is alive, with many different plants, wild crops, wild fruits, and animals, both passive and predators, to find. The passive and predator split matters in a survival game where a mistake is fatal, and the plant and crop layer is what makes foraging a skill rather than a menu.

Together these four systems, layered rock, flowing water, seasons and a calendar, and a populated surface, are what make the mod a simulation of a place rather than a set of added content. The stated goal of a believable and challenging survival experience is really a statement about coupling, because each system makes the others matter.

Technology from pottery kilns to bloomery iron and steel

The technology tree is described as fully fledged, running from pottery and pit kilns to charcoal production, producing iron with a bloomery, steel making and more.

The order of that list is the design. Pottery comes first, and pit kilns come before charcoal, so the player begins with something that burns fuel rather than something that smelts metal. Charcoal production is a step above that, and the bloomery is a step above charcoal. This is a deliberate reordering of the vanilla progression, in which a diamond pickaxe is a matter of mining three diamonds in a cave, and in TFC the equivalent milestone is a steel tool produced through a chain of processes each of which has its own inputs and fuel requirements.

A bloomery is the interesting term in that chain. It is the historical technology for making iron from ore without smelting it into pig iron first, which requires a bellows, a controlled furnace atmosphere and a bloom to be consolidated separately. The mod implements it as a real process, and the difference between a bloomery and a modern blast furnace is precisely the kind of thing this kind of total conversion is usually interested in.

And the fuel chain matters too. Charcoal has to be made from wood, which means trees have to be found and cut, which means a tool is needed, which means a kiln, which means fuel. That circular dependency is the reason the tree starts at the bottom rather than the top.

Alongside the tree, the food system is described in similar detail: the player must manage their food's expiration, nutrition, and thirst using detailed food and cooking mechanics. Expiration means a preserved food chain rather than a stack of items, nutrition means not every calorie is equal, and thirst is a clock that runs whether or not the player is doing anything about it.

The result is a survival loop where the mechanics pull in each other. Hunger and spoilage force you to plan around the season, the season forces you to prioritise the technology tree, and the technology tree needs the resources the terrain puts in the way.

The Field Guide, the API and the modding surface

Two documentation sites sit alongside the game, and they serve different audiences.

The Field Guide for players is hosted at terrafirmacraft.github.io/Field-Guide, and the in-game version is available from the moment you spawn. That is a design decision rather than a convenience. A mod that replaces world generation and progression has a lot of new vocabulary, and a wiki you have to find is a wiki nobody reads. Putting the manual in the game means a new player encounters the rules at the moment they need them, and it means the guide can be versioned with the mod instead of drifting behind it.

The API documentation at terrafirmacraft.github.io/Documentation is for pack makers and addons. A total conversion with a technology tree and custom food items has a large data surface, and the project supports addons that extend it, which is the usual way this scale of mod stays alive after the original team moves on.

The download is on CurseForge, and the community discussion is on Discord, which the contributing guide makes the first instruction: join the Discord, as it is where all discussion surrounding development, tasks and decisions happens. That is where the design arguments happen, which tells you something about how the project is run.

The repository layout reflects a mod built with a code generation step. There is a `resources/` directory holding the data and asset generation scripts, and the contributing guide is explicit that the project uses Python for data and asset generation, among other things. To run the generation scripts, all found in `/resources`, you need the Python modules `mcresources`, `pillow`, `nbtlib` and `Levenshtein`, with the requirements listed in `resources/requirements.txt`.

There is also a `CodeStyle.xml` at the root, and the contributing guide recommends using IntelliJ since the code style XML is based on that. The `HEADER.txt` file and the `gradlew updateLicenses` instruction before a pull request are the legal side of the workflow: the project applies a licence header to all project files, and a contributor has to run that step so their files carry the right header.

A rewritten mod with a licence history attached

The legal section of the README is unusually detailed, and for a project like this it is not boilerplate.

The project is licensed under the EUPL, Version 1.2, unless otherwise noted. EUPL 1.2 is the European Union Public Licence, a copyleft licence built around the GPL with an additional restriction that applies the licence to modifications and new software, which is why the contributing guide says that as per the GitHub terms of service you grant the right to use your contribution under the same licence, and that in addition they request the right to change the licence in the future.

Then the per-file exceptions. `FastNoiseLite.java` is MIT licensed and modified from FastNoiseLite. `resources/bsc5p_radec_min.json` is a colour catalog used unmodified from BSC5P-JSON-XYZ under CC-BY 4.0. Sounds are used under CC0 unless otherwise noted, with `rock_slide_long_3` under CC-BY-4.0, modified from a Freesound work.

The most significant line is the one about origins. Parts of this project are edited source code from the original TerraFirmaCraft for the 1.7.10 mod, and they are used under a different licence with permission from the original author, Bioxx. The acknowledgements credit original work by Robert Bioxx Anthony, Amanda Kittychanley Halek and others, music by Mike Menoch Pelaez, and AlcatrazEscapee for contributions and project guidance from the Minecraft 1.12 era in 2018 through to 1.20 in 2025.

So the project is a fork of a fork, with a mix of EUPL, a permissive licence on a borrowed file, Creative Commons on assets, and legacy code under terms negotiated with the original author. That is normal for a long-lived community mod and it is what lets the current project carry the 1.7.10 era code forward. It also means the licensing is not uniform across the tree, which is worth knowing if you plan to reuse anything from it.

The releases themselves are on CurseForge rather than as GitHub releases, and the homepage is a Discord invite link, which is a small but real difference from most projects that list a documentation site first.

Against vanilla survival and against a lighter mod list

The comparison worth making is with what you already have in Minecraft, and with the middle ground most players choose.

The middle ground is a mod list. Add a world generation mod, a tech tree mod, a season mod, a food mod, and you have something resembling TFC, assembled from parts. The difference is that the parts do not know about each other. A world generation mod that raises mountains does not know that your season mod is about to make winter, and a food mod that adds spoilage does not know that your tech tree made steel more expensive than before. What you get is a stack of independent systems whose interactions are accidents, and the interactions are where the difficulty lives in a survival game.

A total conversion replaces that with a coupled design, and the coupling is the point. Plate tectonics produces specific rock layers, the rock layers determine where ore is, the ore determines which technology step is reachable, the technology step determines what you can build, and the season clock determines how much time you had to do it. A mod list can also have that, but only if the mod authors coordinate, and in practice they do not.

Against vanilla survival, the difference is more fundamental than difficulty. Vanilla Minecraft's progression is a short, roughly linear climb to a diamond pickaxe, after which the world is a resource to be mined rather than a problem to be solved. TFC's progression is long, has setbacks, and does not end at a point where the world stops mattering, because the calendar keeps running and the food keeps expiring.

The cost of the total conversion is the other side of the same coin. You lose the familiarity of the vanilla world, the vanilla mob behaviour, the vanilla structures and the vanilla knowledge that lets you play without reading anything. The Field Guide exists precisely because that knowledge no longer applies, and reading a manual before playing is a real barrier to entry that a mod list never imposes.

The honest summary is that TFC is a different game that happens to use Minecraft's engine and assets, and that its audience is players who have finished the vanilla progression and want the next one.

Editorial conclusion

Adopt TerraFirmaCraft if you are a Minecraft player who wants survival rebuilt around geology, seasons and food management and you are willing to read the in-game Field Guide before starting. Do not adopt it if you want a light mod that keeps vanilla world generation, because this is a total conversion that replaces world generation entirely, and check first which Minecraft version the build you download targets, since the project ships separate lines for 1.20.1 and 1.21.1 and the default branch follows 1.21.x.

Frequently asked questions

What is TerraFirmaCraft?

It is a total conversion mod for Minecraft that overhauls and reinvents survival mode, with a goal of a believable and challenging survival experience in a brand new setting. It completely overhauls world generation, adding plate tectonics, flowing rivers, mountain ranges, varied forests, flora and fauna.

Which Minecraft versions does TerraFirmaCraft support?

The repository's default branch is 1.21.x, and the release history shows separate lines for different versions, with v4.2.12 labelled TerraFirmaCraft 1.21.1-4.2.12 and v3.2.27 the 1.20.1 line, both released in October 2026.

What is the technology tree in TerraFirmaCraft?

It is described as fully fledged, running from pottery and pit kilns to charcoal production, producing iron with a bloomery, steel making and more. The order is a deliberate reordering of vanilla progression, where a bloomery is a real ironmaking process rather than a pickaxe upgrade.

How do seasons affect survival in TerraFirmaCraft?

Seasons, weather, and a realistic climate and calendar model cause the player to need to stockpile food for winter to survive. Combined with food expiration, nutrition and thirst mechanics, that turns the game into a planning problem with a deadline rather than a cave-and-pickaxe routine.

What licence does TerraFirmaCraft use?

The EUPL, Version 1.2, unless otherwise noted, with the project requesting the right to change the licence in future. Parts of it are edited source from the original 1.7.10 mod used under different terms with the original author's permission, FastNoiseLite.java is MIT, the bsc5p colour catalog is CC-BY 4.0, and sounds are CC0 unless noted.

How do I contribute code to TerraFirmaCraft?

Join the Discord first, since that is where development, tasks and decisions happen, and note that contributions are used under the same licence with a request for the right to change it later. Run `gradlew updateLicenses` before opening a pull request so the licence headers are applied, and the project uses Python with the mcresources, pillow, nbtlib and Levenshtein modules for data and asset generation.

Official sources

  1. License: EUPL-1.2
  2. Project website
  3. README
  4. Releases
  5. TerraFirmaCraft/TerraFirmaCraft on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/terrafirmacraft-terrafirmacraft.svg)](https://hysenlabs.com/projects/terrafirmacraft-terrafirmacraft)

Was this useful?