java - 以编程方式修改 Minecraft World 文件 (Java)
问题描述
我在 Eclipse 中有一个伪造服务器/客户端项目设置,并且正在运行一个香草服务器。我想复制我的孩子们在另一个原版世界中建造的一些结构并稍微修改它们(即更改比例、替换块类型等)并将它们放置在新世界中。最终目标是根据他们的“设计”创建大城镇。我是否需要查看源世界 mca 文件并处理它们以获得相关数据,然后将其注入我的目标世界?我知道 MCEdit,但没有使用它。查看该源代码会是一个好的开始吗?
解决方案
你有几个不同的策略可以遵循,具体取决于你想要做什么。
- 创建一个预制的地图。
http://www.mcedit.net/是 Minecraft 世界的离线编辑器(在游戏外运行),允许您轻松复制和粘贴、编辑和编写 python 脚本来过滤和转换块。
https://github.com/sk89q/worldedit/是 Minecraft 世界的在线编辑器(在游戏中运行),允许您轻松复制和粘贴(使用示意图)运行不同的命令来运行不同的转换/画笔,以及编写 javascript 脚本,或使用 Java 直接连接到它的 API。
- 世界一代
此选项需要通过 Mod、Plugin或DataPack创建自定义世界生成
但是您可以创建自己的村庄,在世界上自然生成。
Minecraft 本身对此的支持有限,无需任何编程。
此功能称为“结构”,您可以创建自定义结构并将其导出,以使用结构块在 DataPacks 中使用。
此外,如果您正在创建一个模组,那么结构块是从您的孩子那里导出建筑物以包含在随机生成中的最简单方法。
改变比例会很棘手,但你可以完全过滤块,并保存多个示意图/结构,或者以编程方式替换一些块状态。
推荐阅读
- node.js - 在 webpack 中启用 --display-error-details 以调试模块导入
- exception - 什么时候捕捉异常,早点还是晚点?
- xcode - Bazel 无法运行 xcrun 但 xcode 和 xcrun 已在本地正确安装
- php - 是否可以使此 ASP.NET 到 ASP.NET SSO 功能与 ASP.NET 到 PHP 一起使用?
- javascript - 为什么一个反斜杠的 JSON.parse 返回两个反斜杠,而不是四个反斜杠
- vowpalwabbit - cb_explore 输入格式:在训练中使用提供概率值
- python - 如何使两台印刷机在 tkinter 中产生相同的输出
- javascript - 将 javascript 按钮添加到模态(javascript 新手)
- amp-html - AMP 中有没有办法在上传之前从输入表单中显示选定的图像?
- javascript - 如何修复此 jquery 安全警报:“您的应用包含一个或多个存在已知安全问题的库”