☘ 结构生成器 structure_generator

英文名称 structure_generator
中文名称
作者 Treer · GitHub
语言 英语
版本 Minetest Minetest Version: 5.5.0
依赖Mode或插件
Mode类型
开源协议 LGPL v3 Creative Commons — Attribution-ShareAlike 4.0 International — CC BY-SA 4.0
视频
代码仓库 https://github.com/Treer/structure_generator
下载地址 https://github.com/Treer/structure_generator
简历 用于 Minetest 的结构生成器
  • 在创意清单中,搜索“struct”以显示此 mod 提供的所有节点

用于 Minetest 的结构生成器

许可证:LGPL v3 许可证:CC BY-SA 4.0

(正在进行中的工作,但反馈和使用以及预制艺术将有所帮助)

模组程序生成的功能

  • 堡垒
  • 精灵树屋村
  • 要塞
  • 浮村(水上)
  • 废墟,地牢
  • 末端城市,九龙寨城
  • 寺庙,金字塔内部
  • 矿井、下水道、迷宫等

即这些可以做的不仅仅是地牢,但我很着急,所以示例结构不幸的是只是一个地牢。

这里有一个解释一般概念的非 Minetest视频,不是 Minetest,但它与创建具有连接点和概率集的预制部件的概念相同。(那家伙也在做地牢,我发誓这些可以创造更多!)

该模组有两个主要部分:

  • 预制创建工具(聊天命令)
  • structure_generator_lib.lua 您复制到您的模组中的库

还提供了构建结构的演示魔杖 - 如果您要使用魔杖,请使用带有虚拟后端的地图,或者您不关心的地图。拥有权利的同时也被赋予了重大的责任。

预制创建工具用于创建结构数据,并可以轻松地在 Minetest 中编辑您的原理图并能够导出它们。您可以将生成的数据复制到您的 mod 中,同时structure_generator_lib.lua 使 mod 能够创建大型程序结构(一旦有更好的文档)。

脚手架命令可快速将Lua 房间和装饰列表转换为可编辑的 Minetest 世界,该世界可以自动导出到 .mts 示意图文件夹:

脚手架

[最后一帧粉红色的东西是连接点标记,所以连接点坐标可以导出]

然后build_structure() 从你的 Lua 代码中调用,或者用魔杖制造破坏。 生成的结构

[假装这是比地牢更宏伟的东西的截图]

该示例使用了 Minetest 游戏中的节点,但 structure_generator_lib.lua 没有任何依赖项,预制脚手架命令也没有。

试一试

  • 创建一个新的平面世界,将其设置为 Creative,并在其中启用此 mod。
  • /grantme all
  • 站在 0, 0 附近
  • /scaffold_prefabs
  • /fill_floors default:sandstone
  • /fill_ceailing default:sandstone_block
  • /fill_walls default:sandstonebrick
  • 在创意清单中,搜索“struct”以显示此 mod 提供的所有节点
  • 编辑结构的“预制”部分,添加门等。
    • 添加连接标记节点以指定这些预制件可以与其他预制件连接的位置,
    • 添加装饰标记节点以指定应放置装饰预制件的位置,
  • /export_prefabs

现在,您创建的世界有一个/schems 目录,其中包含您创建的所有预制件的示意图,以及一个example_ready_to_build.lua 用于将它们注册到结构生成器的文件。

它在你的 world/schems 目录中生成的示例 lua 文件不是 100% 准备好构建的,你需要决定哪些预制件可以连接到什么,以什么样的概率,指定连接点的类型(例如,3x3 门口不’不连接到 1x2 走廊)等。查看example_ready_to_build.lua 此 mod 中的文件以获取实际工作的注册文件(它为魔杖供电)。

它在你的 world/schems 目录中生成的示例 Lua 文件不是 100% 准备好构建的,你需要决定哪些预制件可以连接到什么,以什么概率,指定连接点的类型(例如,3x3 的门口不’不连接到 1x2 走廊)等,我还没有写文档。查看此 mod 中的example_ready_to_build.lua文件以获取实际工作的已完成注册文件(它为魔杖提供动力)。

这仍然是一个正在进行中的工作,它需要更好的文档,并且有很多高级功能可以很好地添加,IMO 脚手架系统现在已经足够好,可以开始创建建筑部件,一旦你掌握了窍门它。

提示:

  • /scaffold_prefabs 将应用已保存的任何 .mts 文件,因此请保持这些文件是最新的/export_prefabs
  • 大多数脚手架功能将避免覆盖块(/cleararea 是一个例外),因此您/scaffold_prefabs 在开始构建后仍然可以 - 只需确保任何 .mts 文件都是最新的。
  • 在scaffold.lua 文件的末尾添加新建筑物以避免/scaffold_prefabs 更改建筑物所在的位置——因为地图不会改变。

文档: 目前在wiki中。

论坛: 线程

许可证: 用于代码和配置的LGPL v3 ,用于文本和媒体的Attribution-ShareAlike 4.0 International 。可根据要求提供其他许可证。