树木自由生长

树木自由生长

树木无政府状态(又称:无限树木:重启)

杂项

Tree Anarchy(又名 Unlimited Trees:重启版)

Tree Anarchy(又名 Unlimited Trees:重启版)是对原版 Unlimited Trees 模组的彻底重写,剔除了冗余代码、修复了漏洞,并优化了序列化流程。该框架的理念与原版模组几乎一致,若没有原版 Unlimited Trees 模组,我无法如此迅速地完成此代码编写。

特别感谢: Knighth、BloodyPenguin、DRen72

版本 1.0.3 的新内容

  • 修复了 IntegratedDeserialize 的 bug。注入的代码被赋予了错误的变量地址。这是我在半睡半醒写代码时发生的,错误地写了 LDLOC_0 而本应是 LDLOC_1。给大家带来不便,非常抱歉
  • 新增法语本地化
  • 错误修复和性能优化(详情请查看更新日志)

我重写代码的原因:

  1. 修复原版“无限树木”模组中树木吸附功能的问题
  2. 我不想使用“树木与载具道具”模组,因为它会产生比我的系统能处理的更多道具
  3. 修复原版模组的性能问题
  4. 修复原版模组与 ULOD 不兼容的问题
  5. 解决林业自然资源无法生成的问题
  6. 使用 Harmony 补丁替代 Detours
  7. 由于我的电脑性能较差,需要进行优化提升

本模组提供以下功能:

  • 您可以种植超过 262144 棵树,通过滑块调整上限,类似于旧版模组
  • 支持加载旧版"无限树木"模组的存档/地图(重要!请阅读相关注意事项)
  • 本模组包含树木吸附功能
  • 允许调整树木大小超出游戏默认限制
  • 本模组提供随机树木旋转功能
  • 本模组包含林业锁定功能

为什么要重写树木吸附模组和随机树木旋转模组?

我采用了不同的方法来实现树木吸附功能,利用了 CO 框架已有的内置功能。

随机树木旋转及其变体在每棵树的渲染函数中添加了欧拉数学函数,因此屏幕上树木越多,渲染速度就越慢。我的方法是预先计算 0360 度的欧拉四元数,让渲染实例调用这些 0360 度之间的静态值。现在可以在运行时调整树木摇摆系数。

林业锁定则是另一回事,由于它涉及树木且只需几行代码,我不想为了这几行代码再加载一个模组,这样既能解决问题又能节省系统资源。

最重要的是,我将所有这些功能整合到一个模组中的原因在于,这些功能显然都与树木相关,且许多功能涉及修改 CO 框架内的相同方法调用。将它们编写为一个模组可以简化依赖问题;如果独立编写,我将不得不处理各种依赖关系错综复杂的问题,这很可能导致模组设计不佳。简单就是最好的!这样能确保我在可控环境中优化代码。

该模组需要:

  • Harmony 移动

此模组与以下内容不兼容:

  • 无限树木与无限树木:重制版
  • 树木吸附锁定
  • 林业系统
  • 随机树木旋转
  • 树木移动控制
  • 自然灾害中的随机树木旋转

随着最近新增的树木大小调整功能,所有随机树木旋转变体都变得不兼容!!详情请参阅讨论页面。请使用内置的随机树木旋转功能

如果你想为本模组贡献你的母语翻译

请参考我的 CrowdIn 网站了解如何操作。你的贡献将不胜感激!

我之所以能抽出时间编写这个模组,完全是因为处于隔离期间。

如今我已重返全职工作,如果有人能参与改进这个模组,我将不胜感激。

请参考我的 Github 页面了解具体方式。

GitHub 页面

重要提示

此模组创建了一种新的游戏存档格式,与旧版 Unlimited Trees Mod 不兼容。

自 0.9.7 版本起,该模组的存档格式将被视为稳定版本。

致谢

非常感谢 Chameleon 在开发阶段花费大量时间测试这个模组。同时也感谢他提供的德语本地化支持。

非常感谢 Quboid 为 MoveIt 所做的努力,带来了更优秀的树木吸附行为

对于许多帮助翻译这个模组的朋友们,我衷心感谢他们的付出,并在此向他们致以谢意:

  • 德语翻译:变色龙
  • 马来西亚语翻译:mnh48
  • 日语翻译:adon
  • 韩语翻译:neinnew
  • 西班牙语翻译:Citadino
  • 葡萄牙语(巴西)翻译:ihatearial
  • 法语翻译:白尾海雕