- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
WorldEdit
原因在于:
- 页面冗长,需要拆分子页面(例如WorldEdit/命令)
- 部分内容过时,需要更新
外文名 | WorldEdit |
插件类型 | Spigot / CraftBukkit |
最新版本 | 6.1.7.3或者更新 |
兼容服务端 | 1.12、1.13、1.14、1.15、1.16等 |
源地址 | http://dev.bukkit.org/bukkit-plugins/worldedit/ |
WorldEdit,简称WE,常被称为创世神,是Minecraft的常用插件和mod,且已兼容Forge和Fabric。本页参照官方文档,对WorldEdit(创世神)的命令(指令)进行了详细的介绍。
安装
Bukkit / Spigot / Paper
这些是用于服务器的。
- 下载WorldEdit 您可以在官网下载,也可在网页查找,官网下载:http://dev.bukkit.org/bukkit-plugins/worldedit/files/
- 解压压缩包(如果为压缩文件)
- 将jar文件放进plugins文件夹
- 重启服务器
Forge和Fabric
对于Forge或Fabric版本,直接将mod包放在mods文件夹下即可。具体方法,同安装其他模组方法相同,在此不赘述。
如何显示选区?
如要显示你选择的选区的边界,你需要安装WorldEditCUI,该模组需要Fabric。对于1.12.2以前的版本,你需要安装WorldEditCUI,该模组基于LiteLoader(也有Forge版的)。
配置
会话
在你创建选区或者在游戏内改变你的首选项时,你的相关信息会被储存在一个临时会话中,这个会话在你在线期间一直会处于激活状态。当你断开连接时,你的会话会在被保留10分钟被删除,你可以重新登录来保留你的会话,每个人连接到服务器时的会话是互相分离的(仅限多人游戏)。
会话包括:
- 你的当前选区
- 你的操作历史
- 你的方块修改上限
- 你选择的用于恢复的快照
历史
你的前15个操作会被保存在你的操作历史中。操作历史会记录WorldEdit改变的方块和之前的方块。如果你希望撤销一个修改,在聊天框中输入//undo。如果你改变了想法,你可以使用//redo来重做上一个操作。
如果你需要清除你的历史记录,使用/clearhistory命令。
方块支持
WorldEdit对于不同平台,不同版本以及你的不同配置有不同的方块支持等级。
如果WorldEdit不支持你的平台,你会注意到一些问题:
- 如果没有正确的支持,箱子,熔炉等在复制时不会保存他们的库存
- 如果没有正确的支持,在撤销对于箱子,熔炉等的改变时有可能使他们的内容丢失
平台 | 状态 |
---|---|
Bukkit | Bukkit平台支持需要你使用与你CraftBukkit相对应版本的WorldEdit。WorldEdit 拥有需要特定版本的Bukkit来使用的“NMS 方块”或“适配器”(较新版本中)代码。 每个WorldEdit版本会有一个对应最新Bukkit版本的它们的列表。
如果出现问题,你可能需要升级或降级你的WorldEdit。 |
Spigot | 见 Bukkit。 |
Minecraft Forge | 在WorldEdit 6及以上完全支持。 |
Fabric Loader | 完全支持。 |
MinecraftEdu | MinecraftEdu 是 Forge 版 WorldEdit的修改,平台支持随MCEdu提供的版本而改变。 |
MCPC+ | 大部分版本支持。 |
Cauldron | WorldEdit 5 尚未支持。WorldEdit 6 及以上如果安装Forge版本的WorldEdit即可以完全支持。推荐在使用 WorldEdit 6 及以上时同时安装 Forge 与 Bukkit 版 WorldEdit。 |
LiteLoader | 这是一个非官方平台的 WorldEdit,暂时没有关于支持的相关信息。 |
Canary | 这是一个非官方平台的 WorldEdit,暂时没有关于支持的相关信息。 |
物品支持
在版本5.4及以上,所有支持自定义方块的平台(主要Bukkit)会支持储存在方块内的物品。
之前的版本仅有粗略的物品支持,但仅限于第三方修改添加并放置在箱子内的物品(第三方自定义方块完全不被支持)。
服务器配置
在你安装WorldEdit后第一次运行服务器时,在plugins/WorldEdit/config.yml下会生成 config.yml 文件。你可以使用这个文件来配置WorldEdit的各个设置。
格式
文件使用的是YAML格式,所以你必须遵守这些规则:
- 不要使用制表符 你必须使用空格否则Bukkit会报错。如果你使用像Notepad++(推荐Windows用户使用)等编辑器,你必须将它设置成“使用空格替换制表符”。在Notepad++中,这一项可以在 设置>首选项>语言菜单 中修改。
- 不要去掉缩进。某些项目因为是其他项目的子项目因此才有缩进(如“max-blocks-changed”是“limits”分类下的一项)
- 如果你想在将文件正式放进WorldEdit之前检查一下,可以将它粘贴到 http://yaml-online-parser.appspot.com/ 来看一下是否提示“ERROR:”。
- # 开头的行是注释所以可以被忽略。
配置项目
注意:以下的配置项目中每多一个点,说明你需要将它比上一项缩进更多一层。
配置项 | 数据种类 | 默认 | 介绍 |
---|---|---|---|
wand-item | integer | 271 | 魔杖工具,即使用左键与右键点击来选择选区的工具,使用的物品ID。默认为木斧。 |
shell-save-type | bash 或 bat | 使用的脚本文件格式。/delchunks指令会使用这项。 | |
debug | true/false | false | 如果开启,每个指令完成使用的时间会被在每个指令使用后显示。 |
限制 | |||
limits.max-blocks-changed.maximum | integer | -1 | 每次操作可以改变的方块数上限。这一项的上限是一个用户不能自行设定超过的上限。如果你想设定默认值(对单个用户的),使用default-max-blocks-changed。-1的数值表示无上限。 |
limits.max-blocks-changed.default | integer | -1 | 默认方块修改数上限。如果这个数值比max-blocks-changed设定的数值高,该上限会覆盖此上限。-1的数值表示无上限。 |
limits.max-radius | integer | -1 | 使用半径参数的指令可以使用的最大上限。使用-1来设定无上限。 |
limits.max-super-pickaxe-size | integer | 5 | 超级镐子最大可以使用的范围。 |
limits.disallowed-blocks | 方块ID列表 | (一个列表) | 一个不能被使用的方块和物品的列表。注意//stack指令不遵守这个配置。 |
使用背包 | |||
use-inventory.enable | true/false | false | 从玩家的背包得到所有需要的方块。 |
use-inventory.override | true/false | true | 启用worldedit.inventory.unrestricted权限,使一个玩家可以越过use-inventory开启时的限制。 |
记录 | |||
logging.log-commands | true/false | false | 选择是否在后台记录使用的指令。 |
logging.file | string | 放置记录命令使用的文件的路径。使用时log-commands必须开启。 | |
超级镐子 | |||
super-pickaxe.drop-items | true/false | true | 使用单方块超级镐子时是否掉落方块。 |
super-pickaxe.many-drop-items | true/false | false | 使用非单方块镐子时是否掉落方块。注意这些模式下可能会有大量方块被破坏并且掉落过多的方块物品。 |
快照 | |||
snapshots.directory | string | 读取快照的路径。除非使用了绝对路径,这个路径是与服务jar所在路径相对的。 | |
导航魔杖 | |||
navigation-wand.item | integer | 345 | 绑定/jumpto(左键)和/thru(右键),使用的工具。默认物品为指南针。 |
navigation-wand.max-distance | integer | 100 | 导航工具可以使用的最大距离。 |
脚本 | |||
scripting.timeout | integer | 3000 | CraftScript运行的最大时长(毫秒)。 |
scripting.dir | string | craftscripts | 存放脚本的路径。 |
保存 | |||
saving.dir | string | schematics | 保存schematic文件的位置。 |
历史 | |||
history.Size | integer | 15 | 撤销历史存储数 |
history.expiration | integer | 10 | 撤销历史过期时间 |
屠杀 | |||
butcher.butcher-default-radius | integer | -1 | 杀死怪物的范围,-1为无上限。 |
如果需要在游戏内重置WorldEdit的配置,可以使用/reloadwe
来重载插件。
使用背包
开启背包使用模式会使WorldEdit强制只从玩家的背包提取方块。此外,如果玩家的背包有空间,方块在被替换或破坏时会被“采集”并放置进玩家的背包中。
如果一个方块不能被找到(比如玩家没有更多的那种方块了),操作会继续执行单并不能放置更多的方块(至少那一种)。玩家在最后会收到缺少的方块列表。如果一个方块需要被放置在另一个方块上(比如火把)但并不能放置支撑方块,操作会在放置支撑方块被放置之前被打断。在失败的情况下,//undo和//redo可以用来重复一个操作。当一个方块因为被破坏而被放置到玩家背包时,它会是一个被采集过的方块,或者有些情况下,没有方块。玻璃和书架会被给予,水方块和岩浆方块不会,并且在放置时不需要提供。注意箱子不会被正确复制,并在被移除时掉落里面的物品,如此可以防止利用复制与粘贴来复制物品。背包使用功能被编译在WorldEdit的很深层,所以所有指令都能使用。
如果你想一些用户不使用他们的背包,可以在配置中启用背包使用豁免权限的设置并给出worldedit.inventory.unrestricted权限。
选区用法及命令
选择选区
WorldEdit的一个最基本的部分是使用选区进行的操作。举个例子,如果你想把一个方形区域内的草方块换成泥土,你需要告诉WorldEdit这个方形区域的位置。
WorldEdit提供了多种选择一个要进行修改的选区的命令,这个部分将会向你介绍选择选区和你可以对选区进行的操作。
选择长方体
WorldEdit允许你以选择长方体的两个角上的点的方式来选择长方体(想象一个3D的长方体)。
下方的图展示了如何用两点形成一个长方体。你选择的长方体必须与地图对齐(他们不能被以一个角度旋转)。
有许多方法可以用来选择这两个点,你可以混合使用这些方法。
选择你的当前位置(//pos1、//pos2)
- //pos1 [x,y,z]
- //pos2 [x,y,z]
使用这些命令(空参数时)可以将你所站的方块上方一个方块的位置分别设定为第一个和第二个角。或添加参数指定坐标,选取指定坐标点。
一般使用法杖可以完成大部分操作,所以一般不会使用到这些命令。(有趣的是当你使用ScriptBlock插件时,可以使用此命令让脚本执行we的操作。)
选择十字准星指向的位置(//hpos1、//hpos2)
- //hpos1
- //hpos2
这两个命令会将你十字准星所指的位置分别设置为第一个和第二个顶点。通过这个方式可以选择远处的点以及方便地选择非常大的长方体选区。
选择所在区块(//chunk)
- //chunk
这个命令会选择你所站区块的所有方块。区块是16x16, 256格高的范围。
使用法杖选择(//wand)
- //wand
最直观的选择选区的方式是使用法杖。使用//wand可以得到法杖(默认为木斧)。用法杖左键点击一个方块会把这个方块位置设定为你要选择的长方体的第一个角,右键点击会选择第二个角。
/toggleeditwand
提醒用户这个法杖现在是一个工具,可以用/none解绑。
调整选区
缩小选区(//contract)
- //contract <数量> [反方向数量] [方向]
这个命令与//expand类似。
- 例子:向下收缩
- 使用//contract 10 down将选区会从上往下进行收缩。
移动选区位置(//shift)
- //shift <数量> [方向]
移动选区。这个命令的效果类似与向两个相反方向分别进行相同移动量的//expand与//contract。如此会将选区移动一段距离。这个命令不会移动选区中的内容。(如果要达到该效果需要使用//move命令,如需同时移动选区内容和位置,可以给//move添加-s。)
在各轴同时扩张(//outset)
这个命令会将选区向内缩小。
- //outset <数量> [-hv]
- -h表示只水平方向上(horizonally)收缩。
- -v表示只竖直方向上(vertically)收缩。
在各轴同时收缩(//inset)
这个命令会将选区向内缩小。
- //inset <数量> [-hv]
- -h表示只水平方向上(horizonally)收缩。
- -v表示只竖直方向上(vertically)收缩。
扩展选区(//expand)
- //expand <数量> [反方向数量] [方向]
- //expand vert
这些命令可以简单地以许多方式扩大选区:
- 给出一个方向(north、south、west、east、up、down)
- 看向一个方向(me、back)
- 扩大选区到基岩和天空
如果你想选择看向的一个方向,使用me或不输入方向参数来指定那个方向,也可以用back表示与看向的方向相反的方向。
你可以指定两个数字来使选区同时向两个方向扩大选区。使用//expand vert可以将选区竖直方向扩展到整个世界的限度。
- 例子:向上收缩
- 使用//expand 10 up将选区向上扩大
选区信息
WorldEdit提供了一些可以得到选择的区域的信息的命令。
获得选区尺寸(//size)
- //size [-c]
显示选区内的方块数量。空气方块不会被计算。
v.5.5以上,使用-c标签会对剪贴板进行计算
获取一种方块的数量(//count)
- //count <方块种类>
显示一种指定方块在选区内的数量。
v.5.5.1以上,使用-d标签可以支持不同附加值的方块。注意使用-d标签是需要给出一个附加值。
例子:
//count 火把 数量:34 //count -d 火把[facing=west] 数量:3
获取方块分布率(//distr)
- //distr [-cd] [-p <页面>]
- 使用-c会对剪贴板内容进行计算(v.5.5以上)。
- 使用-d会对不同状态的方块进行区分(v.5.5.1以上)。
显示选区内的方块分布。
例子:
# Total Block Count: 6 16.667% 1 石头 33.333% 2 圆石 50.000% 3 空气
- 例子://distr与//distr -d的区别(为比较省略了部分结果输出)
//distr ... 34 (0.386%) 火把 #50 500 (5.682%) 石砖楼梯 #109
//distr -d ... 3 (0.034%) 火把 #50:1 4 (0.045%) 火把 #50:3 7 (0.080%) 火把 #50:2 7 (0.080%) 火把 #50:4 13 (0.148%) 火把 #50:5 46 (0.523%) 石砖楼梯 #109:2 48 (0.545%) 石砖楼梯 #109:3 62 (0.705%) 石砖楼梯 #109:0 64 (0.727%) 石砖楼梯 #109:1 68 (0.773%) 石砖楼梯 #109:6 69 (0.784%) 石砖楼梯 #109:5 71 (0.807%) 石砖楼梯 #109:7 72 (0.818%) 石砖楼梯 #109:4
选择模式(//sel)
除cuboid外,其他选区模式在左键选点后再次左键选点会重置选区。
长方体选择模式(//sel cuboid)
- //sel cuboid
左键点击选择第一个点,右键点击选择第二个点。选区为两个点形成的长方体。
长方体扩大选择模式(//sel extend)
- //sel extend
v.4.8-SNAPSHOT以上
左键点击选择第一个点。之后的选择点使用右键选择。每次右键选择都会将长方体选区扩大以包含新的选择点。
多边形选择模式(//sel poly)
- //sel poly
左键点击选择第一个选择点。之后所有的选择点使用右键点击。每次右键点击选择都会增加一个新的点。顶部和底部将始终包含所选的最高点和最低点。
椭球选择模式(//sel ellispoid)
- //sel ellipsoid
左键点击选择中心,右键点击扩大选区。你可以通过分别多次点击以控制x、y、z半径。
球体选择模式(//sel sphere)
- //sel sphere
左键点击选择中心,右键点击扩大选区。选区总是为以第一个点为中心、到第二个点作为半径的一个球体。
圆柱体选择模式(//sel cyl)
- //sel cyl
左键点击选择中心点,右键点击扩大选区。第一次右键点击可以扩大圆柱体的底面,第二次右键点击可以提升圆柱体的高度。
多面体选择模式(//sel convex)
- //sel convex
v6.0以上
左键点击选择第一个点,其余的点使用右键点击选择。选区是一个包含所有选定的点的凸面外壳。
选区操作命令
选择了选区之后,真正有趣的部分就要开始了。现在,你可以对你的选区进行各种功能各样的操作。
设置选区内所有方块(//set)
- //set <方块样式>
方块样式可以是一个单一的方块的带有命名空间的ID(其中原版命名空间minecraft:
是可以省略的;方块的带有命名空间的ID的列表可以在Minecraft wiki上找到,或者,在游戏内按F3+H
,这样在物品栏指向一个物品时,可以显示方块的带有命名空间的ID),支持数字ID(即使是在Minecraft 1.13以上的版本)。关于方块样式的用法,请参考本页面的#方块样式段落。
- 例子:设定选区为玻璃方块
- //set glass
- 例子:删除选区内方块(将选区内的方块设为空气)
- //set air或//set 0
注意:这些命令只有在选好了选区之后才能够进行!
如果你要填充一个区域,使用//replace或者//fill效果更好(接下来会提到)。
//line
- //line [-h] <样式> [粗细]
- -h:仅生成外表
在长方体选区的两个顶点之间,或凸多面体选区顶点之间绘制线段。只能与长方体选区或凸多面体选区一起使用。
//curve
- //curve [-h] <样式> [粗细]
通过选择的点绘制曲线。只能用于凸多面体选区。
替换方块(//replace,或//re、//rep)
- //replace [要替换掉的方块] <用于替换的方块>
虽然设定方块很有用,但是有时你需要根据一些规则替换一些已有的方块。WorldEdit可以将一种方块、多种方块或者所有的非空气方块替换成指定的方块。
让我们来看几个例子。
- 例:将所有非空气方块替换为草方块
- //replace grass
如果你想选择需要替换掉哪些方块,将它放在最后一个参数之前。
- 例:将所有原石方块替换为白色羊毛方块
- //replace stone white_wool
如果你想替换掉一系列方块,在它们之间加上逗号即可。
- 例:将泥土和草方块都替换为钻石矿
- //replace grass_block,dirt diamond_ore
自己试试吧!记住你也可以通过替换空气方块的方式填充一个区域(虽然有一个对应的命令,后面会提到)。
- 例:将空气方块替换为红石矿
- //replace air redstone_ore
你可以使用这个命令将空气方块替换为水或熔岩(旧称岩浆)来达到填充区域的效果,但是//fill命令更加适合。
本命令支持#方块样式。
表面覆盖(//overlay)
- //overlay <方块样式>
//overlay命令允许你在选区内的方块表面覆盖一层另一种方块。
只有选区内最上方的方块会被覆盖;如果你的选区内有一个洞穴,它不会被覆盖,除非它是露天的,或者你的选区范围没有延伸到洞穴之上。你可以使用这个命令来创建积雪(虽然WorldEdit有一个可以更好地完成这个操作的命令,会顾及到积雪不应该覆盖所有方块,比如火把上的问题),或者将栅栏覆盖到一个平坦过不平坦的表面。
- 例子:在选区上覆盖草方块
- //overlay grass_block
v.3.0以上
本命令支持方块图案。
//center(或//middle)
- //center
设置中心方块。
自然化(//naturalize)
- //naturalize
这个指令会使用石头、泥土与草方块“自然化”选区内容,以顶层草方块,下方3格泥土方块,泥土方块下方石头方块的构造对选区内方块进行替换。这个命令是一个需要使一个区域“看起来自然” 时可以使用的简单指令。
在正方体四周建立墙壁(//walls)
- //walls <方块样式>
//walls命令只会在你的选区四周创建墙壁,即会忽略房顶与地板。
//faces(或//outline)
- //faces <方块样式>
为选区建造墙壁、天花板和地板。
平滑化(//smooth)
- //smooth [迭代次数] [蒙版]
如果你需要使一个粗糙的物体(如粗糙的山)更加平滑,这个指令可以做到。首先确认你选择了整个区域的选区,之后再使用命令。此外可以额外注明迭代次数,以达到连续多次进行算法计算来使结果成为更加平滑的表面。
移动(//move)
- //move [-abes] [距离] [方向] [填充方块] [-m <mask>]
- -s表示将选区连同其内容移动到被移动的位置(默认情况下,选区的内容被移动后,选区仍留在原处)
- -a忽略空气方块
- -e同时复制实体
- -b同时复制生物群系
如果你建了一些东西,然后发现你需要把它向一边移动一点,这个命令十分好用,因为它可以移动整个选区的内容。
这个命令接受一个需要移动的距离,一个可选的方向,和一个填充移动后留下的空白的方块种类。
- 例子:将选区向上移动2格
//move 2 up
默认情况下,你不需要提供一个填充用方块,留下的区域将会是空气方块。如果你需要,可以指定另一种方块(方块样式)。
- 例子:将选择区域内容向朝向方向移动2方块,原位置留下石头
//move 2 me stone
- 例子:将选区内容向下移动2方块,复制空气方块
//move 2 down
- 例子:将选区内容向下移动2方块,同时移动选区,复制空气方块
//move -s 2 down
注意:
- WorldEdit的复制功能受Minecraft的特殊方块的限制(需要验证)。
- 特殊方块指Minecraft中带有标签的方块,如命令方块、装有东西的箱子等。
- 因为这个原因,某些操作无法还原,撤销操作也受相同的影响。
堆叠(//stack)
- //stack [-abes] [次数] [方向] [-m <mask>]
- -s表示将选区移动到最后一个被堆叠的位置
- -a忽略空气方块
- -e同时复制实体
- -b同时复制生物群系
这个命令会向你所看的方向重复放置你的选区内容。你可以用这个命令延长桥梁、建造隧道或地铁,以及其他重复同一种结构的操作。
- 例子:将选区内容堆叠50次
//stack 50
- 例子:将选区内容向上堆叠5次
//stack 5 up
//stack命令允许你复制任何方块,无论WorldEdit的方块配置是怎样的。
重新生成(//regen)
- //regen
v.4.2以上
这个命令会将你的选区重新生成为第一次生成地图时的状态。它会使用地图的种子,所以每次生成总会生成同样的地形。
注意:如果你的地图是通过外部地图生成器预生成的,或者该地区是在地形生成器修改之前生成的,这个指令不会如你所愿地运行。
变形(//deform)
- //deform [-or] <表达式…>
- -r使用游戏坐标原点
- -o使用选区中心原点
- 如果不使用标签,坐标会被正常化至-1..1
v.4.8-SNAPSHOT以上
对选区内容进行一个由用户指定的形变:
- 旋转
- 把你心爱的教堂变成达利风格作品
- 其他任何你能想象的东西
标签:
变量:
- x, y, z (输入/输出) - 坐标
- 例子:使地形变得颠簸
//deform y+=0.2*sin(x*10)
本命令使用表达式解析器。
//hollow
- //hollow [粗细] [样式]
清空此选区中包含的物体。厚度是以曼哈顿距离来测量的。
//forest
- //forest [类型] [密度]
生成森林。
放置植物群(//flora)
- //flora [密度]
这个命令会将草丛与花以及仙人掌分散放置在选区内的草方块和沙子方块上。
导入导出和剪贴板命令
WorldEdit提供了一个非常强大的剪贴板功能,允许你复制一个区域,粘贴它,甚至将其保存为文件或从文件导入。剪贴板内容现在仅支持长方体并且复制时会使用你的选区范围。
导入与导出(/schematic、/schem、//schematic、//schem)
WorldEdit可以使用.schematic文件来保存和加载副本。.schematic文件的好处是它与例如MCEdit, NBTedit和Redatone Simulator等程序兼容。这个格式也支持所有的Minecraft方块数据并有相关的支持文档让你可以在你自己的程序中使用它。
显示可用的schematic文件列表(//schematic list)
- //schematic list或ls或all [-dn] [-p <页面>]
v.5.5以上
:
- -d:按日期排序,旧的在前。
- -n:按日期排序,新的在前。
//schematic load和//schematic save
- 从剪贴板加载schematic://schematic load <文件名> [<格式>]
- 存储schematic到剪贴板://schematic save <文件名> [<格式>]
可以使用的格式有mcedit和mce;如果没有给出WorldEdit会尝试确定格式。所有build #1134-c76f119 (WorldEdit 5.3) 之前保存的.schematic文件均为mcedit格式。文件名不需要包括.schematic后缀。
你的副本的原点和你的相对位置都会被保存在文件中,这样你可以在之后加载它并以它原来的远点位置和你复制时的相对距离粘贴。关于//copy和//paste储存你的相对距离的方法,请参考下文。
//schematic delete
删除一个已保存的schematic。
文件保存位置
文件会被保存在你的Minecraft服务器的\plugins\WorldEdit\schematics文件夹下并从这里被加载。如果你使用的是Single Player Commands,路径为\mods\spc\schematics。WorldEdit因为安全性原因将导入导出路径限制在这个文件夹。文件名会自动被添加.schematic扩展名。路径系统也是可以支持的,并且在需要的情况下可以创建新的子文件夹。目前不可以改变这个使用的文件夹位置。
两个命令都会检查schematic文件的路径来确认名字的有效性。路径只能含有字母和数字字符以及一些符号。检查使用的正则表达式为^[A-Za-z0-9_\ \./\\'\$@~!%\^\*\(\)\[\]\+\{\},\?]+$。如果路径长度大于系统支持的上限,Java会报错并且用户会收到通知。
复制与剪切(//copy、//cut)
- //copy [-be] [-m <mask>]
- //cut [-be] [填充方块样式] [-m <mask>]
- -b同时复制生物群系
- -e同时复制实体
这个简单的命令可以复制你的选区内容到你的会话的剪贴板,同时记录你与被复制物体的相对位置。这句话的第二部分十分重要:举个例子,如果你之后要在你脚下粘贴一座桥,复制时你需要站在桥上的一个位置。这个方法允许你方便地对齐你的粘贴因为你可以提前计划;你需要一定的空间感来了解复制的过程,但是一旦学会你会觉得这个方法非常好用。
//cut和//copy指令的效果十分相似,但是//cut会删除选区的内容。默认情况下它会留下空气方块,但你也可以指定一个其他方块(方块样式)。
粘贴(//paste)
- //paste [-abenos] [-m <sourceMask>]
- -a忽略空气方块
- -o粘贴在原始位置
- -s在粘贴后,选区选中粘贴后的位置
- -n不粘贴,只选中粘贴后的位置
- -e同时粘贴实体
- -b同时粘贴生物群系
在你的剪贴板有东西了之后,你可以将它粘贴到地图上。参数都是选择性的:如果你想把它粘贴到它被复制时相同的位置,输入//paste -o
,不然被粘贴的物体会被放置在与你相对的位置。记住如果你在相对性粘贴,被粘贴的物体与你的相对位置和复制时的相同。举例来说,如果你复制时站在你的城堡顶上,粘贴时城堡就会出现在你的下面。
比如你需要复制一堵墙并且要把它放到别处。如果你现在几格之外,复制,然后尝试粘贴它,因为Minecraft储存位置的方法,有可能你会在一个方向上差一格(可能不会包括上下)。以下这个方法可以帮助你在正确的位置完成复制与粘贴:标出要复制的墙壁。在距离你的墙壁中心3格远的地方任何一个方块。对着那个方块,走得越近越好。复制。在粘贴之前在你需要被粘贴物体中心的位置3和距离的地方放下一个方块。对着方块走得越近越好。粘贴。注意你面向的方向不重要。如果你想你的墙朝另一个方向,旋转它,然后做同样的放置方块,走向方块并粘贴的操作。
旋转(//rotate)
- //rotate <y角度> [x角度] [z角度]
旋转剪贴板内容。
Non-destructively rotate the contents of the clipboard. Angles are provided in degrees and a positive angle will result in a clockwise rotation. Multiple rotations can be stacked. Interpolation is not performed so angles should be a multiple of 90 degrees.
有时你需要旋转你的副本。目前这个命令允许你沿Y轴(上下)旋转90度或90度的倍数。确切地说,这个命令其实可以以你复制时与物体相对的点作为中心来旋转你的副本。如果你想沿中心点旋转你的副本,复制时就需要站在它的中心点上。
翻转(//flip)
- //flip [方向]
按一个给出的方向翻转剪贴板。可用方向有north、south、east、west、up和down;东南西北方向可以以朝向这些方向的模式选择,上下方向则不行。剪贴板会延一个与给出的方向垂直,位于剪贴板中间位置的平面翻转(非玩家位置)。一共有三个平面,一个水平的(xz)和两个竖直的(xy, yz)。水平平面xz以上下向量定义,xz平面以东/西定义,yz以南/北定义。
清空剪贴板(/clearclipboard)
- /clearclipboard
清空你的剪贴板会删除它的内容,释放少量的内存。
生成命令
有时你可能需要自动生成森林或者球体,因为手动做这些太乏味了。WorldEdit有一系列可以完成这些操作的工具。这些指令不需要一个选区;他们使用你所站的位置的方块。
圆柱体(//cyl)与空心圆柱(//hcyl)
- //cyl <方块样式> <半径> [高度] [-h]
- //hcyl <方块样式> <半径> [高度]
- -h生成空心圆柱
WorldEdit可以既可以生成空心圆柱,也可以生成实心的,同样也可以生成空心和实心的圆形。生成物体时使用的是一个快速的算法,并且这个算法会创建美观和对称的边缘。
圆柱体会在你的脚下被创建并会向上扩展。如果你需要一个圆形,创建一个高度1的圆柱即可。
- 例子:创建一个半径5高度10的实心玻璃圆柱体
//cyl glass 5 10
- 例子:创建一个半径为5的空心玻璃圆形
//hcyl glass 5 1
椭圆形圆柱体和椭圆形
- //cyl <方块> <东西半径>,<南北半径> [高度] [-h]
- //hcyl <方块> <东西半径>,<南北半径> [高度]
用指定两个半径,并用逗号隔开的方式,可以生成椭圆形圆柱体。
第一个半径是东西方向,第二个是南北方向。
球体和椭球体(//sphere)
- //sphere [-hr] <方块样式> <半径>
- //hsphere [-r] <方块样式> <半径>
- -r将球升高到你的脚下
- -h创建空心球体
实心和空心球体都可以创建。默认情况下,球体的中心会是你所站位置的上方一格。但是如果你设置了-r参数,球体会被升高,它的底部会在你的脚下。
- 例子:生成一个半径为4的玻璃球体
- //sphere glass 4
- 例子:生成一个升高的半径为4的玻璃球体
- //sphere glass 4 -r
金字塔(//pyramid和//hpyramid)
- //pyramid <方块样式> <大小> [-h]
- //hpyramid <方块样式> <大小>
- -h生成空心金字塔
按给出的方块样式和大小生成一个空心或者实心的金字塔。
- 例子:生成一个高度5,边长10的空心玻璃金字塔
- //hpyramid glass 5
森林(/forest和//forest)
- /forestgen [范围] [种类] [密度]
- //forest [种类] [密度]
使用这个命令可以生成森林。范围参数表示生成森林的正方形范围的宽度和高度。密度可以是从0至100的数字,允许使用小数。需要注意的是100%的密度(每个位置都有树)是不能达到的因为Notch的树木算法不能允许这样的生成,默认的5%已经可以生成一个很茂密的森林。最后,这个指令会按照给出的范围参数在你周围寻找可以生成的位置,并且搜索范围会向下扩展一两格以找到草方块或泥土方块(树木只会在这两个方块上生成),但是不会向上搜索。所以如果你想填满一片区域,最好站在一个稍高的平台上进行生成。查阅树木种类的部分来了解可以使用的树木种类。
//forest指令用于在选区内生成森林。
- 例子:在10x10范围内生成森林
- /forestgen 10
- 例子:在10x10范围生成0.5%密度的森林
- /forestgen 10 tree 0.5
南瓜丛(/pumpkins)
- /pumpkins [范围]
WorldEdit可以生成带有叶子的南瓜丛(Notch的南瓜丛没有叶子)。范围参数是生成南瓜丛的方形区域的宽度和高度,从当前位置放射。目前不能调节南瓜丛的密度。
- 例子:在5x5范围生成南瓜丛
/pumpkins 5
任表达式生成(//g、//gen、//generate)
- //g[en[erate] [-chor] <方块样式> <表达式…>
- -r使用游戏的原始坐标
- -o使用原点(0,0,0)位置设定为玩家位置或选区第一选择点的原始坐标,依设置而定
- 如果不使用标签,坐标会被正常化至-1..1
- 使用-h标签会生成空心形状。只有与不属于形状的方块相邻的方块会被放置。
- -c会将选区的空间作为原点
v.5.0以上
生成任何可以用数学公式表达的形状:
- 环面
- 旋转过的圆柱体
- 锯齿状峡谷
- 任何你能想到并且用表达式表示的形状
变量:
- x, y, z (输入) - 坐标
- type, data (输入/输出) - 使用的材料,默认为输入的方块/图案
返回值:
- true (>0) - 这个方块属于形状范围
- false (<=0) - 这个方块不属于形状范围
表达式解析器的逻辑和比较的运算都会返回0(假)或1(真),所以可以给出一个只返回真值的方程。
- 例子:生成一个外半径0.75,内半径0.25的环面
- //g stone (0.75-sqrt(x^2+y^2))^2+z^2 < 0.25^2
- 例子:粗糙的空心树
- //g -h oak_log (0.5+sin(atan2(x,z)*8)*0.2)*(sqrt(x*x+z*z)/0.5)^(-2)-1.2 < y
- 例子:彩虹环面
- //g white_wool data=(32+15/2/pi*atan2(x,y))%16; (0.75-sqrt(x^2+y^2))^2+z^2 < 0.25^2
- 例子:彩虹蛋
- //g white_wool data=(32+y*16+1)%16; y^2/9+x^2/6*(1/(1-0.4*y))+z^2/6*(1/(1-0.4*y))<0.08
- 例子:心形
- //g red_wool (z/2)^2+x^2+(5*y/4-sqrt(abs(x)))^2<0.6
- 例子:正弦波
- //g -h glass sin(x*5)/2<y
- 例子:环形余弦波
- //g -h glass cos(sqrt(x^2+z^2)*5)/2<y
- 例子:圆形双曲面
- //g stone -(z^2/12)+(y^2/4)-(x^2/12)>-0.03
这个命令使用表达式解析器。
效用性命令
WorldEdit提供了许多效用性工具,尤其是需要进行地形制作的时候会非常有用。
所有这些指令都会使用你的当前位置。你可以使用/toggleplace
命令把它切换成你的第一个选择点。
填充凹洞(//fill)
将空气替换成水方块(使用/replace)的方法在这里不会好用,因为这个区域不能合适地被一个长方体包括在内。
- //fill <方块样式> <半径> [深度]
你可以使用这个命令来填充地上的凹陷,瞬间完成水和岩浆池的制作,而不是手动放置大量的水源方块。只要站在需要填充的洞里并输入需要填充的范围半径,以及在需要的情况下一个深度即可(默认深度为1)。这个指令的工作方式是在所有太阳会照到的位置放置方块,假设太阳在头顶位置:它只能填充不被盖住的凹陷的位置。所以使用这个指令不能填充洞穴因为洞穴会延伸至地下。
如果你很想知道,接下来有一个使用的算法的介绍。算法是这样的:
- A: 如果方块是空气方块
- 将方块设定为指定方块
- 将目标方块下方 深度-1 范围的所有方块填充为指定方块
- 对四周相邻的每个方块:
- 对每个给出范围内的方块重复A
一般//fill会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。如果你使用法杖来选择,注意它可能会选择一个方块,这样指令不会有任何效果(见上方算法)
本命令支持方块样式。
递归填充(//fillr)
- //fillr <方块样式> <半径>
像之前提到的,填充命令不会填充不暴露在一个虚拟的太阳下的位置。如果你需要填充一个洞穴,或者是边上有更小的洞的洞,这就是一个问题。//fillr是不同的;它会填充所有和原始方块相接的方块,用这样的方式可以填充洞穴等。但无论如何,这个指令的范围不会延伸到你所站位置(或第一选择点)的高度以上,所以使用指令时还是要必须处于洞穴的顶部,一格向下的位置。
本指令支持方块样式。
抽空池塘(//drain)
- //drain [-w] <半径>
- -w:使含水方块不再含水
如果你曾经尝试过手动清除水或熔岩,你一定知道这么做有多么棘手。WorldEdit可以为你清除一个池塘内的所有水或熔岩并且不会“跳跃”至不相连的另一个池塘。虽然你可以用//replace指令来完成同样的操作,但是池塘必须要被一个长方体完全包括才行。目前不支持MOD中加入的液体。
你必须要站在池塘的边缘与液体相同高度的位置或在液体内部进行操作。你不能站在比池塘高或者更远一格的位置。
算法很简单:
- 对每个起始位置1格范围内的方块:
- A:如果是水方块或者岩浆方块:
- 移除方块。
- 对于每个相邻的方块,包括对角相邻与上下,如果这些方块不在半径范围之外,重复A。
- A:如果是水方块或者岩浆方块:
一般//fill会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
注意:有些方块,比如海带、海草,虽然看上去含水,但并无干燥状态。如果你尝试抽干含有这些方块的海洋或者河流,使用//removenear来移除这些方块。
修复池塘(/fixwater、/fixlava、//fixwater、//fixlava)
- /fixwater <半径>
- //fixwater <半径>
- /fixlava <半径>
- //fixlava <半径>
手动完成一个一格深平静的水池或熔岩池表面是很有挑战性的,对于更深的池塘几乎是不可能的,但这两个指令是专门来解决这个问题的。这两个指令会寻找附近的水或熔岩方块并把它们展开来填满整个区域并且将流动的水或熔岩替换成他们的静止型方块。你只需站在水或熔岩边上(不是一格上方)使用指令即可。注意如果你尝试在一个瀑布上方使用这个指令,水会被展开成一个巨大的液体伞形,因为这两个指令会同时扩大水或熔岩的范围!如果你在液体表面以下几格使用这些指令,只有你所在的高度的液体会被修复而不包括你上方的。
目前不支持MOD中加入的液体。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
修改附近方块
WorldEdit也提供了许多可以修改周围方块的指令。
移除上方和下方的方块(/removeabove、/removebelow、//removeabove、//removebelow)
- /removeabove [范围] [高度]
- /removebelow [范围] [深度]
- //removeabove [范围] [高度]
- //removebelow [范围] [深度]
这4个指令可以简单地移除你上方或下方的方块。比如一个使用的例子是清除玩家们为到达高处建造的方块塔。范围参数决定要移除的长方体的体积。长方体的长度和宽度为(范围-1)*2+1。长方体的中心为你所站位置上方一格的位置。如果你不指定高度或深度,这两个命令的范围会扩展到地图上下边界。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
移除附近方块(/removenear、//removenear)
- /removenear <蒙版> [范围]
- //removenear <蒙版> [范围]
这个指令会清除附近指定种类的方块。范围参数决定了要移除的长方体的大小。长方体的长度和宽度为(范围-1)*2+1。长方体的中心为你所站位置上方一格的位置。如果你不指定高度或深度,这两个命令的范围会扩展到地图上下边界。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
替换附近方块(/replacenear、//replacenear)
- /replacenear <范围> [需要替换方块] <替换使用方块>
- //replacenear <范围> [需要替换方块] <替换使用方块>
如果你需要替换附近的方块,这个指令是一个快捷方式。范围参数决定了要移除的长方体的大小。长方体的长度和宽度为(范围-1)*2+1。长方体的中心为你所站位置上方一格的位置。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
模拟降雪(/snow、//snow)
- /snow [半径]
- //snow [半径]
把一个区域用雪覆盖!这个指令的算法只会在需要被雪盖住的方块上生成降雪(比如火炬方块不会被盖住)。如果某个区域上方有物体(比如悬垂),降雪不会覆盖它。“降雪”是完全竖直的。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
注意:该命令不能增加雪的层数。
解冻区域(/thaw、//thaw)
- /thaw [半径]
- //thaw [半径]
如果你需要解冻一个区域(或许反转snow的效果),这个指令有与降雪完全相反的效果。对所有被太阳直射的方块,如果是一个被雪覆盖的方块,雪会被移除,如果是冰,会被转换成水。
模拟草地生长(/green、//green)
- /green [半径] [-f]
- //green [半径] [-f]
- -f同时转换其他泥土
把一个区域用草地覆盖!这个指令的算法只会在需要被草地盖住的方块上生成草地(比如火炬方块不会被盖住)。如果某个区域上方有物体(比如悬垂),/green不会覆盖它。/green是完全竖直的。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
扑灭火焰(/extinguish、/ext、/ex、//extinguish、//ext、//ex)
说明:/extinguish、/ex、/ext、//ex、//ext、//extinguish都是等价的。
- /ex [半径]
- //ex [半径]
这个指令相当于/removenear ##fire [半径]
的快捷方式,这个指令会移除在一定范围内的火焰方块(包括灵魂火焰)。默认这个指令会使用40作为半径。
虽然这个指令会移除火焰,但不会移除火源,比如熔岩池。
移除生物(/butcher)
- /butcher [-pngabtfl] [半径]
这个指令会移除附近的怪物。如果你不指定一个半径,所有被加载的地图中活跃的怪物都会被移除。怪物不会掉落它们的掉落物。注意就算你杀死了所有怪物,它们也会很快重新生成。
标示:
- -p 会同时移除宠物
- -n 会同时移除NPC
- -g 会同时移除铁傀儡
- -a 会同时移除动物
- -b 会同时移除环境生物
- -t 会同时移除使用自定义名称的生物
- -f 包括所有之前的标示
- -l 会在被移除的怪物位置生成闪电(WorldEdit 5以上)
提示:有些生物同时属于多个种类,所以你可能需要同时使用多个标示来移除它们。
可以通过修改配置文件来设定一个这个指令使用的默认半径。
v.6.0以上
你可以使用//undo
来撤销生物的移除。
/remove、/rem、/rement
- /remove <要移除的实体> <半径>
移除一种类型的所有实体。
//calculate、//calc、//eval、//evaluate、//solve
- //calc <表达式>
计算一个数学表达式。
//help
- //help [-s] [-p <页面>] [命令...]
- -s显示给定命令的子命令
- -p <页面> 显示指定的页码
区块命令
如果你需要操作区块,WorldEdit也能帮到你。
区块信息(/chunkinfo)
- /chunkinfo
如果你需要你所在的区块的信息,使用这个指令。
- 例子:/chunkinfo输出示例
Chunk: 8, -17
8/1b/c.8-h.dat
列出区块(/listchunks)
- /listchunks
你可以使WorldEdit列出你的选区覆盖的区块。不幸的是,这个指令只会在聊天框输出所以只有有限的用处。
删除区块(/delchunks)
- /delchunks
WorldEdit会生成一个可以删除选区覆盖的区块的脚本。WorldEdit不会实际删除区块。你需要手动运行脚本来真正的删除区块。在使用这个指令之前,你需要设置脚本保存格式。这个文件会被保存到服务器的根目录(或者说是你的有效路径),文件名为worldedit-delchunks.ext。
重要提示:这里的提示中提到的1.3指的是BETA 1.3, 在此版本中文件格式从按区块保存变为了按区域保存,并不指正式版1.3中的修改(如果有的话)。如果这个是真的,这些指令在1.2.5版本也不可使用,也不能用来删除不需要的区块。
快照命令
脚本命令
脚本命令包括/cs和/.s。
/cs
执行一个CraftScript脚本。
- /cs <文件名称> [参数...]
/.s
执行上一个CraftScript。
- /.s [参数...]
超级镐子命令(/superpickaxe、/pickaxe、/sp)
WorldEdit中的超级镐子功能能让所有的镐子拥有超能力!
超级镐子的功能会给予你的镐子快速破坏方块的能力。使用//
指令可以切换你的超级镐子功能。默认情况下选择的模式是单方块模式。
如果你使用下面的命令来切换,超级镐子的功能就会被开启。注意:/superpickaxe、/pickaxe、/sp是等价的,后两者是简称。为方便起见,本段统一使用/sp。
瞬间采集(/sp single)
- /sp single
单个方块模式只会破坏一个方块。默认使用这个模式时被采集的方块会掉落,这个特性可以通过修改配置中的super-pickaxe.drop-items项目来改变。
瞬间破坏区域(/sp area、/sp recursive、/sp recur)
- /sp area <半径>
- /sp recur或recursive <半径>
这两个模式会破坏一整个区域,但是只会破坏与你击中的方块相同种类的方块。两个模式的区别是recur或recursive模式只会破坏与原始方块相接的方块,在半径范围内重复。而area模式只会破坏一个以击中的方块为中心长度和宽度为(半径*2+1)的长方体区域。
默认情况下,使用这些模式不会使被采集的方块掉落,但是这个特性可以通过修改配置中的super-pickaxe.many-drop-items项目来改变。
生物群系命令
/biomelist
- /biomelist [-p <页面>]
列举所有的生物群系。
/biomeinfo
- /biomeinfo [-pt]
- -t使用你正在看着的方块
- -p使用你当前所在的方块
获取目标方块的生物群系信息。默认情况下,使用选区内的所有方块。
//setbiome
- //setbiome [-p] <目标>
- -p使用你当前所处的坐标。
修改选区内的生物群系。默认情况下,使用选区内的所有方块。
工具(/tool)
工具是可以“绑定”至一个物品来右键点击使用的效用性功能。手持需要绑定的物品并使用下面的一个指令就可以绑定一个工具。
树木生成工具(/tool tree)
- /tool tree [种类]
启动树木生成工具。右键点击草地来生成一棵树。如果需要树木种类的列表,请查看’树木种类’部分。
浮空树木清除工具(/tool deltree)
- /tool deltree
启动浮空树木清除工具。右键点击与浮空树木连接的树干或树叶来清除整个浮空树木。树木不能连接到地面。这个工具对浮空蘑菇也有效v.4.7以上
。
方块替换工具(/tool repl)
- /tool repl <方块>
使用这个工具可以用右键点击的方式将方块替换为需要的方块。使用air来使用这个工具来清除方块。
远程建筑工具(/tool lrbuild)
- /tool lrbuild <左键放置方块> <右键放置方块>
使用这个工具可以在一段距离外放置和破坏方块。瞄准点击即可。方块放置的模式与右键点击目标方块的效果相通。如果其中一个方块被设定成空气,这个工具可以用来删除目标方块。v.4.7以上
远距离魔杖(/tool farwand)
- /tool farwand
这个工具是上一个工具与选区选择魔杖的组合。它和选择魔杖的工作方式相同,但是有从远处选择方块的能力。v.4.7以上
循环工具(/tool cycler)
- /tool cycler
被这个工具右键点击的方块会在它们所有的附加值状态中循环(如果支持)。比如使用这个工具右键羊毛会使它在所有的颜色中循环。左键和右键可以分别用来“向前”和“向后”循环。
查询工具(/tool info)
- /tool info
使用这个工具右键点击方块时,玩家会收到关于这个方块的信息。显示的信息的格式是“@(x, y, z) #id (名称) [附加值] (发光亮度等级/上方亮度等级)”。
颜料桶填充(/tool floodfill或/tool flood)
- /tool floodfill <图案> <范围>
- /tool flood <图案> <范围>
从右键点击的位置开始,填充工具会填充范围内所有相邻的方块(最大范围为超级镐子的最大范围)并将原始的方块种类设定为给出的图案。v.4.7以上
解除工具绑定(/tool none或/tool unbind)
- /tool unbind
- /tool none
刷子命令(/brush、/br、//brush、//br)
WorldEdit有一些刷子工具,可以让你从远处建筑和绘制。开启一个刷子的时候,它的功能会绑定到当前手持的物品上。你可以在不同的物品上绑定不同的工具。
/bursh、/br、//brush、//br是等价的,本段统一使用/br。
森林刷子(/br forest)
- /br forest <形状> [半径] [密度] <种类>
圆柱体刷子(/br cylinder、/br cyl、/br c)
- /br cylinder [-h] <方块> [半径] [高度]
/br set
- /br set <形状> [半径] <样式>
/br apply
- /br apply <形状> [半径] <forest|item|set>
/br deform
- /br deform [-or] <形状> [半径] <表达式>
- -r使用游戏的坐标原点
- -o使用放置的位置作为坐标原点
/br lower
- /br lower <形状> [半径]
/br butcher或/br kill
- /br butcher [-abfgnprt] [radius]
- -p同时杀死宠物
- -n同时杀死NPC
- -g同时杀死傀儡
- -a同时杀死动物
- -b同时杀死环境实体
- -t同时杀死带有命名标签的生物
- -f同时杀死所有友好实体(相当于-abgnpt)
- -r同时破坏盔甲架
/br paint
- /br paint <形状> [半径] [密度] <forest|item|set>
/br none或/br unbind
- /br unbind
解绑刷子。
剪贴板刷子(/br clipboard或/br copy)
- /br clipboard [-abeo] [-m <sourceMask>]
- -a不从剪贴板粘贴空气
- -o从目标位置粘贴,而不是以它为中心
- -e如果可以,粘贴实体
- -b如果可以,粘贴生物群系
- -m <sourceMask> 跳过剪贴板内符合蒙版的方块
选择你的剪贴板内容作为刷子。剪贴板的中心会被粘贴在你点击的方块位置。使用-a标示可以不粘贴空气。改变你的剪贴板内容不会改变你使用的剪贴板刷子,如果你需要更新你的刷子内容,你需要重新使用指令。
/br gravity或/br grav
- /br gravity [-h] [半径]
- -h影响从最大Y轴开始的方块,而不是目标Y+半径
重力刷子,刺激重力效果。
/br ex或/br extinguish
- /br ex [半径]
扑灭火焰。参见//ex。
球体刷子(/br s或/br sphere)
- /br s [-h] <方块样式> [半径]
- -h创建空心球体。
这里的br和s分别是brush和sphere的缩写。
/br raise
- /br raise <形状> [半径]
平滑刷子(/brush smooth)
- /br smooth [大小] [迭代次数] [蒙版]
使用平滑刷子。这个刷子实际上使用两倍指定的大小作为平滑的范围。
刷子设定
蒙版
- /mask [蒙版]
- /mask (关闭蒙版)
为你的刷子指令设定蒙版,使你可以限制被影响的方块种类。(更详细的资料请查看’蒙版’部分)
尺寸
- /size [尺寸]
设定刷子的尺寸(默认最大值为6)。
传送命令
你可能会经常需要到达一些位置来更好地进行操作。下面的命令可以满足这些需求。
解放自己(/unstuck或/!)
- /unstuck
这个指令可以在你被封在方块里时将你解救出来。它会将你移动到最高的空位,如果你没有被堵住的话这个命令就没有任何效果。(这是唯一与/ascend命令有区别的地方。)
上升(/ascend)与下降(/descend)
- /ascend [层数]
- /asc [层数]
- /descend [层数]
- /desc [层数]
这些指令可以使你穿过上方的顶或下方的地面。举个例子,如果你在一个房子里,使用/ascend会将你传送到房顶上。 你也可以指定一个上升或下降的层数。举个例子,如果你在一个摩天大楼的底层,使用/ascend 2会将你传送到第三层。
上升到屋顶(/ceil)
- /ceil [-fg] [clearance]
- -f强制使用飞行以保持静止
- -g强制使用玻璃以保持静止
这个指令会把你带到你所在房间的屋顶位置。如果你没有使用了clearance参数,你会被传送到屋顶下方。如果你使用了clearance参数,你头顶的空间会更大一些。你传送时脚下会被放置一个支撑用的玻璃方块。你必须手动移除这个方块。
穿过墙壁(/thru)
- /thru
这个指令会使你朝你看向的方向穿过一堵墙。看向墙并使用指令即可。注意不要朝下看因为它会尝试穿过地面。这个指令会合理地限制墙的厚度。
跳跃至视野内目标方块(/jumpto或/j)
- /jumpto
- /j
这个指令会将你传送至你所指向的方块上方。如果那个方块是一堵墙,你会被传送到顶部的边缘位置。
你可以将这个功能绑定到一个物品上来更方便地使用它。查看配置部分来了解详细信息。
上升任意距离(/up)
- /up [-fg] <距离>
- -f强制使用飞行以保持静止
- -g强制使用玻璃以保持静止
这个指令会将你向上移动几个方块。你不能用这个指令来穿过墙壁,并且你脚下会被放置一个玻璃方块来支撑你。在你完成操作之后需要手动移除这个玻璃方块。
从快照恢复
WorldEdit一个非常强大的功能是它可以将你选区定义的范围加载,并在不关闭服务器或使用外部编辑器的情况下从一个备份恢复它。很多问题都可以使用这个方法轻易解决,从撤销熊孩子的破坏到修复地图存储故障甚至回滚一个你放弃的作品都能使用这个方法完成。
配置快照
提示:Minecraft 1.3 加入的新世界格式从WorldEdit 4.1开始被支持。
为了能让WorldEdit读取你的备份,你需要选择一个存放备份文件的路径。设置完成后,把地图的副本或压缩过的地图副本放进备份文件夹即可。以下是一个整理备份文件夹方法的例子。
- backups/ (这个是存储备份的文件夹)
- world/ (这个是地图名)
- 2010-06-23-12-00-00.zip
- 2010-06-22-12-00-00/
- 2010-06-21-12-00-00.zip
- 2010-06-20-12-00-00/
- world_nether/ (另一个地图)
- 2011-09-21-01-59-00.zip
- 2011-09-28-18-30-00/
- world/ (这个是地图名)
- 例子:配置文件条目示例
- directory: backups/world
你可以混合或者组合不同种类的备份,WorldEdit都可以读取。你需要在配置文件中设置存储备份的文件夹的路径参数来使WorldEdit知道快照文件夹的位置。注意冒号与路径之间需要留出一个空格,否则你会收到"Snapshot/backup restore not configured." 的错误消息。你可以使用相对路径也可以使用绝对路径。相对路径使用你的server.jar文件所在的位置作为起始点。
如果你想让WorldEdit恢复的越快越好,你可能需要考虑将备份放到一个高速硬盘上。
文件名
WorldEdit需要一个特定的文件夹与文件的命名方式。因为它会使用文件名来确定哪个备份是新的,哪个备份是旧的。目前WorldEdit不会使用文件的修改日期因为这个日期不是一直准确的(尤其是当你开始大批复制文件的时候),所以WorldEdit会以文件名倒序排列(Z到A)并选出最上方的一项。所以最好的命名方法是在名字里包扩用零填充的数字,比如YYYY-MM-DD。
提示:如果你使用的是 *nix 或 BSA ,你可以使用以下指令来创建有符合规则文件名的ZIP文件
zip -v backups/`date "+%Y-%m-%d-%H-%M-%S"`.zip -r world
支持的存储档格式
目前WorldEdit仅支持ZIP文件。TAR文件不会被支持因为TAR格式没有中央索引,这样WorldEdit就必须通读整个压缩文件来找到一个特定的文件。因为Minecraft将每个区块储存在单独的文件中,而且一个地图有许多区块,使用像ZIP这样支持随机访问的格式是必须的。
提示:压缩你的地图会使它需要更多CPU计算,所以你应该考虑创建没有压缩的存储档(仅作为存储用)。
ZIP
WorldEdit会自动使用Java的ZIP库来打开ZIP文件,但它不能处理所有种类的ZIP文件。如果你使用ZIP文件作为快照时收到了奇怪的错误,你应该安装TrueZIP。WorldEdit会在可以的情况下自动使用TrueZIP。
注意:一段时间前添加的代码损坏了WorldEdit在ZIP文件中找到地图文件夹的能力。很遗憾,因为这个ZIP文件必须要拥有以下结构:
- 2010-06-23-12-00-00.zip
- 世界名/
- region/
- level.dat
- 等等...
- 世界名/
恢复
- //restore [快照名]
- /snap use <快照名>
- /snap use latest
- /snap list [数量]
- /snap sel <列表数字>
从备份恢复很简单!使用//restore [快照名]
来恢复选区(在选择之后)。
默认WorldEdit会自动选择使用最新的备份,除非你给出一个指定的快照。
你可以使用//restore,/snap use <快照名>
或/snap sel <列表数字>
来选择一个不同的快照。如果你使用/use,你就不需要在使用/restore时不停地写出快照的名称。使用/snap use latest
来让WorldEdit选择最新的快照。使用/snap list [数量]
来显示最新的可用的快照。
用法说明
本页的命令用法说明
为便于理解命令写法,每种参数使用特定的格式表示。
参数 | 例子 | 说明 |
---|---|---|
<参数> | <数量> | 必须填写的参数,内容为参数中说明的,如数量可以为1,2,3等 |
[参数] | [数量] | 非必须填写的参数,内容为参数中说明的,如数量可以为1,2,3等,如不填写会由插件进行判定或使用默认值 |
<参数A|参数B> |
<cuboid|extend> | 需要从给出的多个参数中选择一个填写,必须性依情况不同 |
参数' | cuboid' | 参数为给出的字符串,使用时须原样输入 |
[-参数A参数B] | [-hb] | 参数为可以使用的标签,从多个单字符中选择需要一个或多个输入,可以输入在命令的任何位置,如[-hb]可以输入-h,-b或者-h -b |
方块样式
你可能注意到了,上述的命令中,经常出现<方块样式>这个参数。 在使用所有使用方块作为参数的WorldEdit指令中,你可以指定一个方块数据。比如庄稼使用数据来表示他们的生长进度,你可以使用这个功能来设置庄稼的生长进度。
随机样式
比起设定一种方块,一个图案允许你使用更复杂的方块。举个例子,可以使用一个每个方块有10%几率是砖方块,90%几率是原石方块的图案。
- 例:将所有方块设定为由百分比指定的随机图案
//set 5%diamond_ore,95%dirt
如果需要一个完全随机的图案,则不需要提供百分比。
- 例子:使用一个无百分比列表将所有方块设定为一个随机图案
//set obsidian,stone
随机状态
使用星号(*
)作为方块的带有命名空间的ID的前缀,可以表示其随机的各种状态(states)。
- 例子:将选区内容设为随机各种方向的橡木原木
- //set *oak_log
剪贴板样式
#clipboard
样式可以设置相同排列的剪贴板内容。你也可以通过@[x,y,z]
来偏移其内容。
- 例子:将所有存在的方块设为剪贴板内容:
- //replace #existing #clipboard
- 对剪贴板内容进行偏移:
- //set #clipboard@[2,0,1]
样式的状态
带有^
前缀,可以对方块状态进行调整,可以修改方块而不改变状态。例如:
- 将橡木楼梯替换为金合欢楼梯,但是不改变其方向:
- //replace oak_stairs ^acacia_stairs
- 除去所有含水方块中的水:
- //set ^[waterlogged=false]
- 将所有半砖台阶设为双台阶:
- //replace ##slabs ^[type=double]
方块标签样式
这种样式可以设置特定标签内的随机方块。标签允许将多种方块看做一种,比如,橡木原木、桦木原木、金合欢原木等,它们都是“原木”。标签可以由数据包定义。
方块标签的语法:##[标签名称]
,表示该标签内所有的默认状态的随机方块。或者与随机状态样式混合:##*[标签名称]
来表示所有状态,而非默认状态。
- 将选区内所有存在的方块设为彩虹羊毛(随机颜色的羊毛):
- //replace #existing ##wool
- 将选区设为随机的各种台阶,包括上半砖、下半砖、双台阶:
- //set ##*slabs
特殊的方块数据语法
所有使用方块作为参数的命令都会使用这个语法。
告示牌文字
牌子上的每行文字须被管道符(|)分隔。如果文字有空格,需要将整个用半角引号(""
)包住。
- 例:设置告示牌文字
//set oak_sign|Line1|Line2
- 例:设置告示牌朝向与文字
//set "oak_wall_sign[facing=north]|Hello world|Second|Third line"
刷怪笼生物种类
刷怪笼(刷怪箱)生成的生物种类可以在一个管道符号(|)之后来指令。
- 例:设定生物种类
//set spawner|squid
头颅种类
v.5.4.6以上
头颅的种类和旋转方向可以在管道符(|)之后指定。种类可以是一个玩家的名称。旋转数值是0至15(包括两端)之间的数字。Minecraft 1.13之后的版本可以使用扁平化之后的名称,如skeleton_skull。
- 例:
//set skeleton_skull
- //set player_head|dinnerbone
蒙版
蒙版(masks),就像方块样式一样,在WorldEdit中非常常用。和样式不同,蒙版决定了只有哪些方块才会受到命令、刷子等的影响。蒙版控制会被影响的方块,效果就像方块过滤器。
注意:通过不同方式设置的蒙版会叠加应用。如果你将全局蒙版设为//gmask dirt,而将刷子蒙版设为/mask stone,则这个刷子不起任何作用,因为没有任何方块既是泥土又是石头。
提示:使用//gmask不加参数可以清楚全局蒙版。
组合蒙版
如需筛选同时符合多个匹配条件的方块,使用空格将其隔开。只有当所有蒙版都符合时,方块才会被选中。
- 示例:组合蒙版
- 使用蒙版组合,将空气下方的石头改成泥土:
- //replace "stone <air" dirt
- 设置一个刷子,使其只影响当前选区内的方块:
- /mask "air #sel"
可用蒙版
例子 | 介绍 |
---|---|
rock,glass | 只影响的方块列表(白名单) |
!rock,glass | 不影响的方块(黑名单) |
#existing | 已存在的方块(非空气方块),等同于!0
|
>rock,glass | 只在某些方块之上 |
<rock,glass | 只在某些方块之下 |
#region | 只限于你的当前选区中 |
注意不同的蒙版可以被组合使用来形成一个只有满足其中所有蒙版才能满足的蒙版。在使用/mask或/gmask设定蒙版时用空格分隔多个蒙版可以创建组合蒙版。
方块蒙版
最简单的蒙版,方块蒙版匹配一个或更多个方块或方块状态。就像单个方块蒙版,你也可以指定一个单纯的方块类型,或者指定了状态的方块类型。与样式不同,蒙版不会对未指定的方块状态应用默认值,而是会匹配未指定的状态的所有值。
可以通过逗号来匹配多种方块。
- 示例:使用方块蒙版
- 移除选区内的所有橡木栅栏:
- //replace oak_fence air
- 移除所有东侧相连的橡木栅栏以及橡木栅栏门:
- //replace oak_fence[east=true],oak_fence_gate air
否定蒙版
!
可以用于否定其后的任何东西,也就是说,匹配不能被这个蒙版匹配的方块。任何其他的蒙版都可以被否定。
- 示例:否定蒙版
- 将所有不是泥土、石头、草方块的方块替换为石头:
- //replace !dirt,stone,grass_block stone
存在的方块的蒙版
蒙版#existing会匹配所有不是空气的方块。注意这与!air不同,因为游戏实际上有多种类型的空气。
固体方块蒙版
蒙版#solid会匹配所有的“固体”方块,也就是会阻挡实体(如玩家)移动的方块。
偏移蒙版
在蒙版前使用>或<会匹配位于匹配特定蒙版的方块上方/下方的方块。可以叠用,如>dirt表示位于泥土上方一格的方块,>>dirt表示位于泥土上方两格的方块。
- 示例:偏移蒙版
- 在选区内,在所有木板上方创建一层平滑石英台阶:
- //replace >##planks smooth_stone_slab
选区蒙版
选区蒙版可以使刷子只影响选区之内的方块。比如,你只想刷你的墙外面的泥土,你可以选择墙,然后否定选取蒙版,这样泥土不会影响到墙(但仍会影响到附近的地面)。第一种选区蒙版为#region,也可以写成#sel或#selection,它会在你运行此命令时记住选区的位置,以用于蒙版。第二种选区蒙版为#dregion(d表示动态),也可以写成#dsel或#dselection,它所表示的选区总是与当前的选区保持一致。
方块标签蒙版
方块标签也可以用于蒙版。一个方块标签蒙版会匹配该标签内的所有方块。和样式一样,语法为##<标签名称>,标签由数据包定义。
- 示例:方块标签蒙版
- 将所有颜色的地毯替换为一层雪:
- //replace ##carpets snow
随机噪点蒙版
噪点蒙版可以创建随机噪点。指定%<百分比>会匹配特定百分比的方块。与方块样式中的方块权重不同。%50就是表示50%的方块。
方块状态蒙版
就像方块蒙版,方块状态蒙版匹配方块状态。和方块蒙版不同,你不必指定一个方块类型。这就意味着,你可以匹配任何拥有特定属性的方块。
方块状态蒙版拥有两种模式:粗略和严格模式。粗略模式(^[state=value,...])会匹配拥有与给定的值相同的方块状态的方块,或者没有这些属性的方块。严格模式(^=[state=value])中,只会匹配拥有与指定的方块状态相等的方块状态的方块。
- 示例:方块状态蒙版
- 移除所有关上的门、栅栏门、活板门:
- //replace ^=[open=false] air
表达式蒙版
表达式蒙版会对每个方块计算数学表达式。蒙版以=开头,并且必须有能够使用变量x、y、z的表达式。只有表达式返回正值时,这个方块才会被蒙版匹配。
- 示例:表达式蒙版
- 只编辑位于特定y轴位置的方块:
- //gmask =y<64
- 只编辑位于空气两格下方的方块:
- //gmask =queryRel(0,-2,0,0,0)
生物群系蒙版
生物群系蒙版匹配位于指定生物群系内的方块。语法为$<生物群系ID>。生物群系ID必须是带有命名空间的ID(namespaced id),其中原版生物群系的命名空间前缀minecraft:可选,模组中的生物群系的命名空间前缀必须加上。
树木种类
树木种类列表
你可以使用的树木种类有:
种类 | 介绍 | ID |
---|---|---|
Regular | 正常Minecraft小树 | tree, regular |
Big | Minecraft大树 | big, big tree |
Dark Oak | 黑森林生物群系树(深色橡木) | darkoak |
Sequoia | 红衫木 | redwood, sequoia |
Tall sequoia | 高红衫木 | tallredwood, tallsequoia |
Mega-Tall sequoia | 超高2x2红衫木 | megaredwood |
Birch | 桦木(白树皮) | birch |
Tall Birch | 高桦木(白树皮) | tallbirch |
Pine | 内置松树 | pine |
Random sequoia | 随机高或不高的红衫木 | randredwood |
Jungle | 2x2树干丛林木 | jungle |
Small jungle | 1x1树干丛林木 | smalljungle |
Jungle Bush | 无树干丛林树 | junglebush |
Swamp | 带有藤蔓的树 | swamp |
Acacia | 稀树草原生物群系树(金合欢) | acacia |
Red Giant Mushroom | 巨型红队蘑菇 | redmushroom |
Brown Giant Mushroom | 巨型棕色蘑菇 | brownmushroom |
Random | 任何树木种类 | random, rand |
此外,Minecraft 1.16更新中加入的诡异菌、绯红菌也是支持的。
这里可能会有其他树木种类,欢迎添加!
例子
- 例子:生成高红衫木森林
/forestgen 20 tallredwood
- 例子:复制粘贴用列表
/tree [tree, big, redwood, tallredwood, megaredwood, randredwood, birch, tallbirch, pine, jungle, smalljungle, acacia, darkoak, random]
CraftScript脚本
脚本可以让你在不需要学习Java,明白如何编译WorldEdit,或者重造轮子的情况下完成一些简单的任务。 CraftScript是使用JavaScript编写的。
WorldEdit版本 0.8之前的脚本支持是不同的。
注意:你必须要安装Rhino脚本运行库来使用这个功能。
安装脚本
在你的服务器根目录创建一个plugins/WorldEdit/craftscripts/ 路径(如果是单人模式,.minecraft 路径) 并将CraftScript脚本放入该目录。脚本文件一般拥有.js扩展名。
注意:不要运行来源不可信的脚本。
内置脚本
下载WorldEdit时会自带四个脚本(如果需要使用记得将它们从下载文件夹复制至 plugins/WorldEdit/craftscripts/ 文件夹)。
文件名 | 参数 | 介绍 |
---|---|---|
maze.js | <方块> [宽度] [长度] | 生成一个2格高,由指定方块作为墙的迷宫。 |
draw.js | <图像文件> [v] | 将一个图像使用彩色羊毛在游戏内渲染,使用v参数来使它垂直生成。图像文件必须要放置在 plugins/WorldEdit/drawings/ 路径。 |
quickshot.js | <音符1> [音符2] ... | 创建一个简单的用红石连接的音符盒序列。使用示例:quickshot.js 1a# 1c 2f
|
roof.js | <方块> | 在你的选区之上创建一个金字塔形屋顶。 |
运行脚本
- /cs <脚本名> [参数...]
- /.s [参数...] (再次运行上一个脚本)
- /<脚本名>.js [参数...] (快捷方式)
这个命令会运行脚本。不要忘记.js扩展名。如果脚本使用它们,可以加上附加的参数。
安装 Rhino
在你的Java版本不带有需要的部件时(你会收到 "Failed to find an installed script engine."),你需要手动安装Rhino JavaScript Engine。如果你收到 "ReferenceError," ,安装Rhino应该可以解决你的问题。
你应该在 可以的情况下安装Rhino 因为Java自带的Rhino版本一般很低。
编写脚本
请查看脚本开发页。
脚本是使用JavaScript编写的。
可能依赖性
如果你安装了某些Java库,WorldEdit会自动使用它们来提供更多功能。安装这些库的过程是在下载后找到需要的文件(下面的列表)并将它放进你的plugins/WorldEdit/路径中。在重启服务器之后,WorldEdit应该可以找到这些库。
库 | 作用 | 需要安装的文件 |
---|---|---|
TrueZIP | 快照功能对ZIP文件的更好支持 | 保存为 truezip.jar |
Rhino (JavaScript engine) | 使用脚本功能的必须项 | 提取 js.jar |
注意文件名必须与表格中的完全相同。
源码
源代码 : https://github.com/sk89q/worldedit
其他平台
- WorldEdit MOD
- MinecraftForum: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1272389-worldedit-in-game-map-editor-testing-tool-for
- CurseForge: http://minecraft.curseforge.com/projects/worldedit
- WorldEditWrapper (LiteMod)
MinecraftForum: http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1294341-worldeditwrapper-use-worldedit-in-single-player
授权声明
授权方式为CC BY-NC-SA 3.0