Back to mods
Dynamic TFC Structures project artwork

CurseForge · Minecraft mod

Dynamic TFC Structures

Dynamic TFC Structures will let you adapt any minecraft structure to TerraFirmaCraft

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Dynamic TFC Structures release should I use?

Updated today
beta file tfc_structures-1.20.1-0.3.3.jar
Game version 1.20.1
Loader Forge

Dynamic TFC Structures tfc_structures-1.20.1-0.3.3.jar targets 1.20.1 with Forge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is Dynamic TFC Structures required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Forge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does Dynamic TFC Structures tfc_structures-1.20.1-0.3.3.jar need?

tfc_structures-1.20.1-0.3.3.jar. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

1 listed on this file 2 pulled in by those mods
TerraFirmaCraft Optional for Dynamic TFC Structures tfc_structures-1.20.1-0.3.3.jar
optional
Matching file found Matched file: TerraFirmaCraft 1.20.1-3.2.25
Just Enough Items (JEI) Needed by TerraFirmaCraft
pulled in
Matching file found Matched file: 15.59.0.210 for Forge 1.20.1
Patchouli Needed by TerraFirmaCraft
pulled in
Matching file found Matched file: Patchouli-1.20.1-85-FORGE.jar

2 extra mods were pulled in by other dependencies. Indented rows show who needs each one. We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add Dynamic TFC Structures without breaking your instance.

Built for Dynamic TFC Structures tfc_structures-1.20.1-0.3.3.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use tfc_structures-1.20.1-0.3.3.jar. It targets 1.20.1 with Forge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside tfc_structures-1.20.1-0.3.3.jar. It opens that exact file at the source.

About this project

What does Dynamic TFC Structures add?

Dynamic TFC Structures

Did you ever dream of filling your TerraFirmaCraft world with authentic structures? Dynamic TFC Structures will bring them to your world!

Dynamic TFC Structures can activate any world-gen structure and replace its blocks with TerraFirmaCraft analogues, as if it were built especially for TFC.\ The mod is also fully configurable; you may find configuration files in the config/tfc_structures folder. By default, only vanilla structures are activated, but you can activate any other modded structure.

Primarily aimed at TerraFirmaCraft modpack authors — this mod helps you bring vanilla and modded structures into TFC worlds with configurable block replacements and worldgen rules.

Despite the mod's name, Dynamic TFC Structures may work without TerraFirmaCraft, so feel free to use it in non-TFC modpacks :) But you'll need to build configuration files yourself if you don't have TFC.

Disclaimer

Be aware that Dynamic TFC Structures is currently in BETA, so it contains bugs and there is still work to do.

Configurations

Dynamic TFC Structures has 3 main configuration files:

  • common-config.toml\ allowedDimensions - list of dimensions where structure blocks will be replaced with TFC blocks\ biomesTagsStructuresToLogs - debug toggle to output biomes, biome tags, and structures to logs\ fallbackToTfcStructuresLoot - toggle to enable tfc_structures loot tables in case there's no lootTablesOverrideMap in structure\ mossyBlocks/strippedLogs/strippedWood/crackedBricks - special tags for replacements. All of them will be added to special block tags.
  • worldgen_config.json\ biomeTags - definitions of biome tags that will be generated to tfc_structures_datapacks/tfc_structures_main datapack. It also contains structures that will be generated in that biome tag.\ disabledStructures - list of structures you don't want to see in your world\ defaultWorldgenStructures - list of structures that exist in the game but were not added to any list above, so they will use default generation rules. This property will update upon server loading.
  • structures_config.json\ structures - list of replacement rules for every structure, like replacement preset, lootTablesOverrideMap, etc.\ This configuration will be created (or updated) upon server loading.

Also, there's a folder presets where you may find replacement preset configuration files.\ Every preset has 3 properties:

  • directReplacements - block-to-block map for direct replacement when a structure has spawned
  • randomReplacements - block-to-many-blocks map for random replacement. perBlock=false means the whole structure will use one block.
  • tfcWorldReplacements - block-to-type map for block replacement with TFC blocks from surroundings (like stone, wood, soil, sand, or ores)

By default, there are two presets: no-replace (empty preset) and overworld-common, but you can create additional presets yourself (don't forget to assign a preset to a structure in structures_config.json).

If you are annoyed by a lot of structures in one place, you may also be interested in installing Sparse Structures.

TFC Structures Datapacks folder

Dynamic TFC Structures generates its own data pack using configuration files, so it has its own directory for datapacks:

  • tfc_structures_datapacks/tfc_structures_main\ But you may place your datapacks or KubeJS-like datapack folders (use the tfc_structures_main datapack as an example) directly in the tfc_structures_datapacks folder, and they will load upon world creation.

Don't put your files in tfc_structures_main, because it will be deleted and re-created for every resource pack generation.

Built-in data changes

You should be aware that Dynamic TFC Structures overrides vanilla loot tables to TFC items in the gameplay folder, such as the Cat's morning gift, Hero of the Village reward, Piglin bartering, and Sniffer digging.

FAQ

How do I add new structures?

Just start a new world with your structure mods installed. After the first server load, you will find new structures in config/tfc_structures/worldgen_config.json (in the defaultWorldgenStructures section) and in config/tfc_structures/structures_config.json (in the structures section). Both files are created or updated automatically when the server is about to start.

<details> <summary>What happens under the hood</summary>

  • worldgen_config.json — the mod scans the structure registry and puts every structure that is not listed in biomeTags or disabledStructures into defaultWorldgenStructures. Structures in that list keep the biome rules from the original mod. To make a structure spawn in TFC biomes, move its ID from defaultWorldgenStructures into a biomeTags entry (create a new one or add it to an existing tag). See the vanilla entries in WorldgenConfig.getDefaultConfig() for examples.
  • structures_config.json — every registered structure that is missing from structures gets a default entry: replacementPreset: "overworld-common", the default empty-chest loot table from common-config.toml, and an empty lootTablesOverrideMap. Adjust the preset, loot overrides, or assign a custom preset from the presets folder as needed.

</details>

After editing

Restart the server (or create a new world) so the generated datapack in _tfc_structures_datapacks/tfc_structures_main is rebuilt with your biomeTags changes. Block replacement settings from structures_config.json are picked up on the next structure spawn.

Tip: enable biomesTagsStructuresToLogs in common-config.toml to print every structure ID to the log — useful when you are unsure of the exact resource location.

How to customize loot tables on structures?

There are three ways:

  • Override loot tables of structures directly using a custom datapack (or KubeJS data folder).
  • Create your own loot tables using a custom datapack and override vanilla tables with yours for desired structures using lootTablesOverrideMap in config/tfc_structures/structures_config.json.
  • Replace items in loot tables using KubeJS + LootJS (you may take a look at how I did that in my modpack TFC: Lost Light, in file kubejs/server_scripts/modpack_loot_replacement.js). This one is the easier way, as it will be fully automatic for all structure loot tables.

Known issues

  • Currently, tfcWorldReplacement is not compatible with non-default TFC blocks (e.g., ArborFirmaCraft)
  • Structures can't spawn on water (including salt and spring water)

Project description from CurseForge.

Pick your setup

Dynamic TFC Structures by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Dynamic TFC Structures versions and loaders

9 of 9 releases match

Looking for an older file? The official CurseForge project page is in Resources.