跳到正文

Dynamic Trees

树木不断生长,森林逐渐蔓延

收藏

截图

介绍

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

Discord Forge

项目目标

在尊重 Minecraft 图形风格化的前提下,创造更具动态感、美观、有趣且自然的树木,同时严格限定项目范围以保持简洁。

我们的核心价值是:

  • 与 Minecraft 的美学风格沉浸式融合
  • 保持项目范围精简
  • 最小化性能影响
  • 以模组兼容性为核心

也试试 Dynamic Trees Plus!

特性

生长中的树是由生根土壤、树枝和树叶方块组成的多方块结构,相比原版 Minecraft 的树木结构有许多进步。树的形成始于种子。种子可以像原版树苗一样手工种植,或者如果留在合适位置的地面上,有几率自行种植。然后树从树苗开始生长,随着时间缓慢增大尺寸,最终长成完整大小的树。之后可以在树的基部将其砍倒,一次性收获所有木材。

<iframe width="640" height="390"

src=”https://www.youtube.com/embed/nPHJn1HiNWI”
frameborder=”0″ allowfullscreen>

树木

  • 随着时间从种子逐步生长为成熟的树。
  • 以松散模仿现实世界树木的自然方式生长,倾向于以独特、可信的方式生长。
  • 以自然方式绕过障碍物生长。
  • 不仅仅是换皮,而是每个物种使用不同的算法生长。
  • 生长速度和成熟尺寸取决于生物群系、温度和降雨量。
  • 随机掉落种子,种子有可能自行种植。
  • 不会在黑暗中生长。未连接到外部树枝或缺乏光照的树叶会死亡。没有树叶的外部树枝会缓慢腐烂。
  • 会在黑暗处死亡并腐烂(某些物种腐烂时会产生蘑菇)。
  • 在树叶方块上行走缓慢且会下陷。掉落到树叶上可防止摔落伤害并破坏树叶。
  • 原版水果(苹果和可可豆)有各自的自定义物种以区分它们。(苹果是橡树的变种,可可是丛林木的变种)
  • 细树枝可以像梯子一样攀爬。
  • 树木有自定义音效,用于砍伐、落地、落入水中或修剪。
  • 树木落地时树叶上有粒子效果。
Oak Tree
成熟的橡树

生根土壤

  • 为树木提供养分,并会随时间消耗
  • 施加骨粉可提高土壤肥力,并允许树木生长超过其成熟状态
  • 施加各种酿造药水以获得不同效果(见下一节)
  • 当向土壤或最底部的树干方块施加作用物质时,整棵树上会产生特殊效果粒子
  • 可使用比较器检测土壤肥力水平

药水

  • 生物炭基底:用于酿造的基底树药水
  • 枯竭药水:完全耗尽土壤,使树木停止生长
  • 繁茂药水:为树木完全施肥,随后使其生长更快,直至肥力耗尽
  • 转化药水:将现有的动态树转变为另一种树种
  • 巨化药水:将树木转化为其巨型变种(若可用)。默认适用于云杉和丛林树。

种子

  • 取代原版树苗
  • 由树木随机掉落(可配置)
  • 若放置在森林中的泥土/草方块/灰化土上且上方天空无遮挡,可自行种植(可配置)
Seeds and Saplings
树苗(上排:橡木、云杉、白桦、丛林。下排:金合欢、深色橡木、绯红菌、诡异菌)及其各自的种子。

兼容性

  • 原版树木正常运作。
  • 可禁用世界生成,以允许原版树木仍然生成。
  • 生长中的树木掉落物均为原版树叶、木棍和原木。树枝无法在生存模式中获得。剪刀仅能获得原版树叶。
  • 木材和树叶使用原版纹理,因此对资源包友好。
  • 种子可由原版树苗合成,反之亦然,使用泥土桶即可。
  • 火焰蔓延和燃烧速率与原版树木火灾相同。

季节系统

Dynamic Trees 为其树木完整实现了季节系统,默认与 Serene Seasons 兼容。树木会响应气候并相应地减缓/停止生长。果实也有特定的收获季节和开花季节。
如需完整的果实列表及其偏好季节,请访问维基。

至少需要一个季节模组才能激活此系统。

若附加模组默认不兼容,也可自行集成季节系统。

森林

  • 随着树木掉落种子,森林线会向外扩展。
  • 相邻的树木会争夺阳光,长得比开阔处的树木更高更细。这会产生森林树冠效果。
  • 树冠遮挡天光,形成黑暗森林,白天可生成怪物,树苗无法茁壮成长。
  • 某些树种的黑暗树冠下,泥土或草方块会形成灰化土。灰化土旨在模拟森林落叶层的外观。
Image
橡木森林边缘
Image
平原旁的橡木森林
Image
金合欢稀疏分布的热带草原
Image
海岸附近的针叶林,后方是巨型针叶林
Image
茂密森林中细长的白桦树
Image
高大丛林树的树冠使森林地面光线昏暗
Image
一片阴森的绯红森林,旁边是一片较小的诡异森林

采伐

  • 砍伐树木底部即可放倒整棵树
  • 较粗的树枝需要更长时间采伐
  • 可以移除整根树枝而不影响树木主体
  • 采伐会产出原版原木和木棍,数量根据树木或树枝的木材总体积计算
  • 斧头上的时运附魔确实有用,能增加原木产量
  • 工具会根据采伐的原木数量损耗耐久(可配置)
  • 如果外围树枝未受损,树叶被破坏后会重新生长
  • 树木被采伐后会倒下(可配置)

 

林地法杖

林地法杖是一种多功能工具,专为创造模式设计(无法合成)。最基本的用法是复制树木。用法杖右键点击任意动态树木即可提取其 JoCode。接着右键点击合适的土壤即可重建相同的树木。树木还会根据玩家朝向旋转。如果玩家潜行时用法杖右键点击树木,则只会复制树种,JoCode 保持不变。

通过这种方式,你可以例如创建一棵形状像高大丛林树的金合欢树。

林地法杖的另一个功能是,从树木提取的任何 JoCode 也会以文本形式复制到系统剪贴板。这让玩家可以轻松与他人分享树木模型。

Dynamic Trees Plus

     Dynamic Trees Plus 是 Dynamic Trees 模组的扩展,仅限 1.16.5 及以上版本,旨在为其他不属于本模组范围的植被添加动态版本,例如仙人掌和巨型蘑菇。


Image
恶地生物群系中的萨瓜罗仙人掌(Dynamic Trees Plus 1.16.5 或以上版本的功能)

树木包

树木包是 Dynamic Trees 中实现的类似数据包的 JSON 系统,允许完全自定义动态树木和你的世界,它们是任何附加内容的基础,也是用户和整合包制作者的强大工具。 

树木包能做什么?

  • 修改任意树木的属性,如生长速度、大小、树叶方块、树叶类型、生长形状、树干粗细、掉落物等!
  • 使用任意方块作为基础创建全新的树木。
  • 创建自定义果实和豆荚。
  • 为任意树木添加自定义特性,如藤蔓和开花树叶。
  • 即使没有编程知识也易于学习和使用。

有关树木包的更多信息和指南,请访问 https://github.com/DynamicTreesTeam/DynamicTrees/wiki/Tree-Packs 或加入我们的 Discord。

模组兼容性

附加模组

     附加模组是使用 Dynamic Trees API 以更模块化和可维护的方式将模组树木纳入其中的模组。这避免了基础 Dynamic Trees 模组的臃肿,该模组仅包含原版 Minecraft 树木。以下是 DynamicTreesTeam 和其他模组作者开发的附加模组当前列表。有关这些模组能够提供哪些树木的信息,请参阅它们各自的项目页面。

兼容模组

与动态树(Dynamic Trees)特性融合良好、兼容性显著或已明确提供兼容的模组。不在本列表中的模组并不一定不兼容。

  • 机械动力(Create):树木切割机可与动态树配合使用
  • Distant Horizons:树木在 LOD 区块中按预期渲染。
  • Better Foliage:树叶方块将按预期增强(不适用于树干圆角功能)
  • Better Beginnings:无法徒手砍树,工具按预期工作。
  • Passable Leaves / Passable Foliage:安装此模组后,动态树的树叶变为可穿过。
  • No Tree Punching:树木成功变为不可拳击破坏,祝你好运!

如前所述,实现季节系统的模组将与动态树的季节系统兼容。

  • Serene Seasons
  • Better Weather:自 1.16+ 的 0.10.0 Beta 23 起

不兼容模组

  • 应用能源2(Applied Energistics 2):陨石生成会破坏动态生成的树木。
  • Tree Chopper:已知会导致崩溃或使树木不掉落任何物品。
  • Liquid Luck:安装此模组后,已知动态树不会掉落原木和木棍。
  • Cave Biomes API:对区块生成的更改会导致树木生成不正确

项目范围

项目范围

范围内功能示例

  • 树木,且仅限树木。
  • 提供原版树木的高级生长版本
  • 零到极少的配置。应使用合理设置或默认值开箱即用
  • 为其他模组开发者提供接口,以便通过附加包、新树木、效果、生物和其他内容扩展本模组。如果你需要钩子,请告诉我 🙂
  • 对季节变化的响应
  • 在适当情况下实现与其他热门模组的兼容
  • 风格化不应偏离 Minecraft 美学。方块模型的所有部分都应由长方体组成,每个面均对齐到 1/16 米(标准 Minecraft 像素)

范围外功能示例

  • 原版 Minecraft 中未实现的树种(例如 Forestry、Pam’s Harvestcraft、Natura、超多生物群系中的树种)。如需与这些兼容,请参阅附加包部分。
  • 生物实体、怪物和/或粒子(树人、松鼠、猴子、萤火虫等)
  • 水果(原版 Minecraft 树木果实产物除外:苹果、可可豆)
  • 地牢战利品(对本模组无意义)
  • 树村、村民和/或贸易站
  • 秋千或其他通常挂在树上的小装置
  • 魔法、能量系统、经验掉落、附魔
  • 工具和/或服饰(生存中,管理员工具或许可以)
  • 嫁接
  • 树木遗传学和/或授粉,例如 Forestry 中的那样
  • 自动肥料、检测器或任何与树木交互的机器

此类功能将永远不会被实现。我并非暗示这些是糟糕的想法或不好玩,但它们确实超出了本项目旨在完成的范围。

希望实现范围外功能的人士,欢迎在单独的扩展或兼容模组中实现。热门模组往往会经历范围蔓延和功能膨胀。最终你会得到喷气背包、金属矿石树、彩虹猫、火焰超级死亡仙人掌剑以及 15 种苦力怕。我不会允许这种情况发生。

技术细节

技术细节

底层实现

树木的生长结合了用于树叶的元胞自动机算法和用于树干与树枝的分支网络逻辑
不使用方块实体渲染。渲染通过 BakedModel 完成,以便在大量树节点的情况下获得更好的性能
树叶仅通过 updateTick() 更新,因此区块在脏标记时重新渲染的频率不会高于原版作物
使用 DropCreator 接口来创建种子掉落物和其他物品。其他模组可以注册新的掉落物创建器,以扩展现有或新的树木行为
世界生成使用了一种自定义的 Adaptive Incremental Stippling(AIS) 变体,采用泊松圆盘分布,以实现高质量且不重叠的树木放置
季节数据可在此处获取

许可证、权限与整合包

     特此授予在任何整合包或服务器中使用本模组的权限。在我已经告诉你可以在你的整合包中使用本模组之后,请不要再来申请许可,这很烦人。署名会很好,但我并不要求。未经提供 CurseForge 下载链接和我的许可,你不得将此模组重新发布到其他网站。我有没有提到你有权在你的整合包中使用此模组?……很好!你刚才有在认真听!

评论

登录后评论和评分

Nyfaria 的其他作品

查看全部 →