[Mod] L系统树实用程序 L-System Tree Utility [1.6.1] [ltool]

中文名称 L系统树实用程序
英文名称 L-System Tree Utility
作者 Wuzzy - ContentDB
语言 英语
版本 Minetest Minetest Version: 5.0.0
依赖Mode或插件 [Mod] Unified Inventory 统一库存[unified_inventory]
Mode类型
开源协议 MIT
Wiki页面 https://dev.minetest.net/minetest.spawn_tree
视频例子
原视频地址
原始地址 https://forum.minetest.net/viewtopic.php?f=11&t=9458
代码仓库 Public Git Hosting - minetest_ltool.git/summary
下载地址 L-System Tree Utility - ContentDB
简历
我向您介绍:L系统树实用程序!

这个mod旨在帮助mod开发人员尝试使用L系统树定义。它提供了一个简单的formspec,它是minetest.spawn_tree的包装,具有许多其他功能。如果您不知道此功能或L系统如何工作,则此mod不适合您。但是,您可以在这里学习两者:

在聊天中说“ / treeform”以打开formspec,或在使用时单击库存菜单中的额外按钮 简单的快速库存按钮 或者 统一库存

在这里,有一个截图:
图像

而另一个问题:
图像

这个帖子有关该mod的更多常规信息(屏幕截图在此处略有过时)。
该模块还具有一个内置的帮助系统 ,可以帮助您入门此模块(需要了解如何在Minetest中使用L系统树)。

计划功能:

  • 将L树规范导出到磁盘或从磁盘导入L树规范

如果您已经制作了不错的L系统树,请随时通过以下线程与世界分享: 在此处发布您的L系统树!

当前版本:1.6.1(这是 SemVer
一切许可:MIT许可
适用于:Minetest 5.0.0及更高版本
取决于:没什么!
强制性依赖项:无!
可选依赖项:

在我无意(几乎)完全禁止Internet的过去一周中,我非常努力地使用了此工具。

现在,我很自豪地向您介绍0.2.0版。我改用了SemVer(http://www.semver.org/)。我现在将该mod称为“ L-System Tree Utility”(简称:“ ltool”)。

您可以在第一篇文章的附件中找到下载内容。

总体而言,版本0.2.0有很多工作要做,与版本0.1相比,它是一个巨大的更新。简而言之,我认为这个mod现在终于变成了实际上有用的东西。现在(我认为)可以轻松快捷地尝试L系统树,而无需为每次微小的更改重新启动服务器。我之所以这样说,是因为我努力地创建了一个简单的L树。您可以在以下屏幕截图中看到结果:


点击这里查看原图。



如果您不希望了解所有详细信息,可以停止阅读。

巨型干灌木:树的定义
如果您想知道的话,这是(分类)第一个屏幕快照中这些看起来很奇怪的“巨型干灌木”的树定义表:

代码: 全选

{
	axiom = "A/A/A/A/A/A/A/A/A/A/A/A",
	rules_a = "[B+B+B+B]",
	rules_b = "[FFFFFFFFFF]",
	trunk = "default:tree",
	angle = 30,
	iterations = 1,
	random_level = 0,
	trunk_type = "single",
	thin_branches = true
}

这个mod的当前状态这次
没有变更日志,我最好以现在的状态来描述这个mod,因为已经发生了很大的变化。

这个mod的心脏,树公式现在有四个选项卡。仍然可以使用聊天命令“ treeform”对其进行访问。

四个选项卡是:编辑(……一棵树),数据库(……一棵树),植物(……一棵树)和一个简单的帮助。

这个mod的基本工作流程是这样的:

  1. 在“编辑”选项卡中创建树并将其保存。
  2. 在“数据库”选项卡中选择它。
  3. 在“工厂”(Plant)选项卡的帮助下进行种植。

第一个是“编辑”选项卡。这用于输入树定义,它仍然是minetest.spawn_tree所需的树定义数据结构的包装。完成编辑后,单击“保存”将树存储到数据库中。树木现在可以有一个名字了。此选项卡非常积极地强制使用正确的参数。如果您认为您的输入由于愚蠢的原因而被拒绝,请在此处写一条消息。
树名称在服务器范围内必须是唯一的。如果存在名称冲突,则必须更改名称。如果与您自己的一棵树发生冲突,则可以选择仅替换所述树。

第二个选项卡是“数据库”选项卡。它具有服务器上所有已安装树的列表。您自己的树是黄色字体。您必须首先在这里选择一棵树,以便稍后种植。当前,该列表还显示了唯一的树ID。目前仅用于调试,以后可能会删除它。

“树”是此mod中的数据结构。它包含树定义(对于L系统),名称和“所有者”的名称。
L系统树实用程序中的所有权很弱。树的所有者可以重命名,删除和更改他/她的树,其他所有人都不能这样做。但是,每个人仍然可以复制和植入它。复制一棵树是获得所有权的一种方法……就是该树的副本。也许这对于协作项目很有趣。从理论上讲,您可以在不干扰他人工作的情况下进行协作。但是,这尚未在实践中进行测试。

第三个标签用于实际种植/产卵树木。您可以选择通过提供绝对或相对坐标来立即生成树。相对坐标是相对于您的位置的。
您甚至可以要求树苗。如果放置此树苗,则此时会以5秒钟的延迟生成树。
您可以在第一个屏幕截图中看到所说的树苗。即使树定义已被删除,树苗仍然可以继续工作。

第四个选项卡包含一些使用mod的帮助。它还包含一个备忘单,其中包含可在公理和规则集中使用的所有符号的快速概览。

版本0.2.0最终会记住配方器的内容,但仅当您按下按钮或暂时更改选项卡时才如此。我不知道当玩家按下[Esc]来关闭公式编制器时如何挽救字段内容。

已知错误
Minetest中有一个极其令人讨厌的错误,也没有被此mod阻止:如果您尝试生成试图从空堆栈中弹出的树,则Minetest会炸毁您的整个脸。这意味着,以扩展形式具有“]”多于“ [”的树将在生成时崩溃。
已报告此错误,请参阅GitHub上的第1525期

因此,使用此mod的任何人都可能使您的服务器崩溃!

未来的计划
首先,此mod需要更多测试。特别是涉及多个玩家的部分几乎未经测试。我希望使用此mod的服务器上有多个播放器时,就会出现一些错误。

我打算扩展游戏中的帮助。我想要一个全面的游戏内帮助,也许,如果我擅长此事,我什至可以教给新手L系统的基础知识,当然,以及它们在Minetest中的用法。

我计划提供一个非常基本的API,用于在数据库中添加,删除,重命名,复制等树。(完成!)

我计划添加更多聊天命令。

目前,使用此Mod不需要任何特权。我认为我应该对此进行更改,但是我仍然不确定具体如何。(完成!)

反馈请求
当然,我想听听您的反馈。特别是我想知道您在实用性方面找到这个mod的有用性。它易于使用还是比较麻烦?如果您发现一些令人困惑或不明白的地方, 在这里抱怨。

请记住,这个mod当前是针对已经了解L系统基础知识的人们的。

回答
哦,是的,的确如此。很早以前就有另一个mod。我想你的意思是这个:viewtopic.php?id = 4766
我认为其他mod已经过时了;L-System Tree Utility现在显然遥遥领先。:slight_smile: