
动态TFC结构
动态TFC结构模组让你能够将任意Minecraft结构适配到TerraFirmaCraft
查看大图动态 TFC 结构
你是否曾梦想过用原汁原味的结构填满你的 TerraFirmaCraft 世界?动态 TFC 结构将为你的世界带来这些!
动态 TFC 结构可以激活任何世界生成结构,并将其方块替换为 TerraFirmaCraft 的对应方块,就好像它是专为 TFC 建造的一样。
该模组还完全可配置;你可以在 config/tfc_structures 文件夹中找到配置文件。默认情况下,
只有原版结构会被激活,但你可以激活任何其他模组添加的结构。
主要面向 TerraFirmaCraft 整合包作者 —— 该模组可帮助你通过可配置的方块替换和世界生成规则, 将原版和模组结构带入 TFC 世界。
尽管模组名称如此,动态 TFC 结构也可以在没有 TerraFirmaCraft 的情况下运行,所以请随意在非 TFC 整合包中使用它 :) 但如果你没有安装 TFC,你需要自行构建配置文件。
免责声明
请注意,动态 TFC 结构目前处于 BETA 阶段,因此它 包含 bug,并且 仍有工作要做。
配置
动态 TFC 结构有 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 结构数据包文件夹
动态 TFC 结构使用配置文件生成自己的数据包,因此它有自己的数据包目录:
- tfc_structures_datapacks/tfc_structures_main
但你可以将你的数据包或类似 KubeJS 的数据包文件夹(以tfc_structures_main数据包为 示例) 直接放在 tfc_structures_datapacks 文件夹中,它们将在世界创建时加载。
不要把你的文件放在 tfc_structures_main 中,因为它会在每次资源包
生成时被删除并重新创建。
内置数据更改
你应该知道,动态 TFC 结构会在 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)
- 结构无法在水上生成(包括盐水和泉水)
正在加载版本记录…





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