以编程方式修改 Minecraft World 文件 (Java)

Cas*_*ray 6 java minecraft minecraft-forge

我在 Eclipse 中设置了一个伪造服务器/客户端项目,并且正在运行一个 vanilla 服务器。我想复制我的孩子在另一个原版世界中建造的一些结构并稍微修改它们(即更改比例、替换块类型等)并将它们放置在新世界中。最终目标是根据他们的“设计”创建大型城镇。我是否需要查看源世界 mca 文件并处理它们以获得相关数据,然后将其注入我的目标世界?我知道 MCEdit 但没有使用过它。查看该源代码会是一个很好的起点吗?

Rya*_*ach 5

您可以遵循几种不同的策略,具体取决于您想要做什么。

  1. 创建预制地图。

http://www.mcedit.net/是 Minecraft 世界的离线编辑器(在游戏外运行),可让您轻松复制、粘贴、编辑和编写 Python 脚本来过滤和转换块。

https://github.com/sk89q/worldedit/是 Minecraft 世界的在线编辑器(在游戏内运行),允许您轻松复制和粘贴(使用原理图)运行不同的命令来运行不同的变换/画笔,以及编写 javascript 脚本,或使用 Java 直接连接到它的 API。

  1. 世界一代

此选项需要通过 Mod、插件数据包创建自定义世界生成

但你可以创建自己的村庄,这些村庄是在世界上自然生成的。

Minecraft 本身对此的支持有限,无需任何编程。

此功能称为“结构”,您可以创建自定义结构并将其导出,以便通过使用结构块在 DataPack 中使用。

此外,如果您要创建模组,结构块是从您的孩子导出建筑物以包含在随机生成中的最简单方法。

更改比例会很棘手,但您可以完全过滤块,并保存多个原理图/结构,或者以编程方式替换一些块状态。