跳到正文

Worldgen Devtools

作者:jacobsjo

辅助开发世界生成数据包和模组。可在游戏内重新加载世界生成数据包并重置区块,还会根据名称和目标为拼图方块着色。

收藏

截图

介绍

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

世界生成开发工具

这是一个模组,提供了简化世界生成数据包和模组创建流程的工具。

注册表(世界生成)重载

需要在每个世界中使用 reloadRegistries 游戏规则启用。

警告:虽然这个工具应该相当稳定,但仍可能损坏你的世界。因此,请仅在测试世界中启用。

使用 /reload 命令,或通过 /datapack 命令启用或
禁用数据包时,可以重载注册表内容(例如所有世界生成数据)。没有这个模组,必须重新打开世界,
更改才会生效。

即使注册表条目不再存在于已加载的数据包中,也不会将其移除。相反,这些条目会被标记为
过时,因此不会影响世界生成,也无法被其他数据包文件引用。
不过,在重新打开世界之前,已有区块仍可能使用过时条目。世界高度和噪声形状
(即高度和单元格大小)无法重载。

客户端同步

某些重载的数据会影响客户端,例如生物群系颜色、维度类型和盔甲纹饰。在多人游戏中,需要同步维度
和生物群系效果。这会导致客户端重新绘制所有区块。如果不希望出现此行为,
可以使用 syncAfterRegistryReload 游戏规则将其禁用。

重置区块

将区块重置为 NOISE_ONLY

/resetchunks [<range>] 命令会重置玩家周围指定范围内的区块,并使用当前世界生成数据和设置重新生成。默认值为 0(即仅重置当前区块)。如果要重置一个结构,需要重置该结构起始位置所在的区块。

注意:此实现实际上使用了常规世界生成线程,因此性能远优于未注册的原版命令。

彩色拼图方块

试炼密室中的彩色拼图方块

根据拼图方块指定的“Name”或“Target Name”为其着色。如果设置了非 minecraft:empty 的“Name”,
拼图方块将根据“Name”的哈希值着色。否则,如果设置了非 minecraft:empty 的“Target Name”,
拼图方块将根据“Target Name”的哈希值着色。

如果“Name”和“Target Name”都设为 minecraft:empty,拼图方块会以未激活状态渲染,箭头和连接器会显示为灰色。

在物品栏中,如果拼图方块存储了 NBT 数据(Shift+拾取),则会以对应颜色渲染,并显示提示信息,标明“Name”、“Target Pool”和“Target Name”。

获取密度值命令

用于调试任意位置密度函数值的命令。

/getDensity density_function <df> [<pos>]

返回指定位置(或玩家所在位置)的密度函数 df 的值。

/getDensity noise_router <entry> [<pos>]

返回当前维度的噪声路由器中指定条目对应的密度函数在指定位置
(或玩家所在位置)的值。

世界生成性能分析

区块性能分析示例

每个区块各生成步骤所耗费的时间都会被记录并保存在区块中。使用
/chunkprofiling <range> 命令即可查看。范围控制参与性能平均值计算的区块数量;默认值
为 0。

定位特征

定位巨型红色蘑菇

使用 /locate feature <configured_feature> 可定位附近已配置的特征。如果当前区块中包含多个该特征,
命令会列出距离最近的最多 5 个位置。仅当该区块是在安装此模组后生成时,此功能才有效。

日志改进

  • 已放置特征中的空高度范围也会记录导致问题的已放置特征。

追踪

/chase 命令提供了在两个不同的 Minecraft 实例之间同步玩家位置的选项。可用于
比较世界生成的差异。这是原版命令,仅由此模组注册。

游戏规则

此模组添加的游戏规则:

| 游戏规则 | |
|—————————-|—————————————————————————————————————————————————————————————————————————————————————————————————-|
| maxChunkStatus | 应执行哪些世界生成步骤?
-> NOISE_ONLY:仅生成石头、空气、水和熔岩。
-> SURFACE:应用地表规则。
-> SURFACE_AND_CARVERS:应用地表规则和地形雕刻器。
-> ALL:应用地表规则、地形雕刻器和特征。 |
| applyProcessorLists | 是否应用结构的处理器列表? |
| applyGravityProcessor | 与地形匹配的结构组件是否应与地形匹配? |
| keepJigsaws | 结构生成后是否保留拼图方块? |
| reloadRegistries | /reload 命令是否也应重新加载注册表? |
| syncAfterRegistryReload | 重新加载后是否应向所有客户端重新发送注册表内容? |
| saveChunks | 是否应保存区块?禁用时不会删除旧区块。 |

常见问题

Worldgen Devtools 支持哪些 Minecraft 版本?

Worldgen Devtools 支持 Minecraft Java 版 1.20.5–26.3,共 19 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Worldgen Devtools 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

jacobsjo 的其他作品

查看全部 →