TFC:真实世界

TFC:真实世界

使用真实世界地图生成类地世界的地形和气候,并与TerraFirmaCraft的原始内容和进程完全集成

TFC: Real World 🌍

Earth Maps

探索一个你熟悉的世界

TerraFirmaCraft 与真实世界地理的碰撞!🌄

是否曾梦想在一个真正熟悉的世界中生存与繁荣?一个广袤的海洋分隔着标志性的大陆、雄伟的山脉直插云霄、绵延的沙漠过渡为冰封的苔原——这一切都由 TFC 深度而真实的生存系统所支配?

TFC: Real World 让这个梦想成为现实。✨

本模组利用我们自身星球的布局来重塑你的 TFC 世界。在一个宏大而可信的尺度上体验终极探索冒险,每一段旅程都仿佛是在地球上绘制未知的疆域——并完整保留 TerraFirmaCraft 标志性的真实感与进程系统。⛏️🌱


本模组的功能

TFC: Real World 改变的是你世界的基础——而非玩法。所有深受喜爱的 TFC 机制、资源和挑战都完好无损。改变的是你展开游戏的舞台。🗺️

世界的大陆、山脉、海洋和气候带不再随机生成,而是由真实世界数据引导。这为你的生存传奇创造了一个独特沉浸且合乎逻辑的地理环境。

🧭 核心体验与新规则:

  • 航行于熟悉的水域: 在映照地球各大海洋的广袤海域和海岸线中航行。⛵
  • 征服传奇山峰: 穿越高耸的山脉,深入幽深的海洋海沟。🏔️
  • 穿越全球气候: 从茂盛的赤道雨林,途经干旱沙漠和广袤草原,进入温带林地,一路直至冰封的极地——每一处都带有 TFC 真实的季节效果。☀️❄️
  • 发现合乎逻辑的地貌: 在板块构造力会放置火山的地方找到火山,体验在地理上说得通的气候过渡。🌋

TFC 的核心体验保持不变。 我只是使用地图数据来告诉游戏在哪里放置这些令人惊叹的地貌,让每个世界都感觉连贯、广阔且充满探索的可能。


⚙️ 技术细节与配置

🏞️ 工作原理与特性

本模组通过用从可自定义地图图像中采样的数据替换 TFC 的默认噪声生成器来运作。这实现了无缝整合,让 TFC 丰富的程序化细节填充本地地形。

  • 大陆与海洋布局: 由世界地图图像塑造,创造出类似地球的陆地。
  • 海拔与深度: 真实的海拔数据创造出逼真的山脉、平原和洋底。
  • 火山活动: 热点地图引导 TFC 火山放置在板块构造上合理的位置。
  • 气候系统: 柯本气候地图定义了温度和降雨带(热带、干旱、温带、大陆性、极地),TFC 现有系统利用这些数据来创建生物群系。
  • 非侵入式: 没有新方块、物品或生物。仅使用 Mixin 来重定向世界生成规则。
  • 增强峡谷生物群系: 可选配置使峡谷生物群系纯粹由侵蚀形成,移除火山特征(仅限 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 世界创建界面访问,便于调整。高级用户也可以手动修改配置文件。

📋 地图配置档案

  • Map Profile(地图配置档案): 选择使用哪一组地图图像进行世界生成(例如 Full World、Old World)。默认配置档案包含所有必要的地球地图数据。

📍 出生点设置
选择你开始冒险的位置:

  • Spawn Mode(出生模式):
    • GEOGRAPHIC – 使用真实世界坐标出生!设置纬度和经度。
    • RANDOM – 由世界种子决定的随机位置。
    • CLASSIC – 使用 TFC 原始的基于坐标的出生系统。
  • Geographic Spawn Center (Longitude/Latitude)(地理出生中心(经度/纬度)): 使用 GEOGRAPHIC 模式时,设置你出生区域的确切中心。游戏会选择一个附近合适的位置。

🎯 TFC 出生点设置
TFC 原始的基于坐标的出生选项(在 CLASSIC 模式中使用):

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

🌿 生物群系修改

  • Canyons Not Volcanic(峡谷非火山): 启用时(默认),从峡谷和落水洞峡谷生物群系中移除火山岩和特征,使其成为纯粹的侵蚀地貌。

⛰️ TFC 世界参数
微调熟悉的 TFC 世界生成数值。

  • Flat Bedrock(平坦基岩): 如果启用,世界底部为单一平坦的基岩层。
  • Finite Continents(有限大陆): 如果启用,世界拥有有限数量的大陆,被广袤深邃的海洋所环绕(仅限 1.21.1)。
  • Continentalness(大陆度): 控制陆地大小。较低的值 = 更碎片化的陆地和岛屿。较高的值 = 更大、更完整的大陆(如果来自地图的大陆和海拔被禁用)。
  • Grass Density(草密度): 影响全局草覆盖量(1.20.1+)。
  • Temperature Constant(温度常数): 代表整个世界温度的数字,其中 -1.0 为极地,1.0 为热带(如果来自地图的气候被禁用,1.20.1+)。
  • Rainfall Constant(降雨常数): 代表整个世界降雨量的数字,其中 -1.0 为干旱,1.0 为热带(如果来自地图的气候被禁用,1.20.1+)。
  • Temperature Scale(温度尺度): 最热与最冷气候带之间的距离(以方块计)(如果来自地图的气候被禁用)。
  • Rainfall Scale(降雨尺度): 最湿与最干气候带之间的距离(以方块计)(如果来自地图的气候被禁用)。

⚠️ 关键缩放设置
这两个值对于维持正确的地图比例至关重要。它们控制多少 Minecraft 方块代表真实世界数据。

  • Horizontal Scale(水平尺度): 世界地图的半径(以方块计)。
  • Vertical Scale(垂直尺度): 地形的高度上限(以方块计)。

重要: 水平尺度与垂直尺度之间的比率必须与原始地图数据的宽高比匹配。如果这些值被设置为不成比例的大小,世界将出现拉伸或压扁。默认值已正确校准。

🌐 世界生成模式
切换世界的哪些方面由真实数据塑造。禁用某个模式将把该特性恢复为 TFC 的标准程序化生成。

  • Generate Continents from Map(从地图生成大陆): 使用世界地图塑造陆地和海洋。
  • Generate Altitude from Map(从地图生成海拔): 创造出逼真的山脉、丘陵、平原和海洋深度。
  • Generate Hotspots from Map(从地图生成热点): 将 TFC 的火山放置在板块构造上合理的位置。
  • Generate Climate from Map(从地图生成气候): 使用柯本气候地图创建合乎逻辑的温度和降雨带(热带、干旱、温带等)。

💡 快速提示

  1. 为了获得真实的地球体验,请保持所有四个 Generate ... from Map 选项启用。
  2. 使用Geographic Spawn(地理出生)在特定国家或著名地标附近开始。
  3. 不要更改 Horizontal Scale 或 Vertical Scale,除非你理解地图的比例并且想要一个刻意扭曲的世界。

🎨 高级:自定义地图配置档案

本指南为想要使用自己的地理数据生成世界的高级用户解释如何创建自定义地图配置档案。

🏗️ 地图配置档案结构
地图配置档案组织世界生成所需的所有地图图像。每个配置档案必须有一个 maps/ 目录,包含所需的地图文件:

{namespace}/{profile_name}/
├─ maps/
│ ├── continent.png
│ ├── altitude.png
│ ├── hotspots.png
│ ├── koppen.png
│ ├── temperature.png
│ └── rainfall.png
└── settings.json


配置档案可以放在两个位置:

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

外部配置档案优先于具有相同命名空间和名称的 JAR 配置档案。

🔧 配置档案设置(settings.json)
每个地图配置档案需要一个 settings.json 文件来定义配置档案的配置。所有字段都是可选的,如果省略将使用默认值。

显示设置:

  • Index(整数,默认:2147483647):配置档案选择列表中的显示顺序。较低的值排在最前。
  • Lang(对象,默认:{}):配置档案的本地化显示名称。键为语言代码(例如 "en_us"、"ru_ru"),值为显示字符串。

出生点设置:

  • Spawn Center Longitude(双精度浮点数,默认:12.4964):默认出生中心的地理经度(意大利罗马)。
  • Spawn Center Latitude(双精度浮点数,默认:41.9028):默认出生中心的地理纬度(意大利罗马)。

缩放设置:

  • Horizontal Scale(整数,默认:40000):世界地图的半径(以方块计)。
  • Vertical Scale(整数,默认:20000):地形的高度上限(以方块计)。

重要: horizontal_scale 与 vertical_scale 之间的比率应与你的地图宽高比匹配,以避免拉伸或压扁。

地图边界:

  • West Edge Longitude(双精度浮点数,默认:-170.0):地图西边缘的经度(以度计)。
  • East Edge Longitude(双精度浮点数,默认:190.0):地图东边缘的经度(以度计)。
  • South Edge Latitude(双精度浮点数,默认:-90.0):地图南边缘的纬度(以度计)。
  • North Edge Latitude(双精度浮点数,默认:90.0):地图北边缘的纬度(以度计)。

投影:

  • Map Projection(字符串,默认:"EQUAL_EARTH"):地图投影类型。目前仅支持 "EQUAL_EARTH"。

🖼️ 必需的地图图像
所有地图必须为 PNG 格式,且尺寸完全相同。地图应使用等面积投影(例如 Equal Earth)以维持正确的比例。

大陆地图(continent.png): 定义陆地分布和大陆边界。格式:灰度 PNG。图例:0(黑色)= 海洋,255(白色)= 陆地。此地图塑造你世界中大陆和海洋的基本布局。

海拔地图(altitude.png): 定义地形海拔和海洋深度。格式:灰度 PNG。图例:0-127 = 海洋深度(越暗 = 越深),128-255 = 陆地海拔(越亮 = 越高)。创造出逼真的山脉、丘陵、平原和洋底。示例值:0 = 最深海洋,64 = 浅海,128 = 海平面(海岸线),192 = 丘陵,255 = 最高山脉。

热点地图(hotspots.png): 定义火山热点位置和年龄。格式:灰度 PNG。图例:0 = 无热点(年龄 0),64 = 年龄 4(最古老),128 = 年龄 3,192 = 年龄 2,255 = 年龄 1(最年轻)。将 TFC 火山放置在板块构造上合理的位置。

柯本气候地图(koppen.png): 使用柯本气候分类系统定义气候带。格式:RGB 彩色 PNG。每种气候类型都有必须完全匹配的特定 RGB 颜色。

气候类型及其 RGB 颜色:

  • AF(湿润热带):(0, 0, 220)
  • AS(热带干/湿季):(0, 100, 240)
  • AW(热带湿/干季):(0, 150, 220)
  • AM(热带季风):(40, 80, 200)
  • BWH(炎热沙漠):(210, 0, 0)
  • BSH(炎热半干旱):(210, 120, 0)
  • BWK(寒冷沙漠):(200, 80, 80)
  • BSK(寒冷半干旱):(200, 120, 60)
  • CSA(沿海亚热带):(250, 250, 0)
  • CSB(沿海):(180, 180, 0)
  • CSC(寒冷沿海):(120, 120, 0)
  • CWA(季风亚热带):(100, 240, 130)
  • CWB(季风温带):(80, 210, 120)
  • CWC(寒冷季风温带):(70, 160, 110)
  • CFA(海洋性亚热带):(170, 240, 90)
  • CFB(海洋性):(140, 200, 80)
  • CFC(寒冷海洋性):(110, 170, 70)
  • DSA(沿海大陆性):(190, 20, 190)
  • DSB(寒冷沿海大陆性):(160, 20, 180)
  • DSC(沿海亚北极):(130, 20, 170)
  • DSD(沿海寒冷亚北极):(100, 20, 160)
  • DFA(大陆性):(40, 190, 190)
  • DFB(寒冷大陆性):(30, 170, 170)
  • DFC(亚北极):(20, 150, 140)
  • DFD(寒冷亚北极):(10, 130, 110)
  • DWA(季风大陆性):(80, 80, 220)
  • DWB(寒冷季风大陆性):(70, 70, 190)
  • DWC(季风亚北极):(60, 60, 160)
  • DWD(寒冷季风亚北极):(60, 60, 130)
  • ET(苔原):(190, 190, 190)
  • EF(极地):(80, 80, 80)

温度地图(temperature.png): 提供与柯本地图结合使用的温度数据。格式:灰度 PNG。图例:0(黑色)= 最冷,255(白色)= 最热。每个柯本气候带在其自身的温度范围内解释灰度值,因此较高的亮度表示该特定气候类型更温暖的温度。

降雨地图(rainfall.png): 提供与柯本地图结合使用的降雨数据。格式:灰度 PNG。图例:0(黑色)= 最干,255(白色)= 最湿。每个柯本气候带在其自身的降雨范围内解释灰度值,因此较高的亮度表示该特定气候类型更多的降雨。

✅ 最佳实践

  1. 一致性: 确保所有地图正确对齐——大陆应与海拔匹配,气候应与温度/降雨模式匹配。
  2. 平滑过渡: 使用渐变而非急剧的边界,以避免生成世界中的视觉瑕疵。
  3. 海平面: 在海拔地图中,保持海平面边界(128)与你的大陆地图一致——海洋区域的值应低于 128。
  4. 颜色准确性: 对于柯本地图,使用所提供的精确 RGB 值。即使是很小的偏差也会导致模组使用最接近的匹配气候类型。
  5. 测试: 先使用小世界测试你的地图,在创建大规模地图之前验证比例和对齐。
  6. 地图尺寸: 配置档案中的所有地图必须具有相同的宽度和高度。使用等面积投影以在整个地图上维持正确的比例。

🏝️ 示例:创建一个简单的岛屿地图
以下是一个创建基本岛屿地图配置档案的最小示例:

  1. 大陆地图: 创建一个 1280x640 的灰度图像,大部分地图为 0(海洋),中心有一个圆形岛屿为 255(陆地)。
  2. 海拔地图: 创建一个匹配的 1280x640 灰度图像,海洋区域为 64(浅海),岛屿边缘为 128(海平面),岛屿中心为 200(丘陵)。
  3. 热点地图: 创建一个 1280x640 的灰度图像,大部分区域为 0(无火山),岛屿上有一个小热点为 192(年龄 2)。
  4. 柯本地图: 创建一个 1280x640 的 RGB 图像,使用 (140, 200, 80) 代表 CFB(海洋性气候)。
  5. 温度地图: 创建一个 1280x640 的灰度图像,从边缘的 120(较冷)渐变到中心的 180(较暖),代表岛屿上的温度变化。
  6. 降雨地图: 创建一个 1280x640 的灰度图像,从边缘的 140(较干)渐变到中心的 200(较湿),代表岛屿上的降雨变化。
  7. 设置: 创建 settings.json,将 horizontal_scale 设为 40000,vertical_scale 设为 20000,以匹配地图 2:1 的宽高比。请注意,由于 2:1 的比例,你地图中的圆形岛屿在生成的世界中将显示为椭圆形。

所有六张地图必须恰好为 1280x640 像素,并作为 PNG 文件保存在配置档案的 maps/ 目录中。

🗓️ 路线图

  1. 一个面向原版 Minecraft 的类似模组。
  2. 一个拥有更大、更详细世界地图的版本。
  3. 将模组移植到 TFC 1.12.2(尽管这将具有挑战性)。

📎 链接

如果你有建议或想要报告 bug,请创建一个 issue,我一定会回复。


投入 TerraFirmaCraft 的终极生存探索模组。在一个感觉像家却充满无尽发现的世界中开始你的旅程。 🚀