
动态TFC结构
Dynamic TFC Structures 让你可以将任何 Minecraft 结构适配到 TerraFirmaCraft
查看大图Dynamic TFC Structures
你是否曾梦想过用真实的结构填充你的 TerraFirmaCraft 世界?Dynamic TFC Structures 将把它们带入你的世界!

Dynamic TFC Structures 可以激活任何世界生成结构,并将其方块替换为 TerraFirmaCraft 的对应方块,就好像它是专为 TFC 建造的一样。 该模组也是完全可配置的;你可以在 config/tfc_structures 文件夹中找到配置文件。默认情况下,只有原版结构会被激活,但你可以激活任何其他模组的结构。
主要面向 TerraFirmaCraft 整合包作者 —— 该模组可帮助你通过可配置的方块替换和世界生成规则,将原版和模组结构带入 TFC 世界。
尽管模组名称如此,Dynamic TFC Structures 也可以在没有 TerraFirmaCraft 的情况下运行,所以欢迎在非 TFC 整合包中使用 :) 但如果你没有 TFC,你需要自行构建配置文件。
免责声明
请注意,Dynamic TFC Structures 目前处于 BETA 阶段,因此它 包含 bug,而且 仍有工作要做。
配置
Dynamic TFC Structures 有 3 个主要配置文件:
- common-config.toml allowedDimensions - 结构方块将被替换为 TFC 方块的维度列表 biomesTagsStructuresToLogs - 调试开关,将生物群系、生物群系标签和结构输出到日志 fallbackToTfcStructuresLoot - 切换是否在结构中没有 lootTablesOverrideMap 时启用 tfc_structures 战利品表 mossyBlocks/strippedLogs/strippedWood/crackedBricks - 用于替换的特殊标签。它们都会被添加到特殊方块标签中。
- worldgen_config.json
biomeTags - 将生成到
tfc_structures_datapacks/tfc_structures_main数据包中的生物群系标签定义。它还包含将在该生物群系标签中生成的结构。 disabledStructures - 你不希望在世界中看到的结构列表 defaultWorldgenStructures - 游戏中存在但未添加到上述任何列表中的结构列表,因此它们将使用默认生成规则。此属性将在服务器加载时更新。 - structures_config.json structures - 每个结构的替换规则列表,例如替换预设、lootTablesOverrideMap 等。 此配置将在服务器加载时创建(或更新)。
另外,还有一个 presets 文件夹,你可以在其中找到替换预设配置文件。
每个预设都有 3 个属性:
- directReplacements - 结构生成时的方块到方块直接替换映射
- randomReplacements - 用于随机替换的方块到多方块映射。
perBlock=false表示整个结构将使用一种方块。 - tfcWorldReplacements - 用于将方块替换为周围 TFC 方块(如石头、木头、土壤、沙子或矿石)的方块到类型映射
默认情况下,有两个预设:no-replace(空预设)和 overworld-common,但你可以自己创建额外的预设(别忘了在 structures_config.json 中为结构分配预设)。
如果你被一个地方的大量结构困扰,你可能也会有兴趣安装 Sparse Structures。
TFC Structures 数据包文件夹
Dynamic TFC Structures 使用配置文件生成自己的数据包,因此它有自己的数据包目录:
- tfc_structures_datapacks/tfc_structures_main
但你可以将你的数据包或类似 KubeJS 的数据包文件夹(以
tfc_structures_main数据包为例)直接放入 tfc_structures_datapacks 文件夹中,它们将在世界创建时加载。
不要把文件放入 tfc_structures_main,因为它会在每次资源包生成时被删除并重新创建。
内置数据更改
你应该注意,Dynamic TFC Structures 会覆盖 gameplay 文件夹中的原版战利品表,将其替换为 TFC 物品,例如猫的晨间礼物、村庄英雄奖励、猪灵以物易物和嗅探兽挖掘。
常见问题
如何添加新结构?
只需在安装你的结构模组的情况下开始一个新世界。首次服务器加载后,你将在 config/tfc_structures/worldgen_config.json(在 defaultWorldgenStructures 部分)和 config/tfc_structures/structures_config.json(在 structures 部分)中找到新结构。这两个文件都会在服务器即将启动时自动创建或更新。
幕后发生了什么
worldgen_config.json—— 模组会扫描结构注册表,并将所有未列在biomeTags或disabledStructures中的结构放入defaultWorldgenStructures。该列表中的结构会保留来自原始模组的生物群系规则。要让结构在 TFC 生物群系中生成,请将其 ID 从defaultWorldgenStructures移动到biomeTags条目中(创建一个新条目或将其添加到现有标签中)。有关示例,请参见WorldgenConfig.getDefaultConfig()中的原版条目。structures_config.json—— 每个在structures中缺失的已注册结构都会获得一个默认条目:replacementPreset: "overworld-common"、来自common-config.toml的默认空箱子战利品表,以及一个空的lootTablesOverrideMap。根据需要调整预设、战利品覆盖,或从presets文件夹分配自定义预设。
编辑之后
重启服务器(或创建新世界),以便 _tfc_structures_datapacks/tfc_structures_main 中生成的数据包根据你的 biomeTags 更改重新构建。structures_config.json 中的方块替换设置会在下一次结构生成时生效。
提示: 在 common-config.toml 中启用 biomesTagsStructuresToLogs,可将每个结构 ID 打印到日志中——当你无法确定准确的资源位置时非常有用。
如何自定义结构上的战利品表?
有三种方法:
- 使用自定义数据包(或 KubeJS 数据文件夹)直接覆盖结构的战利品表。
- 使用自定义数据包创建你自己的战利品表,并通过
config/tfc_structures/structures_config.json中的lootTablesOverrideMap为所需结构用你的战利品表覆盖原版战利品表。 - 使用 KubeJS + LootJS 替换战利品表中的物品(你可以看看我在我的整合包 TFC: Lost Light 中是如何做的,文件为
kubejs/server_scripts/modpack_loot_replacement.js)。这种方法更简单,因为它会对所有结构战利品表完全自动生效。
已知问题
- 目前,tfcWorldReplacement 与非默认 TFC 方块不兼容(例如 ArborFirmaCraft)
- 结构无法生成在水上(包括咸水和泉水)
正在加载版本记录…












正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。