Skip to content

SH42913/tfc_structures

Repository files navigation

Dynamic TFC Structures

Did you ever dream to fill 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 their blocks with TerraFirmaCraft analogues like it was built specially for TFC.
The mod is also fully configurable, you may find configuration files in config/tfc_structures folder. By default, only vanilla structures are activated, but you can activate any other modded structure.

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

Disclaimer

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

Configurations

Dynamic TFC Structures has 3 main configuration files:

  • common-config.toml
    allowedDimensions - list of dimensions where structure block 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 generated 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 game, but was 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 folder presets where you may find replacement presets configuration files.
Every preset has 3 properties:

  • directReplacements - block-to-block map to direct replacement when structure have spawned
  • randomReplacements - block-to-many-blocks map to random replacement. perBlock=false means whole structure will use one block.
  • tfcWorldReplacements - block-to-type map to 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 another presets by your own(don't forget to assign preset to structure in structures_config.json).

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

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 folder(use tfc_structures_main datapack as an example) directly to tfc_structures_datapacks folder, and it will load upon world creation.

Don't put your files to 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 override vanilla loot tables to TFC items in gameplay folder, like Cat morning gift, Hero of the Village reward, Piglin bartering and Sniffer digging.

Known issues

  • Currently, tfcWorldReplacement is not compatible with non-default TFC blocks (eg, ArborFirmaCraft)
  • There are some issues with tall plant replacement
  • Structures can't spawn on water(including salt and spring water)

About

Dynamic TFC Structures is developed to adapt any world-gen structures to TerraFirmaCraft

Resources

License

Stars

Watchers

Forks

Languages