跳到正文

TFC: Real World

作者:yazloysasha

使用真实世界地图生成类地世界,模拟地形与气候;与 TerraFirmaCraft 的原版内容和成长路线全面整合。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

TFC:真实世界 🌍

🎉 超写实更新现已推出!真实的河流、湖泊与岛屿,细致的海岸线,以及一张包含 400 多个航点和成就的世界地图,适用于 v2.2.0 / v3.2.0 / v4.2.0 及更高版本。

The world from above

在真实地球上生存

以 TerraFirmaCraft 的生存玩法,逐方块探索整个星球。 🌄

沿尼罗河航行至三角洲,划船穿过雨林,逆亚马逊河而上。横穿撒哈拉,攀登喜马拉雅山脉,在贝加尔湖畔度过冬天,或从一个环礁跳到另一个环礁,穿越太平洋,直到夏威夷的火山从海面升起。每一段海岸、河流和山脉都在你熟悉的位置——而你喜爱的 TFC 内容也一如既往,丝毫未变。🗺️

🧭 等你探索:

  • 真实的河流与湖泊:密西西比河、伏尔加河、长江,以及数千公里的其他大河都流经真实世界中的位置;水量丰沛处河面宽阔,入海时则铺展成三角洲。维多利亚湖和五大湖是淡水湖;死海和大盐湖则和现实一样是咸水湖。🏞️
  • 细致的海岸线与真实岛屿:挪威的峡湾、意大利的靴子形海岸、印度尼西亚的千岛群岛——海湾、半岛和内海都依照真实地图绘制;从英国、日本到小型海洋岛屿,岛屿一应俱全;珊瑚礁真正生长之处,也有环礁点缀。🏝️
  • 真实的山脉与火山:板块碰撞之处,安第斯山脉和阿尔卑斯山脉拔地而起;板块分离之处,裂谷随之形成;冰岛和环太平洋火山带也各有火山。🏔️🌋
  • 真实的气候:从刚果的丛林、稀树草原和戈壁,到西伯利亚针叶林与南极冰原——每个地区都拥有 TFC 原汁原味的季节变化。☀️❄️
  • 想从哪里开始都可以:输入任意经纬度,就能从指定地点开始生存——比如你的家乡、乞力马扎罗山脚下,或加勒比海的一座岛屿。📍
  • 真实比例:等积投影地图让每片陆地都保持真实面积——格陵兰岛不会比非洲更大。世界地图横跨 80,000 × 40,000 个方块,你也可以将它调大或缩小。📐
  • 征服整个星球:地图上有 400 多座真实城市与聚居地,从各国首都到偏远的海岛村庄和极地科考站,都在你物品栏中的地理地图上等你探索,每个地点都有专属成就。到访巴黎、开罗、东京、堪培拉、开普敦……你能踏足所有地点吗?🧭🏆
  • 或者带上你自己的世界:独自游玩整个地球、旧大陆或新大陆——也可以导入自己的地图,在任何你能绘制的星球上游玩。🪐

它依然是 TFC。这个模组只负责告诉 TerraFirmaCraft 地球上每个地点是什么样的地方;生物群系、岩石和季节依然由 TFC 自行生成。

Altitude, biomes and climate of the generated world


⚙️ 技术细节与配置

工作原理与功能 🏞️

该模组通过替换 TFC 默认的噪声生成器,改用从可自定义地图图像中采样的数据。它能与 TFC 无缝整合,让 TFC 丰富的程序化细节继续生成当地地形。

  • 大陆、岛屿与湖泊:世界地图描绘陆块、海洋、岛屿(细致到单个小岛),以及淡水湖和咸水湖。
  • 构造与地形:构造地图会告知 TFC 每个区域的地貌类型:低地或山地、裂谷带或碰撞带、火山弧、珊瑚礁海域。随后 TFC 会自行选择生物群系,因此喜马拉雅山脉会成为碰撞山脉,东非会出现裂谷,而峡湾海岸则会形成海洋性山脉。
  • 火山:热点盾状火山分布在真实地点,从活火山到古老火山皆有。
  • 河流:采用该配置档的真实河网,河流宽度基于真实流量,三角洲则依据真实三角洲数据生成。TFC 会将它们塑造、弯曲并淹没,使其成为 TFC 自身生成的河流。
  • 气候系统:温度、降雨量和降雨季节性地图会为每个地点标注真实气候带(热带、干旱、温带、大陆性、极地),TFC 现有的系统会利用这些信息生成生物群系。
  • 地理地图与进度:新增的物品栏标签页会显示世界地图,以及你的位置和配置档中的航点,并可按大陆、区域和子区域筛选。靠近航点即可发现该地点并获得对应进度。
  • 不干扰原版内容:不添加任何新方块、物品或生物。通过 Mixins 将地图数据提供给 TFC 自身的世界生成系统。
  • 增强峡谷生物群系:可选配置项,可让峡谷生物群系完全由侵蚀形成,并移除火山特征(仅限 1.21.1)。
配置指南 🛠️

重要版本说明:本配置指南适用于 TFC: Real World v4.0.3+(1.21.1)、v3.0.4+(1.20.1)和 v2.0.2+(1.18.2)。如果你使用的是更早版本,强烈建议更新至最新版本,以使用这些改进后的配置选项。旧版使用不同的配置系统,且不再提供相关指南支持。

所有配置都可以直接在 TFC 世界创建界面中调整,方便快捷。高级用户也可以手动修改配置文件。

📋 地图配置档

  • 地图配置档:选择用于生成世界的地图图像集(例如 Full World、Old World)。默认配置档包含所有必要的地球地图数据。

📍 出生点设置

选择冒险的起点:

  • 出生模式:
  • GEOGRAPHIC:使用真实世界坐标出生!设置经纬度。
  • RANDOM:由世界种子决定随机地点。
  • CLASSIC:使用 TFC 原有的基于坐标的出生系统。
  • 地理出生中心(经度/纬度):使用 GEOGRAPHIC 模式时,设置可供你出生区域的精确中心。游戏会选择附近合适的位置。

🎯 TFC 出生点设置

TFC 原有的基于坐标的出生选项(用于 CLASSIC 模式):

  • 经典出生中心(X/Z):使用 CLASSIC 模式时,这些 TFC 选项用于定义出生中心点。
  • 出生距离:距出生中心的最大出生半径。适用于 GEOGRAPHIC 和 CLASSIC 模式。

🌿 生物群系修改

  • 峡谷不含火山特征:启用时(默认),会移除峡谷和落水洞峡谷生物群系中的火山岩及火山特征,使其成为完全由侵蚀形成的地貌(仅限 1.20.1 搭配 TerraFirmaEarth 或 TerraFirmaGreg 使用;使用 TerraFirmaGreg 时需在配置文件中设置)。

⛰️ TFC 世界参数

微调 TFC 中熟悉的世界生成参数。

  • 平坦基岩:启用后,世界底部将变为一层平坦的基岩。
  • 有限大陆:启用后,世界将由数量有限的大陆组成,周围环绕着广阔而深邃的海洋(适用于 1.21.1,或安装 TerraFirmaEarth 的 1.20.1)。
  • 大陆性:控制陆地的大小。数值越低,陆地越零散、岛屿越多;数值越高,大陆越大、越连贯(禁用地图生成大陆时)。
  • 草地密度:影响全球草地覆盖量(适用于 1.20.1 及以上版本)。
  • 恒定温度:代表整个世界温度的数值,-1.0 表示极地,1.0 表示热带(禁用地图生成气候时,适用于 1.20.1 及以上版本)。
  • 恒定降雨量:代表整个世界降雨量的数值,-1.0 表示干旱,1.0 表示热带(禁用地图生成气候时,适用于 1.20.1 及以上版本)。
  • 温度尺度:最热与最冷气候带之间的距离(以方块为单位;禁用地图生成气候时)。
  • 降雨量尺度:最湿润与最干燥气候带之间的距离(以方块为单位;禁用地图生成气候时)。

⚠️ 关键缩放设置

这两个数值对于保持地图比例正确至关重要。它们决定了现实世界数据对应多少个 Minecraft 方块。

  • 水平缩放:世界地图的半径(以方块为单位)。
  • 垂直缩放:地形的高度上限(以方块为单位)。

重要提示:水平缩放与垂直缩放的比例必须与原始地图数据的宽高比一致。如果两者设置得不成比例,世界就会显得拉伸或压扁。默认值已经过正确校准。

🌐 世界生成模式

切换由真实数据塑造的世界要素。禁用某个模式后,该要素将改用 TFC 的标准程序生成方式。

  • 根据地图生成大陆:使用世界地图塑造陆地、岛屿和海洋。
  • 根据地图生成湖泊:生成世界地图中的真实湖泊,而非 TFC 程序生成的湖泊(需要启用根据地图生成大陆)。
  • 根据地图生成构造活动:依据构造地图生成地形起伏、板块边界和火山活动(需要启用根据地图生成大陆)。
  • 根据地图生成火山:在构造地图标示的热点位置生成火山,而非随机生成(需要启用根据地图生成构造活动)。
  • 根据地图生成河流:生成配置文件中的真实河流,而非 TFC 程序生成的河流(需要启用根据地图生成大陆)。
  • 根据地图生成气候:从气候地图读取温度、降雨量和降雨量变化,而非通过程序生成。

💡 快速提示

  1. 若想获得真实的地球体验,请启用全部六个Generate ... from Map选项。
  2. 使用地理出生点,即可在指定国家或著名地标附近开始游戏。
  3. 除非你了解地图比例并想刻意扭曲世界,否则不要更改Horizontal Scale或Vertical Scale。
进阶:自定义地图配置文件 🎨

本指南介绍如何创建自定义地图配置文件,适用于想用自己的地理数据生成世界的进阶用户。

🏗️ 地图配置文件结构

{namespace}/{profile_name}/
├── maps/
│   ├── continent.png
│   ├── tectonics.png
│   ├── temperature.png
│   ├── rainfall.png
│   ├── rain_variance.png
│   └── rivers.bin
├── settings.json
└── tectonics.json

配置文件可以放在以下两个位置:

  • 模组 JAR 资源目录: data/tfc_real_world/profiles/{namespace}/{profile_name}/
  • 外部配置目录: config/tfc_real_world/profiles/{namespace}/{profile_name}/(也可以将 ZIP 文件放在此目录中)

外部配置文件的优先级高于命名空间和名称相同的 JAR 配置文件。

🔧 配置文件设置(settings.json)

所有字段均为可选;省略时将使用默认值。

  • index(整数,默认值:2147483647):配置文件选择列表中的显示顺序。数值越小,显示越靠前。
  • lang(对象,默认值:{}):配置文件的本地化显示名称。键为语言代码(例如 "en_us"、"ru_ru"),值为显示文本。
  • spawn_center_longitude / spawn_center_latitude(双精度浮点数,默认值:12.51133 / 41.89193):默认地理生成中心(意大利罗马)。
  • horizontal_scale / vertical_scale(整数,默认值:40000 / 20000):世界地图沿 X 轴和 Z 轴方向的半径,单位为方块。两者的比例应与地图的宽高比一致。
  • west_edge_longitude / east_edge_longitude(双精度浮点数,默认值:-170.0 / 190.0):地图的西侧和东侧边界。
  • south_edge_latitude / north_edge_latitude(双精度浮点数,默认值:-90.0 / 90.0):地图的南侧和北侧边界。
  • map_projection(字符串,默认值:"EQUAL_EARTH"):地图投影方式。目前仅支持 "EQUAL_EARTH"。
  • waypoints(字符串数组,默认值:[]):此配置文件中会显示在游戏内地理地图上的航点(namespace:slug)。

📍 自定义地理信息与航点

游戏内地理地图(物品栏中的地球仪标签页)会显示当前启用配置文件 settings.json 中列出的航点。航点及其层级结构的 JSON 文件与地图图像分开存放:

  • JAR: data/tfc_real_world/geography/{namespace}/{continents|regions|subregions|waypoints}/
  • 外部(文件夹或 ZIP): config/tfc_real_world/geography/ — 可以是 {namespace}/waypoints/my_place.json,也可以是根目录包含相同 {namespace}/... 树结构的 .zip

航点使用 namespace:slug ID;大陆、区域和子区域使用 namespace:continent|region|subregion/slug。外部地理信息会覆盖 ID 相同的 JAR 条目。只有在当前启用的配置文件中列出某个航点,且其 JSON 包含 latitude / longitude 时,该航点才会显示在地图上。

🖼️ 地图图像

所有地图均采用等积投影(例如 Equal Earth),并覆盖相同的区域。气候图和构造图使用相同尺寸(例如 1248×624);continent.png 可以使用更大的尺寸,以呈现更精细的海岸线(例如 9984×4992)。

大陆地图(continent.png): 灰度 PNG,包含五个色阶:

  • 0(黑色)= 海洋
  • 64= 岛屿(小型陆地:TFC 岛屿生物群系)
  • 128= 淡水湖
  • 192= 咸水湖
  • 255(白色)= 陆地

构造图(tectonics.png + tectonics.json):索引色(调色板)或 8 位灰度 PNG;每个像素值都是 tectonics.json 中的类别索引,该列表按索引顺序列出类别。类别不会指定生物群系,只描述地点特征,生物群系由 TFC 自行选择。continent.png决定陆地还是水域,因此每个类别都同时描述两种情况:land用于陆地,water用于海域。

[
  { "water": "shelf" },
  { "boundary": "convergent", "land": "mountain", "water": "trench" },
  { "land": "upland", "water": "shelf", "hotspot": 2 }
]
  • boundary— 活跃板块边界带:none、convergent(陆地上的碰撞带,海洋中的海沟)、divergent(陆地上的裂谷,海洋中的扩张洋脊)或 transform。
  • land — 地形起伏:lowland、upland、highland或mountain。
  • water — 海底:reef、shelf、ridge、deep或trench。
  • volcanism — none、arc(俯冲火山)、rift或intraplate。
  • coast — 1用于海洋延伸至山脉之间的海域(峡湾、陡峭的岛屿海岸):TFC 的海洋山脉。
  • atolls — 1用于有珊瑚礁的海域:如果水温足够高,TFC 会在那里生成环礁,其他地方则不会。
  • hotspot — 0,或盾状火山中心的热点年龄:1(活跃)……4(古老)。和 TFC 一样,除古老热点外,所有热点都会抬升周围地形,包括海底;因此,如果想让海峡保持畅通,就要让热点远离海峡。古老热点在开阔海洋中会形成沉没的盾状火山,在其他地方则会形成古老的盾状火山。

省略的字段默认使用 none / lowland / deep / none / 0 / 0 / 0。PNG 中使用的每个调色板索引都必须对应一个类别。

绘制构造图:模组只读取每个像素的调色板索引,不读取颜色本身,所以颜色可以随意选择:

  1. 在 tectonics.json 中填写所需类别;第一项是类别 0,下一项是类别 1,以此类推。
  2. 以索引颜色模式创建图像(GIMP:_图像 → 模式 → 索引色_;Aseprite:_索引色_模式;Photoshop:_图像 → 模式 → 索引颜色_,然后选择_色表_),并按相同顺序为每个类别添加一个调色板条目。颜色编号 N 对应类别 N。
  3. 绘制时只使用这些调色板颜色,关闭抗锯齿和颜色平滑,然后保存为索引 PNG。调整图像大小时必须使用最近邻插值,否则类别之间会出现新颜色。

也可以使用灰度 PNG:灰度值 N 对应类别 N(黑色对应类别 0)。

气候地图:使用 8 位灰度 PNG,记录每个像素的 TFC 气候,并按原值读取:

  • temperature.png — 年平均气温:0 = −50 °C … 255 = 50 °C。
  • rainfall.png — 年降雨量:0 = 0 mm … 255 = 500 mm。
  • rain_variance.png — 按日历记录的降雨季节性,在 TFC 对南北半球的读取方式中均适用:0 = −1(1 月多雨、7 月少雨)… 128 ≈ 降雨均匀 … 255 = 1(7 月多雨、1 月少雨)。

TFC 会根据这些数值推导气候带(采用柯本气候分类),因此仅凭这些地图就能决定沙漠、苔原、季风林等地形的分布。

河流(rivers.bin,可选):以直线边表示河网;弯曲河道和冲刷河床由 TFC 自行处理。不提供此文件时,配置文件会使用 TFC 的程序生成河流。一个顶点可以连接多条边(形成三角洲)。二进制格式,采用大端序:

  • "TFRW",然后是版本号 int(1)。
  • int顶点数量,然后依次列出每个顶点的 short x、short z:-32767 … 32767,从地图的一侧延伸至另一侧。
  • int边的数量,然后依次列出每条边的 int源顶点、int汇流顶点、byte宽度(方块数):即河道的半宽度(TFC 自带河流使用 8 … 24,默认配置文件使用 6 … 40)。

河流由共享顶点的一连串边组成,从源头流向汇流点。边长保持在约 2.7 个区域格(345 格方块):TFC 会针对每个区块检查附近的每条边,因此短边太多会拖慢生成速度。河流在海平面流动;如果边延伸至海洋或湖泊,则不会进行河道雕刻。

海岭(ridges.bin,可选):以直线线段表示洋中脊的轴线。TFC 的海岭生物群系会沿这些线段隆起形成脊顶;如果没有此文件,地形剖面会保留 TFC 自带的脊顶,但它不会沿着地图延伸。同一条海岭的所有线段都应朝同一方向排列,这样沿着海岭的两侧才会始终保持一致。大端序二进制格式:

  • "TFRG",然后是 int 版本号(1)。
  • int线段数量,之后每条线段包含 short x0、short z0、short x1、short z1:-32767 … 32767,从地图的一侧边缘延伸到另一侧边缘。

🏝️ 示例:创建简单的岛屿地图

  1. 大陆地图:创建一张 9984×4992 的灰度图像,以 0 表示海洋,并在中央绘制一座以 255 表示陆地的圆形岛屿。
  2. 构造活动地图:创建一张 1248×624 的灰度图像,其中 0 表示岛屿周围的海洋与海岸,1 表示岛屿内部,2 表示岛屿中心的单个像素。在 tectonics.json 中写入 [{"water": "shelf"}, {"land": "upland", "water": "shelf"}, {"land": "upland", "water": "shelf", "hotspot": 2}],表示一座休眠的盾状火山。
  3. 温度地图:创建一张 1248×624 的灰度图像,设置渐变:边缘为 158(约 12 °C),中心为 168(约 16 °C)。
  4. 降雨量地图:创建一张 1248×624 的灰度图像,设置渐变:边缘为 102(约 200 mm),中心为 153(约 300 mm)——共同形成海洋性(Cfb)气候。
  5. 降雨变化地图:创建一张填充 128 的 1248×624 图像(全年降雨)。
  6. 设置:创建 settings.json,将 horizontal_scale 设为 40000,并将 vertical_scale 设为 20000,以匹配地图的 2:1 长宽比。注意,由于地图长宽比为 2:1,地图上的圆形岛屿在生成的世界中会呈现椭圆形。
开发计划 🗓️
  1. 制作一个适用于原版 Minecraft 的类似模组。
  2. 推出地图范围更大、细节更丰富的版本。
  3. 将模组移植到 TFC 1.12.2(不过这会很有挑战性)。

🤝 兼容性


📎 链接

如果你有建议或想报告错误,请创建一个问题,我一定会回复。


深入体验 TerraFirmaCraft 的终极生存探索模组。在一个熟悉却又充满无限发现的世界中,开启你的旅程。 🚀

常见问题

TFC: Real World 支持哪些 Minecraft 版本?

TFC: Real World 支持 Minecraft Java 版 1.18.2–1.21.1,共 3 个版本,可用的加载器:Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

TFC: Real World 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分