动态的树 / 有活力的树

动态的树 / 有活力的树

树木生长…… 森林蔓延。

农业

项目目标

旨在创造更具动态、美观、有趣且自然的树木,同时尊重 Minecraft 的图形风格化,并坚持一个保持简洁的狭窄项目范围。

我们的核心价值是:

  • 与 Minecraft 美学沉浸式融合
  • 保持项目规模小巧
  • 对性能影响最小化
  • 以模组兼容性为核心

也可以试试 Dynamic Trees Plus!

特性

一棵正在生长的树是一个由树根土壤、树枝和树叶方块组成的多方块结构,与 Minecraft 原版树木结构相比有许多进步。树的形成始于一颗种子。这颗种子可以像原版树苗一样手动种植,如果放在合适位置的裸露地面上,也有机会自行种植。然后树从树苗开始生长,随时间推移慢慢增大尺寸,最终长成一棵大树。之后可以从底部砍伐这棵树,一次性获得所有木材。

### 树木

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

成熟的橡树

### 树根土壤

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

### 药水

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

### 种子

  • 取代原版树苗
  • 从树上随机掉落(可配置)
  • 如果放置在森林中的泥土/草方块/菌丝土上,并且上方天空视野清晰,则可以自行种植(可配置)
*树苗(上方:橡树、云杉、白桦、丛林。下方:金合欢、深色橡木、绯红菌、诡异菌)及其对应的种子。*

### 兼容性

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

Pink Petals (item).png: Infobox image for Pink Petals the block in Minecraft ### 季节系统

动态树为其树木完整实现了一个季节系统,默认与 Serene Seasons 或 Better Weather 兼容。树木将响应气候并相应减慢/停止其生长。果实也有特定的收获季节和开花季节。

有关果实的完整列表及其偏好的季节,请访问 wiki。

至少需要一个季节模组才能激活此系统。 如果附加模组默认不兼容,也可以集成季节系统。

### 森林

  • 随着树木掉落种子,森林边界会蔓延。
  • 树木在彼此靠近时会竞争阳光,并长得比开阔地的树木更高更细。这产生了森林冠层效果。
  • 树冠遮挡天光,形成黑暗森林,白天也可能生成生物,且树苗难以茁壮成长。
  • 在某些树种的黑暗森林冠层下,泥土或草方块会形成菌丝土。菌丝土旨在模拟森林落叶层的外观。

橡树林边缘

平原旁的橡树林

稀疏分布着金合欢树的稀树草原

沿海针叶林,其后是巨型针叶林

茂密森林中细长的白桦树

高大丛林树的树冠使森林地面光线昏暗

一个阴暗的绯红森林紧邻一个较小的诡异森林

### 采伐

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

### 林地法杖

林地法杖是一种多功能的工具,专为创造模式使用(无法合成)。最基本的用途是复制一棵树。使用法杖右键点击任何动态树以提取其 JoCode。接下来,右键点击可用的土壤以重建同一棵树。树也会根据玩家面对的方向旋转。如果玩家在潜行时使用法杖右键点击一棵树,则只会复制树种,JoCode 保持不变。

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

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

动态树扩展

Dynamic Trees Plus 是 Dynamic Trees 模组的一个扩展,专为 1.16.5 及以上版本开发,旨在添加其他不符合本模组范围植被的动态版本,例如仙人掌和巨型蘑菇。

恶地生物群系中的巨人柱仙人掌(Dynamic Trees Plus 1.16.5 或更高版本的功能)

在 1.12 版本中,Dynamic Trees Plus 并不存在,仙人掌是 Dynamic Trees 的一部分,尽管它超出了范围(这就是为什么为更高版本制作了附加模组)。

树木包

树木包是 Dynamic Trees 中实现的一种类似数据包的 JSON 系统,允许对动态树和你的世界进行完全自定义,它们是所有附加模组的支柱,也是用户和包制作人的强大工具。

树木包能做什么?

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

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

模组兼容性

附加模组

附加模组是使用动态树 API,以更模块化和可维护的方式包含模组树木的模组。这防止了基础 Dynamic Trees 模组(仅包含原版 Minecraft 树木)的臃肿。以下是其他模组作者慷慨开发的其他附加模组列表。有关这些模组能提供哪些树木的信息,请参阅它们各自的项目页面。

兼容模组

这些模组的特性与动态树结合良好,兼容性显著或已明确提供。不在此列表中的模组不一定不兼容。

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

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

不兼容模组

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

项目范围

范围内的功能示例

  • 树木,且仅限树木。
  • 提供原版树木的高级生长版本
  • 零到最少的配置。应该开箱即用,具有合理的设置或默认值
  • 为其他模组开发者提供接口,以便通过附加模组、新树木、效果、生物和其他事物扩展本模组。如果你需要挂钩,请告诉我 :)
  • 响应季节变化
  • 在适当的时候与其他流行模组实现兼容
  • 风格化不应偏离 Minecraft 美学。方块模型的每个部分都应由矩形棱柱组成,每个面都对齐到 1/16 米(标准 Minecraft 纹素)

范围外的功能示例

  • 未在原版 Minecraft 中实现的树种(例如 Forestry、Pam's Harvestcraft、Natura、Biomes O' Plenty 中的树种)。有关这些的兼容性,请参阅附加模组部分。
  • 生物实体、怪物和/或粒子(ent、松鼠、猴子、萤火虫等)
  • 果实(原版 Minecraft 树木果实产品除外:苹果、可可豆)
  • 地牢战利品(对本模组无意义)
  • 树木村庄、村民和/或交易站
  • 秋千或其他常见挂在树上的小装置
  • 魔法、能量系统、经验掉落、附魔
  • 工具和/或服装(在生存模式中,管理员工具可能可以)
  • 嫁接
  • 树木遗传学和/或授粉,例如 Forestry 中的
  • 自动施肥机、探测器或任何用于与树木互动的机器

像这样的功能将永远不会被实现。我并不是说这些是坏主意或不好玩,但它们确实超出了这个项目预期目标的范围。那些希望实现范围外功能的人欢迎在单独的扩展或兼容性模组中这样做。流行的模组往往会出现范围蔓延和功能膨胀。最终你会得到喷气背包、金属矿石树、彩虹猫、火焰超级死亡仙人掌剑和 15 种苦力怕。我可不想这样。

技术细节

底层原理

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

许可证、许可和整合包

特此授予在任何整合包或服务器中使用此模组的许可。在我已经告诉你可以在你的整合包中使用该模组后,请不要再请求许可,这很烦人。注明出处是好事,但我并不要求。禁止在其他网站重新发布此模组,除非提供 CurseForge / Modrinth 下载链接和我的许可。我说过你有权在你的整合包中使用这个模组吗?...很好!你听得很仔细!

错误和问题

请使用内容部分顶部的 Issues 链接报告错误。评论部分因被滥用已被移除。