WorldEdit
读书破万卷,下笔如有神。——杜甫
WorldEdit:在游戏中挥动一把编辑 Minecraft 世界的工具
项目地址:https://github.com/EngineHub/WorldEdit
Minecraft 的世界由无数方块构成。
一棵树、一段城墙、一座山、一片广场,甚至一整座城市,最终都要落到一个个方块的位置上。手工建造有独特的乐趣,但当工程规模开始变大,当地形需要调整,当结构需要复制,当意外破坏需要修复时,逐块处理往往会让创作节奏变得漫长。
WorldEdit 为这种需求而来。
它是一款运行在游戏中的 Minecraft 地图编辑器与模组。它不要求玩家离开游戏世界,也不把编辑工作放到遥远的外部工具中,而是让选择区域、复制粘贴、使用笔刷、调用脚本等能力直接进入 Minecraft 的操作过程。
它像一把真正握在手里的世界编辑工具。
当你面对一片地形、一座建筑或一次需要快速修复的失误时,WorldEdit 让方块世界不再只能依靠逐一放置与逐一拆除的方式被改变。
一款运行在游戏里的地图编辑器
WorldEdit 最鲜明的特点,是它在游戏中运行。
地图编辑通常会让人想到外部软件、独立窗口或复杂的导入导出流程。WorldEdit 则将编辑能力带回 Minecraft 本身。玩家仍然身处熟悉的方块世界中,却拥有了一套用于选择、调整、复制与构建的工具。
这让编辑不再是离开游戏之后才开始的工作。
你可以在创意模式中使用它,也可以在单人游戏或服务器中使用它。无论是在一个人的世界里搭建内容,还是在多人服务器中维护地图,WorldEdit 都能成为操作流程的一部分。
游戏世界依旧在眼前。
只是现在,玩家拥有了更适合处理大规模方块任务的方式。
从选择区域开始,让方块拥有边界
编辑一个世界,首先需要确定编辑的范围。
WorldEdit 提供选择功能,使玩家能够围绕目标区域展开后续操作。一片需要调整的地形,一座准备复制的建筑,一段需要替换或修改的结构,都可以先通过选择被划出边界。
选择并不是一个简单的前置步骤。
它意味着玩家可以将注意力集中到某一部分世界,而不必在整个地图中漫无目的地操作。区域一旦被确定,之后的编辑、复制与处理便有了明确目标。
在庞大的 Minecraft 世界中,边界让创作变得更清楚。
复制与粘贴,让建筑不必从零开始
建筑经常需要重复。
一段城墙可能需要延伸,一组装饰可能需要出现在多个位置,一座建筑的局部结构也可能需要被保存并重新放置。WorldEdit 支持复制与粘贴,让玩家可以将已经完成的内容带到新的位置。
这种能力改变了大型建造的节奏。
原本需要反复进行的摆放工作,可以从已有结构出发。一个已经完成的部分不再只能停留在原地,也能够成为下一次建造的基础。复制与粘贴让重复性内容拥有更高效的处理方式,也让建筑规划可以更灵活地展开。
在方块世界里,重复并不一定意味着重新开始。
有时,它意味着把已经完成的成果带去更远的地方。
用 Schematic 保存与调用结构
WorldEdit 支持 Schematic。
这项能力让结构不只存在于当前世界与当前地点之中。它可以作为一种可保存、可使用的内容,参与到地图编辑与建筑工作里。
对于需要整理建筑结构、处理重复内容或进行地图构建的场景来说,Schematic 让方块组合拥有更清晰的形态。它不再只是临时摆放在世界中的结果,也可以成为编辑流程中的一个对象。
当建筑、地形或局部内容需要被反复使用时,结构化的保存与调用会让创作过程更加连贯。
笔刷,让编辑动作贴近创作直觉
WorldEdit 支持笔刷。
笔刷这个词本身就带着一种直觉化的感觉。它让编辑不只是执行一连串固定操作,也让玩家能够以更接近绘制与塑造的方式参与世界变化。
在 Minecraft 中,地形与建筑都由方块组成。笔刷能力为这些方块提供了一种更具操作感的编辑方式,让世界的调整可以不只依赖单点处理。
它像一支用于方块世界的画笔。
不同的是,笔下并不是颜料,而是地形、结构与空间。
脚本,为编辑过程增加另一种表达方式
除了选择、Schematic、复制粘贴与笔刷,WorldEdit 还支持脚本。
脚本为地图编辑提供了另一种操作路径。它让编辑不只局限于手动执行的工具操作,也可以通过脚本能力参与到工作流中。
对于 WorldEdit 而言,这意味着它并不只是一组单独存在的编辑命令。它还为需要以脚本方式处理编辑工作的使用者提供支持,让世界编辑能够拥有更多组织方式。
在创作与维护之间,脚本像一种更具结构感的语言。
它为编辑过程打开了新的路径,也让工具本身不只停留在最基础的交互层面。
无论是创意、生存、单人还是服务器
WorldEdit 的使用场景并不被单一玩法限制。
它可以在创意模式中使用,也可以在生存模式的单人游戏或服务器中使用。不同的游戏方式,对世界编辑有不同的需求:创意模式中的大型建造、生存环境中的结构处理、单人世界里的地形调整,以及服务器上的日常维护,都可以成为 WorldEdit 的使用场景。
这种覆盖让它不只是某一种地图制作方式的工具。
它可以跟随不同玩法进入不同世界。有人用它处理建造任务,有人用它维护服务器地图,也有人在面对意外时用它进行修复。
工具的价值往往不在于它只适合一种场景,而在于它能够在不同场景中承担清晰的角色。
修复破坏与失误,让世界回到应有的位置
多人服务器中的世界并不总是平静。
建筑可能遭到破坏,玩家也可能在操作中留下不希望出现的结果。WorldEdit 可以被用于修复破坏行为与错误。
这项能力让它不只服务于创造,也服务于恢复。
当一处区域需要被修复时,编辑工具的意义会变得非常直接。它能够帮助服务器管理者和玩家处理已经发生的问题,让世界中的建筑、地形与结构有机会回到更合适的状态。
创作是在世界中加入新的内容。
修复则是在世界受到影响之后,重新找回原有的秩序。
WorldEdit 同时覆盖了这两种方向。
Java Edition 的世界编辑能力
WorldEdit 需要 Minecraft Java Edition。
它兼容 NeoForge、Fabric、Bukkit、Spigot、Paper 与 Sponge。这些兼容环境让 WorldEdit 可以在不同的 Minecraft Java Edition 使用路径中发挥作用。
有些玩家在模组环境中使用游戏,有些玩家在服务端环境中维护自己的世界。WorldEdit 的兼容范围让它能够进入不同的平台与服务端实现中,为单人创作、服务器管理与地图编辑提供能力。
这也让它不仅仅是一款单一形式的模组或插件。
它能够以不同兼容方式接近使用者,最终落在同一个目标上:让 Minecraft 世界的编辑工作更有工具可用。
从源码启动一个带有 WorldEdit 的游戏客户端
WorldEdit 的仓库不仅包含项目代码,也提供了从源码运行带有 WorldEdit 的 Minecraft 游戏环境的方式。
准备过程需要 Java 21 或更高版本。将源码放入本地目录后,可以在终端、命令提示符或 Bash 中进入对应目录,并根据系统执行相应命令。
在 macOS 或 Linux 中,可以运行:
1 | ./gradlew :worldedit-fabric:runClient |
在 Windows 命令提示符中,可以运行:
1 | gradlew :worldedit-fabric:runClient |
在 Windows PowerShell 中,可以运行:
1 | .\gradlew :worldedit-fabric:runClient |
命令执行成功后,Minecraft 游戏会打开,随后可以创建一个带有 WorldEdit 的单人世界。
当源码发生修改时,需要重新运行命令并重启游戏,修改才会生效。如果 Java 语法存在错误,命令将无法成功执行。
这种从源码到游戏客户端的路径,让希望参与开发的人能够直接进入实际运行环境,在 Minecraft 中观察与测试自己的修改。
使用 Java IDE 进入开发流程
对于希望使用 Java IDE 编辑 WorldEdit 的开发者,README 提供了基于 IntelliJ IDEA Community Edition 的方式。
安装 IDE 后,打开保存 WorldEdit 源码的文件夹即可创建项目。
如果还希望在 IDE 中运行游戏,可以在运行配置中添加 Gradle 任务,选择 worldedit-fabric 项目,并将任务设置为 runClient。随后便可以在运行菜单中调试这一任务。
README 还提到,反复重启游戏测试修改可能会让编辑与测试循环变得耗时。为了缩短这一过程,可以使用 runServer 替代 runClient 启动服务端,再重新连接到服务器进行测试。
这让开发过程不只停留在修改代码这一环,也延伸到更贴近实际使用的测试循环中。
在 GPL v3 之下持续演进
WorldEdit 是开源项目,并使用 GPL v3 许可证。
对项目代码的贡献同样会以开源方式存在。开发者可以通过 Fork 项目、提交修改并发起 Pull Request 的方式参与贡献。
从游戏内编辑工具,到面向源码的开发与测试路径,WorldEdit 呈现出两种相互连接的身份。
对于玩家与服务器管理者,它是一套用于选择、复制、粘贴、笔刷、脚本与修复的 Minecraft 地图编辑能力。
对于开发者,它则是一套可以被阅读、修改、运行与贡献的开源代码。
当方块世界需要更高效的双手
Minecraft 的建造从来不缺少想象力。
真正耗费时间的,常常是让想象力落实为一块又一块方块的过程。WorldEdit 并不替代创造本身,它做的是让创造、调整、复制、修复与维护拥有更适合的工具。
它可以帮助玩家划定区域。
它可以保存和使用 Schematic。
它可以复制与粘贴结构。
它可以通过笔刷参与地形与世界编辑。
它可以使用脚本扩展编辑方式。
它可以在创意模式、生存模式、单人游戏与服务器中使用。
它也能够在世界遭遇破坏或出现失误时,帮助人们重新整理方块的秩序。
WorldEdit 让 Minecraft 中的编辑不再只是一场漫长的逐方块操作。
它让每一次挥动工具,都更接近对整个世界的塑造。
