冷汗:作物气候

冷汗:作物气候

Crop Climates 是 Cold Sweat 的一个附加模组,让作物生长考虑环境因素。

Crop Climates

一个为 Cold Sweat 制作的附属模组,让作物生长将环境因素纳入考量。

每种植物都有其最适合生长的温度和湿度范围。将作物种植在与之匹配的地方,它就会生长良好。将作物种植在恶劣的环境中,生长速度就会慢如蜗牛。将作物种植在远离其适生范围的地方,它们就会开始枯萎。温度是从 Cold Sweat 实时读取的,因此生物群系、海拔、一天中的时间、局部温度等都会影响农场的生长。此外,Crop Climates 在 Minecraft 的湿度系统之上实现了一套湿度系统,使得温室(带有湿度计的封闭空间)能够调节湿度以满足作物的需求。

Minecraft 1.21.1 · NeoForge · 需要 Cold Sweat 2.4.3+


特性

  • 气候驱动的生长。 每种作物、树苗和可生长的植物都有其理想的温度和湿度区间。环境与其匹配的程度会将生长速度从少量加成(在两个区间中心处为原版的 1.25 倍)缩放到几乎为零。
  • 枯萎。 远离其区间的植物会缓慢失去生长阶段,并带有专属粒子效果。完全枯萎的树苗会死亡并变为枯萎的灌木,作物最终会凋零并掉落。
  • 天气与天空。 降雨会为真正淋到雨的作物提高湿度,这意味着露天作物要应对更不稳定的湿度。然而,看不到天空的作物会生长得稍慢,因为它们无法接收到真正的阳光。下界作物则相反,在露天环境下会受到惩罚。
  • 温室。 在一个密封的房间内悬挂一个湿度计,即可将其变为温室,让你能够通过放置水、岩浆以及湿海绵和干海绵来控制湿度。水和湿海绵会增加房间湿度,岩浆和干海绵会降低湿度。
  • 土壤检测仪。 一个手持工具,可报告任意作物处的温度、湿度和预期生长速率。
  • 提示信息。 将 Alt 键悬停在种子或树苗上,即可查看其理想条件,以及它在你所站之处是茂盛生长还是苦苦挣扎。
  • 命令。 /cropclimates explain <pos> 可分解说明植物为何以当前方式生长,/cropclimates audit 会列出你模组中尚无气候区间的类作物方块,/cropclimates status 显示模组的当前状态。
  • 进度。 自定义进度以纪念你的作物种植成就。

数据驱动的作物区间

每种作物的生长区间都定义在数据包 JSON 中,路径为 data/<namespace>/crop_climate/<modid>.json,因此整合包作者无需改动代码即可重新调校、添加或移除作物。整合包只需包含其所更改的作物即可。

{
  "wheat": {
    "temperature": [40, 90],
    "humidity": [0.25, 0.85],
    "item": "minecraft:wheat_seeds"
  },
  "#c:crops": {
    "temperature": [45, 90],
    "humidity": [0.25, 0.7]
  }
}

条目可以指定单个方块或方块标签,可选的标志涵盖树苗(tree)、水生作物(aquatic)、下界作物(nether)、植物能否枯萎(regresses),以及方块使用哪种生长钩子。生物群系湿度也可通过 data/<namespace>/climate/biome_moisture.json 覆盖,而为温室增湿或降湿的方块则是普通的方块标签(crop_climates:humidifier 和 crop_climates:desiccant)。

内置模组兼容

Crop Climates 自带原版 Minecraft 及以下模组的气候区间。每个文件仅在其对应模组安装时才会加载,因此无需进行任何配置。

Aether、 Ars Elemental、 Ars Nouveau、 Brewin' and Chewin'、 Cold Sweat、 Corn Delight、 Deep Aether、 Ecologics、 Ender's Delight、 Farmer's Delight、 Fruits Delight、 Ghosts、 Luminous Nether、 My Nether's Delight、 Oritech、 Quark、 Supplementaries、 WAN's Ancient Beasts

(不在列表中?通过数据包添加作物很简单!)

Jade 作为可选附加项受到支持:看向作物时会显示其生长状况(茂盛、挣扎等),看向湿度计时会显示其温室湿度。

与季节模组搭配良好

Crop Climates 从 Cold Sweat 获取温度,因此任何改变 Cold Sweat 温度的因素也会改变作物的生长方式。搭配 Cold Sweat 支持的季节模组(例如 Serene Seasons)时,作物会自行遵循季节变化:夏季作物在冬季中苦苦挣扎,耐寒作物取而代之,而温室和壁炉则成为反季节持续种植的手段。

高度可配置

模组中的几乎每个数值都在服务器配置中开放,包括:

  • 生长上限、下限和曲线,以及生长在区间外衰减的速度
  • 天空和下界天空的惩罚,以及降雨提高湿度的幅度
  • 植物是否枯萎、超出区间多远以及多快枯萎
  • 温室尺寸限制、湿度强度,以及滴水和灰尘效果
  • 土壤检测仪、提示信息和 Jade 读数所显示的生长等级
  • 模组应不予干涉的方块或方块标签黑名单
  • 供希望调校性能的服务器使用的缓存大小和每 tick 预算

性能

Crop Climates 的设计宗旨是不碍事。它经过了压力测试:约 50,000 株植物的田地、10 倍于正常随机刻速度、数千个独立温室,以及一个塞满生长中树木的最大尺寸温室。Crop Climates 自身占用的服务器 tick 时间保持在较低的个位数百分比,即便最繁重的场景也远处于可管理的负载范围内。

需求

  • Minecraft 1.21.1
  • NeoForge 21.1.181 或更新版本
  • Cold Sweat 2.4.3 或更新版本(必需)
  • Jade 15+(可选)