EverCrops

EverCrops

种下它,放下它,收割它。EverCrops让原版作物在未加载区块中追赶生长——无卡顿,无延迟。

Discord

当你离开农场时,农作物仍会继续生长。

你是否厌倦了长途跋涉回到小麦农场,却只发现它停留在你离开时的生长阶段?EverCrops 解决了这个问题。原版农作物只会在其所在区块被加载时进行生长判定,这意味着一个你每周才去一次的资源点实际上永远不会生长。EverCrops 让你的农作物尊重你不在的这段时间。


运作原理

EverCrops 不会在未加载的区块中模拟生长(那样既昂贵又卡顿)。相反,它会追踪每个农作物最后一次生长判定的时间,并在区块重新加载后的下一次随机生长判定时,根据已流逝的游戏时间进行生长补算。

当农作物被放置时,EverCrops 会注册它并标记上当前游戏时间。此后,每当你离开并返回时,流逝的时间都会被作为补算生长量应用。离开一小时、一天、一周——当你回来且区块重新加载时,你的农作物就像一直处于生长判定中一样继续生长。最终结果与区块一直保持加载相同,但你在离开期间零开销。

已存在的农作物: 在安装 EverCrops 之前,你世界中已存在的农作物会在其附近区块首次重新加载时被注册,然后从那时起开始补算生长。

注意: 在单人游戏中,世界只会在你游玩时进行时间流逝。EverCrops 基于已流逝的游戏时间(而非现实时间)来补算农作物生长,所以关闭游戏第二天再回来并不会让你的农场快进。


支持的农作物

任何继承原版 CropBlock 或 StemBlock 的方块:

  • 🌾 小麦
  • 🥕 胡萝卜
  • 🥔 马铃薯
  • 🍉 西瓜茎(包括果实蔓延)
  • 🎃 南瓜茎(包括果实蔓延)
  • 🌱 甜菜根
  • 🎋 甘蔗
  • 🌵 仙人掌
  • 🌿 海带
  • 🎋 竹子
  • 🌀 缠怨藤
  • 🔴 垂泪藤
  • 🌳 树苗(橡树、白桦、云杉、丛林、金合欢、深色橡木、樱花、红树,以及继承 SaplingBlock 的模组树苗)
  • ✨ 大多数继承上述原版类的模组农作物

兼容性

EverCrops 仅使用 @Inject、@Accessor 和 @Invoker 混入(mixin)——没有覆写、没有替换。它不引入自定义方块或方块实体。这使其与其他基于混入的模组具有广泛兼容性,并且卸载它是安全的:你的世界会保留所有现有农作物,它们只是恢复原版行为。

  • ✅ 服务端友好(客户端无需安装即可让生长逻辑正常工作)
  • ✅ 无世界生成改动
  • ✅ 无新物品或方块
  • ✅ 可与继承 CropBlock / StemBlock 的其他农作物和农业模组共存

为什么使用 EverCrops?

  • 远程基地保持生产力。 在你的偏远前哨站建造农场,回来时确实能发现食物。
  • 多人游戏友好。 在服务器上,偶尔登录的玩家不会受到惩罚。
  • 轻量级。 无后台判定、无额外方块实体、不加载区块。
  • 仅补算。 农作物绝不会比原版规则下生长得更多——只是不再更慢。

命令

EverCrops 在 /evercrops 指令下附带管理员/调试命令(需要 OP 等级 2)。所有命令都作用于指定位置的方块。

命令 作用
/evercrops inspect [位置] 打印农作物的追踪状态:位置、方块、生长阶段、上次判定/上次生长游戏时间、上次光照等级,以及计算出的差值。
/evercrops tick [位置] 强制对农作物进行一次随机生长判定,以便无需等待即可验证行为。
/evercrops simulate [位置] [刻数] 将农作物的追踪“上次判定”和“上次生长”时间推进一定数量的游戏刻,然后进行生长判定——用于测试长时间缺席时补算数学如何运作。

这些命令面向服务器管理员和整合包调试。它们对正常游戏玩法没有影响。


配套模组

  • 搭配 EverFurnace 为你的熔炉、高炉和烟熏炉提供相同的补算处理。
  • 搭配 EverHopper 为你的漏斗提供相同的补算处理。
  • EverCrops: Farmer's Delight —— 并为农夫乐事模组的农作物提供相同处理。
  • EverCrops: Dynamic Trees —— 并为动态之树模组的树木提供相同处理。

许可证

以 LGPL-3.0 许可证发布。源代码可在 GitHub 上获取。