- 欢迎来到Minecraft插件百科!
- 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
- 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289
WorldEdit
外文名 | WorldEdit |
插件类型 | Spigot / CraftBukkit |
最新版本 | 6.1.7.3 |
兼容服务端 | 1.12、1.13、1.14、1.15.1等 |
源地址 | http://dev.bukkit.org/bukkit-plugins/worldedit/ |
主页面施工基本完成!
需要施工的项目:
LocusAzzurro(讨论) 2015年12月20日 (日) 02:47 (HKT)
LocusAzzurro(讨论) 2016年9月29日 (四) 21:11 (CST)
- 整理标题,除去二级标题。
- 更新过时内容,使其适应最新版Minecraft。
尽量避免使用标签(已完成)<br>
。
WordEdit,简称WE,常被称为创世神,是Minecraft的常用插件和mod,且已兼容Forge和Fabric。
安装
- 下载WorldEdit 您可以在官网下载,也可在网页查找,官网下载:http://dev.bukkit.org/bukkit-plugins/worldedit/files/
- 解压压缩包(如果为压缩文件)
- 将jar文件放进plugins文件夹
- 重启服务器
注意:对于Forge或Fabric版本,直接将mod包放在mods文件夹下即可!
会话
在你创建选区或者在游戏内改变你的首选项时,你的相关信息会被储存在一个临时会话中,这个会话在你在线期间一直会处于激活状态。当你断开连接时,你的会话会在被保留10分钟被删除,你可以重新登录来保留你的会话,每个人连接到服务器时的会话是互相分离的(仅限多人游戏)。
会话包括:
- 你的当前选区
- 你的操作历史
- 你的方块修改上限
- 你选择的用于恢复的快照
历史
你的前15个操作会被保存在你的操作历史中。操作历史会记录WorldEdit改变的方块和之前的方块。如果你希望撤销一个修改,在聊天框中输入//undo。如果你改变了想法,你可以使用//redo来重做上一个操作。
如果你需要清除你的历史记录,使用/clearhistory命令。
方块支持
WorldEdit对于不同平台,不同版本以及你的不同配置有不同的方块支持等级。
如果WorldEdit不支持你的平台,你会注意到一些问题:
- 如果没有正确的支持,箱子,熔炉等在复制时不会保存他们的库存
- 如果没有正确的支持,在撤销对于箱子,熔炉等的改变时有可能使他们的内容丢失
平台 | 状态 |
---|---|
Bukkit | Bukkit平台支持需要你使用与你CraftBukkit相对应版本的WorldEdit。WorldEdit 拥有需要特定版本的Bukkit来使用的“NMS 方块”或“适配器”(较新版本中)代码。 每个WorldEdit版本会有一个对应最新Bukkit版本的它们的列表。
如果出现问题,你可能需要升级或降级你的WorldEdit。 |
Spigot | 见 Bukkit。 |
Minecraft Forge | 在WorldEdit 6及以上完全支持。 |
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提供了多种选择一个要进行修改的选区的方法,这个部分将会向你介绍选择选区和你可以对选区进行的操作。
提示:你可以选择其他形状如2D多边形,椭球,球体,圆柱体以及其他形状。其他形状的选择方式接下来在这部分会讲到。
选择长方体
WorldEdit允许你以选择长方体的两个角上的点的方式来选择长方体(想象一个3D的长方体)。
下方的图展示了如何用两点形成一个长方体。你选择的长方体必须与地图对齐(他们不能被以一个角度旋转)。
有许多方法可以用来选择这两个点,你可以混合使用这些方法。
使用法杖选择
- //wand
最直观的选择选区的方式是使用法杖。使用//wand可以得到法杖(默认为木斧)。用法杖左键点击一个方块会把这个方块位置设定为你要选择的长方体的第一个角。右键点击会选择第二个角 。
选择你的当前位置
- //pos1
- //pos2
使用这些命令可以将你所站的方块上方一个方块的位置分别设定为第一个和第二个角。一般使用魔杖可以完成大部分操作,所以一般不会使用到这些命令。
使用指针选择
- //hpos1
- //hpos2
这两个命令会将你指针所指的位置分别设置为第一个和第二个顶点。通过这个方式可以选择远处的点以及方便地选择非常大的长方体选区。
选择所在区块
- //chunk
这个命令会选择你所站区块的所有方块。区块是16x16, 256格高的范围。
调整选区
扩大选区
- //expand <数量> [方向]
- //expand <数量> <反方向数量> [方向]
- //expand vert
这些命令可以简单地以许多方式扩大选区:
- 给出一个方向(north、south、west、east、up、down)
- 看向一个方向(仅north、south、west、east)
- 扩大选区到基岩和天空
使用 "N", "S", "W", "E", "U" (上), 或 "D" (下) 来指定方向。如果你想看向一个方向,使用me或不输入方向参数来指定那个方向。你可以指定两个数字来使选区同时向两个方向扩大选区。
- 例子:向上收缩
- 使用//expand 10 up将选区向上扩大
使用//expand vert将选区扩展到基岩和天空
缩小选区
- //contract <数量> [方向]
- //contract <数量> <反方向数量> [方向]
这个命令与//expand类似。
- 例子:向下收缩
- 选区会向哪边收缩?如果使用了//contract 10 down 选区会从上进行收缩。
在两轴同时收缩
这个命令会将选区向内缩小。
- //inset <数量> [方向]
- //inset <数量> <反方向数量> [方向]
移动选区位置
- //shift <数量> [方向]
移动选区。这个命令的效果类似与向两个相反方向分别进行相同移动量的//expand与//contract。如此会将选区移动一段距离。这个命令不会移动选区中的内容;如果要达到该效果需要使用//move命令。
选区信息
WorldEdit提供了一些可以得到选择的区域的信息的命令。
获得选区大小
- //size [-c]
显示选区内的方块数量。空气方块不会被计算。
v.5.5以上
使用 -c 标签会对剪贴板进行计算
获取一种方块的数量
- //count [-d] <方块种类>
显示一种指定方块在选区内的数量。
v.5.5.1 以上
使用 -d 标签可以支持不同附加值的方块。注意使用-d标签是需要给出一个附加值。
例子:
//count torch Counted: 34 //count -d torch Counted: 0 //count -d torch[facing=west] Counted: 3
获取方块分布率
- //distr [-cd]
显示选区内的方块分布。
例子:
# Total Block Count: 6 16.667% 1 石头 33.333% 2 圆石 50.000% 3 空气
v.5.5以上
使用-c标签会对剪贴板内容进行计算。
v.5.5.1以上
使用-d标签会对不同附加值的方块进行区分。
- 例子://distr与//distr -d的区别(为比较省略了部分结果输出)
//distr ... 34 (0.386%) Torch #50 500 (5.682%) Stone brick stairs #109
//distr -d ... 3 (0.034%) Torch #50:1 4 (0.045%) Torch #50:3 7 (0.080%) Torch #50:2 7 (0.080%) Torch #50:4 13 (0.148%) Torch #50:5 46 (0.523%) Stone brick stairs #109:2 48 (0.545%) Stone brick stairs #109:3 62 (0.705%) Stone brick stairs #109:0 64 (0.727%) Stone brick stairs #109:1 68 (0.773%) Stone brick stairs #109:6 69 (0.784%) Stone brick stairs #109:5 71 (0.807%) Stone brick stairs #109:7 72 (0.818%) Stone brick stairs #109:4
选择模式
- 除cuboid外,其他选区模式在左键选点后再次左键选点会重置选区.
长方体选择模式
- //sel cuboid
左键点击选择第一个点,右键点击选择第二个点。选区为两个点形成的长方体。
长方体扩大选择模式
- //sel extend
v.4.8-SNAPSHOT以上
左键点击选择第一个点。之后的选择点使用右键选择。每次右键选择都会将选区扩大以包含新的选择点。
多边形选择模式
- //sel poly
左键点击选择第一个选择点。之后所有的选择点使用右键点击。每次右键点击选择都会增加一个新的点。
椭球选择模式
- //sel ellipsoid
左键点击选择中心,右键点击扩大选区。
你可以水平右键点击来选择一个水平椭圆,也可以垂直右键点击来选择一个垂直椭圆。但如果需要选择一个椭球选区至少需要右键点击两次。
球体选择模式
- //sel sphere
左键点击选择中心,右键点击扩大选区。
圆柱体选择模式
- //sel cyl
左键点击选择中心点,右键点击扩大选区。第一次右键点击可以扩大圆柱体的底面,第二次右键点击可以提升圆柱体的高度。
多面体选择模式
- //sel convex
v6.0以上
左键点击选择第一个点,其余的点使用右键点击选择。
模糊选区选择模式
- //sel fuzzy
左键点击选择的第一种方块类型,选定一定范围内与被点击方块相连的同种类方块(一面相贴). 若要增加方块种类或不相连的同种方块,用右键点击选择.再次点击左键会重置前次左键及后连右键所添加的选区,选定新的相连方块. 注意:相同ID不同后缀的方块会被视为同一种类(如95:1与95:2) 此外CUI可能不会显示fuzzy所选定的选区而仍对上一模式的选区进行显示.
选区操作
选择了选区之后,真正有趣的部分就要开始了。
设定方块
- //set <方块种类>
方块的列表可以在Minecraft wiki上找到,支持数字ID(包括Minecraft 1.13以上的版本)。
- 例子:设定选区为玻璃方块
- //set glass
- 例子:删除选区内方块
- //set air或0
复杂方块图案
除使用一种方块之外,可以使用不同方块构成的图案。例如,你可以将一个区域设定为由不同方块按照设定的百分比放置。
- 例子:设定选区的方块百分比
- //set 25%stone,50%iron_ore,25%coal_ore
注意要使用英文逗号“,”否则指令不会生效。
如果你要填充一个区域,使用//replace或者//fill效果更好(接下来会提到)。
这里描述的百分比格式只是支持的方块图案中的一种。关于其他可以使用的方块图案见“方块图案”部分。
替换方块
- //replace <要替换掉的方块> <用于替换的方块>
虽然设定方块很有用,但是有时你需要根据一些规则替换一些已有的方块。WorldEdit有三种替换方块的方法:
- 将所有非空气方块替换为另一种方块
- 将一种特定方块替换为另一种特定方块
- 将一系列指定方块替换为另一种方块
使用//replace命令就可以完成这三种操作,让我们来看几个例子。
- 例子:将所有非空气方块替换为草方块
- //replace grass
如果你想选择需要替换掉哪些方块,将它放在最后一个参数之前。
- 例子:将所有原石方块替换为白色羊毛方块
- //replace stone white_wool
如果你想替换掉一系列方块,在它们之间加上逗号即可。
- 例子:将泥土和草方块都替换为钻石矿
- //replace grass_block,dirt diamond_ore
自己试试吧!记住你也可以通过替换空气方块的方式填充一个区域(虽然有一个对应的命令,后面会提到)。
- 例子:将空气方块替换为红石矿
- //replace 0 redstone_ore
注意0代表空气方块,但是你也可以使用air。
你可以使用这个命令将空气方块替换为水或熔岩(旧称岩浆)来达到填充区域的效果,但是//fill命令更加适合。
本命令支持方块图案。
修建墙壁
有时你需要在你的选区周围建起围墙,包括或不包括房顶。你有两个可以使用的命令://outline和//walls。
在正方体四周建立墙壁
- //walls <墙体方块>
//walls命令只会在你的选区四周创建墙壁,即会忽略房顶与地板。
表面覆盖
- //overlay <方块种类>
//overlay命令允许你在选区内的方块表面覆盖一层另一种方块。
只有选区内最上方的方块会被覆盖;如果你的选区内有一个洞穴,它不会被覆盖,除非它是露天的,或者你的选区范围没有延伸到洞穴之上。你可以使用这个命令来创建积雪(虽然WorldEdit有一个可以更好地完成这个操作的命令,会顾及到积雪不应该覆盖所有方块,比如火把上的问题),或者将栅栏覆盖到一个平坦过不平坦的表面。
- 例子:在选区上覆盖草方块
- //overlay grass_block
v.3.0以上
本命令支持方块图案。
堆叠
- //stack <次数> [方向]
这个命令会向你所看的方向重复放置你的选区内容。
使用方法包括:
- 延长桥梁
- 制作隧道
- 重复一种结构
- 例子:将选区内容堆叠50次
//stack 50
你也可以指定一个方向,例如"north","up" 或 "down"。
- 例子:将选区内容向上堆叠5次
//stack 5 up
//stack命令允许你复制任何方块,无论WorldEdit的方块配置是怎样的。
简单地延长一个隧道。注意将房顶与地板包括在选区内。
移动
- //move <距离> [方向] [填充方块]
如果你建了一些东西,然后发现你需要把它向一边移动一点,这个命令十分好用,因为它可以魔法般地移动整个选择区域。
这个命令接受一个需要移动的距离,一个可选的方向,和一个填充移动后留下的空白的方块种类。方向参数的使用方法//stack的相同:你可以使用一个基本的方向 (north, south, west, east), "up","down",或"me" 来指定你朝向的方向。你不一定需要指定一个方向,因为me会被默认使用。
- 例子:将选区向上移动2格
//move 2 up
默认情况下,你不需要提供一个填充用方块,留下的区域将会是空气方块。如果你需要,可以指定另一种方块。
- 例子:将选择区域内容向朝向方向移动2方块,原位置留下原石方块
//move 2 me stone
- 例子:将选区内容向下移动2方块,复制空气方块
//move 2 down
如果你需要移动一个物体且并不想每次重新选择它,可以使用//move -s <数量> [方向]
- 例子:将选区内容向下移动2方块,同时移动选区,复制空气方块
//move -s 2 down
注意:
- WorldEdit的复制功能受Minecraft的特殊方块的限制。
- 特殊方块指Minecraft中带有标签的方块,如命令方块、装有东西的箱子等。
- 因为这个原因,某些操作无法还原,撤销操作也受相同的影响。
平滑化
- //smooth [迭代次数]
如果你需要平滑化一个粗糙的物体(如粗糙的山),这个指令可以做到。首先确认你选择了整个区域的选区,之后再使用命令。此外可以额外注明迭代次数,以达到连续多次进行算法计算来使结果成为更加平滑的表面。
重新生成
- //regen
v.4.2以上
这个命令会将你的选区重新生成为第一次生成地图时的状态。它会使用地图的种子,所以每次生成总会生成同样的地形。注意:如果你的地图是通过外部地图生成器预生成的,或者该地区是在地形生成器修改之前生成的,这个指令不会正常运行
自然化
- //naturalize
这个指令会使用石头、泥土与草方块“自然化”选区内容,以顶层草方块,下方3格泥土方块,泥土方块下方石头方块的构造对选区内方块进行替换。这个命令是一个需要使一个区域“看起来自然” 时可以使用的简单指令。
放置植物群
- //flora
这个命令会将草丛与花以及仙人掌分散放置在选区内的草方块和沙子方块上。
选区变形
- //deform <表达式>
v.4.8-SNAPSHOT以上
对选区内容进行一个由用户指定的形变:
- 旋转
- 把你心爱的教堂变成达利风格作品
- 其他任何你能想象的东西
标签:
- -r 使用原始坐标,即debug屏(F3)上出现的坐标
- -o 使用原点(0,0,0)位置设定为玩家位置或选区第一选择点的原始坐标,依设置而定
- 如果不使用标签,坐标会被正常化至-1..1
变量:
- x, y, z (输入/输出) - 坐标
- 例子:使地形变得颠簸
//deform y+=0.2*sin(x*10)
本命令使用表达式解析器。
剪贴板
WorldEdit提供了一个非常强大的剪贴板功能,允许你复制一个区域,粘贴它,甚至将其保存为文件或从文件导入。剪贴板内容现在仅支持长方体并且复制时会使用你的选区范围。
复制与剪切
- //copy
- //cut [填充方块]
这个简单的命令可以复制你的选区内容到你的会话的剪贴板,同时记录你与被复制物体的相对距离。这句话的第二部分十分重要;举个例子,如果你之后要在你脚下粘贴一座桥,复制时你需要站在桥上的一个位置。这个方法允许你方便地对齐你的粘贴因为你可以提前计划;你需要一定的空间感来了解复制的过程,但是一旦学会你会觉得这个方法非常好用。
//cut 和 //copy 指令的效果十分相似,除了它会删除选区的内容。默认情况下它会留下空气方块,但你也可以指定一个其他方块。
粘贴
- //paste [-aso]
在你的剪贴板有东西了之后,你可以将它粘贴到地图上。最后一个参数是选择性的:如果你想把它粘贴到它被复制时相同的位置,输入//paste -o
,不然被粘贴的物体会被放置在与你相对的位置。记住如果你在相对性粘贴,被粘贴的物体与你的相对位置和复制时的相同。举例来说,如果你复制时站在你的城堡顶上,粘贴时城堡就会出现在你的下面。
比如你需要复制一堵墙并且要把它放到别处。如果你现在几格之外,复制,然后尝试粘贴它,因为Minecraft储存位置的方法,有可能你会在一个方向上差一格(可能不会包括上下)。以下这个方法可以帮助你在正确的位置完成复制与粘贴:标出要复制的墙壁。在距离你的墙壁中心3格远的地方任何一个方块。对着那个方块,走得越近越好。复制。在粘贴之前在你需要被粘贴物体中心的位置3和距离的地方放下一个方块。对着方块走得越近越好。粘贴。注意你面向的方向不重要。如果你想你的墙朝另一个方向,旋转它,然后做同样的放置方块,走向方块并粘贴的操作。
你可以使用//paste -a
来粘贴所有非空气方块。
v.5.6以上
你可以使用//paste -s
来选择粘贴生效的区域。
旋转
- //rotate <角度>
有时你需要旋转你的副本。目前这个命令允许你沿Y轴(上下)旋转90度或90度的倍数。确切地说,这个命令其实可以以你复制时与物体相对的点作为中心来旋转你的副本。如果你想沿中心点旋转你的副本,复制时就需要站在它的中心点上。
翻转
- //flip [-p] [方向]
按一个给出的方向翻转剪贴板。可用方向有North, South, East, West, up和down;东南西北方向可以以朝向这些方向的模式选择,上下方向则不行。剪贴板会延一个与给出的方向垂直,位于剪贴板中间位置的平面翻转(非玩家位置)。一共有三个平面,一个水平的(xz)和两个竖直的(xy, yz)。水平平面xz以上下向量定义,xz平面以东/西定义,yz以南/北定义。
使用-p标签可以使选区在玩家周围翻转,而不是在选区中心。
导入与导出
WorldEdit可以使用.schematic文件来保存和加载副本。.schematic文件的好处是它与例如MCEdit, NBTedit和Redatone Simulator等程序兼容。这个格式也支持所有的Minecraft方块数据并有相关的支持文档让你可以在你自己的程序中使用它。
- //<schematic|schem> <save|load> [<格式>] <文件名>
Single Player Commands不支持//schem简写,需要使用//schematic。可以使用的格式有mcedit和mce;如果没有给出WorldEdit会尝试确定格式。所有build #1134-c76f119 (WorldEdit 5.3) 之前保存的.schematic文件均为mcedit格式。文件名不需要包括.schematic后缀。
你的副本的原点和你的相对位置都会被保存在文件中,这样你可以在之后加载它并以它原来的远点位置和你复制时的相对距离粘贴。你应该已经熟悉了//copy和//paste储存你的相对距离的方法了。
文件保存位置
文件会被保存在你的Minecraft服务器的\plugins\WorldEdit\schematics文件夹下并从这里被加载。如果你使用的是Single Player Commands,路径为\mods\spc\schematics。WorldEdit因为安全性原因将导入导出路径限制在这个文件夹。文件名会自动被添加.schematic扩展名。路径系统也是可以支持的,并且在需要的情况下可以创建新的子文件夹。目前不可以改变这个使用的文件夹位置。
两个命令都会检查schematic文件的路径来确认名字的有效性。路径只能含有字母和数字字符以及一些符号。检查使用的正则表达式为^[A-Za-z0-9_\ \./\\'\$@~!%\^\*\(\)\[\]\+\{\},\?]+$。如果路径长度大于系统支持的上限,Java会报错并且用户会收到通知。
显示可用的schematic文件列表
- //<schematic|schem> <''list''> [-dn]
v.5.5以上
使用 -d 和 -n 参数会分别按日期顺序和倒序排列。
清空剪贴板
- /clearclipboard
清空你的剪贴板会删除它的内容,释放少量的内存。
生成
有时你可能需要自动生成森林或者球体,因为手动做这些太乏味了。WorldEdit有一系列可以完成这些操作的工具。这些指令不需要一个选区;他们使用你所站的位置的方块。
圆柱体与圆形
- //cyl <方块> <半径> [高度]
- //hcyl <方块> <半径> [高度]
WorldEdit可以既可以生成空心圆柱,也可以生成实心的,同样也可以生成空心和实心的圆形。生成物体时使用的是一个快速的算法,并且这个算法会创建美观和对称的边缘。
圆柱体会在你的脚下被创建并会向上扩展。如果你需要一个圆形,创建一个高度1的圆柱即可。
- 例子:创建一个半径5高度10的实心玻璃圆柱体
//cyl glass 5 10
- 例子:创建一个半径为5的空心玻璃圆形
//hcyl glass 5 1
椭圆形圆柱体和椭圆形
- //cyl <方块> <东西半径>,<南北半径> [高度]
- //hcyl <方块> <东西半径>,<南北半径> [高度]
用指定两个半径,并用逗号隔开的方式,可以生成椭圆形圆柱体。
第一个半径是东西方向,第二个是南北方向。
球体
- //sphere [-r] <方块> <半径>
- //hsphere [-r] <方块> <半径>
实心和空心球体都可以创建。默认情况下,球体的中心会是你所站位置的上方一格。但是如果你设置了-r参数,球体会被升高,它的底部会在你的脚下。
- 例子:生成一个半径为4的玻璃球体
- //sphere glass 4
- 例子:生成一个升高的半径为4的玻璃球体
- //sphere glass 4 -r
椭球
- //sphere <方块> <半径>,<半径>,<半径> [-r]
- //hsphere <方块> <半径>,<半径>,<半径> [-r]
金字塔
- //pyramid <方块> <大小>
- //hpyramid <方块> <大小>
按给出的方块图案和大小生成一个空心或者实心的金字塔。
- 例子:生成一个高度5,边长10的空心玻璃金字塔
- //hpyramid glass 5
森林
- /forestgen [范围] [种类] [密度]
- //forest [范围] [种类] [密度]
使用这个命令可以生成森林。范围参数表示生成森林的正方形范围的宽度和高度。密度可以是从0至100的数字,允许使用小数。需要注意的是100%的密度(每个位置都有树)是不能达到的因为Notch的树木算法不能允许这样的生成,默认的5%已经可以生成一个很茂密的森林。最后,这个指令会按照给出的范围参数在你周围寻找可以生成的位置,并且搜索范围会向下扩展一两格以找到草方块或泥土方块(树木只会在这两个方块上生成),但是不会向上搜索。所以如果你想填满一片区域,最好站在一个稍高的平台上进行生成。查阅树木种类的部分来了解可以使用的树木种类。
- 例子:在10x10范围内生成森林
- /forestgen 10
- 例子:在10x10范围生成0.5%密度的森林
- /forestgen 10 tree 0.5
南瓜丛
- /pumpkins [范围]
WorldEdit可以生成带有叶子的南瓜丛(Notch的南瓜丛没有叶子)。范围参数是生成南瓜丛的方形区域的宽度和高度,从当前位置放射。目前不能调节南瓜丛的密度。
- 例子:在5x5范围生成南瓜丛
/pumpkins 5
任意形状(表达式生成)
- //g[en[erate] <方块> <表达式>
v.5.0以上
生成任何可以用数学公式表达的形状
- 环面
- 旋转过的圆柱体
- 锯齿状峡谷
- 任何你能想到并且用表达式表示的形状
标签:
- -r使用原始坐标,即调试屏幕debug屏(F3)上出现的坐标
- -o使用原点(0,0,0)位置设定为玩家位置或选区第一选择点的原始坐标,依设置而定
- 如果不使用标签,坐标会被正常化至-1..1
- 使用-h标签会生成空心形状。只有与不属于形状的方块相邻的方块会被放置。
变量:
- 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
- 例子:彩虹环面(不适用于1.13之后的版本)
- //g wool data=(32+15/2/pi*atan2(x,y))%16; (0.75-sqrt(x^2+y^2))^2+z^2 < 0.25^2
- 例子:彩虹蛋(不适用于1.13之后的版本)
- //g 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
命令把它切换成你的第一个选择点。
填充凹洞
将空气替换成水方块(使用/replace)的方法在这里不会好用,因为这个区域不能合适地被一个长方体包括在内。
- //fill <方块> <半径> [深度]
你可以使用这个命令来填充地上的凹陷,瞬间完成水和岩浆池的制作,而不是手动放置大量的水源方块。只要站在需要填充的洞里并输入需要填充的范围半径,以及在需要的情况下一个深度即可(默认深度为1)。这个指令的工作方式是在所有太阳会照到的位置放置方块,假设太阳在头顶位置:它只能填充不被盖住的凹陷的位置。所以使用这个指令不能填充洞穴因为洞穴会延伸至地下。(还有//fillr可以使用)
如果你很想知道,接下来有一个使用的算法的介绍。算法是这样的:
- A: 如果方块是空气方块
- 将方块设定为指定方块
- 将目标方块下方 深度-1 范围的所有方块填充为指定方块
- 对四周相邻的每个方块:
- 对每个给出范围内的方块重复A
一般//fill会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。如果你使用法杖来选择,注意它可能会选择一个方块,这样指令不会有任何效果(见上方算法)
本命令支持方块图案。
递归填充
- //fillr <方块> <半径>
像之前提到的,填充命令不会填充不暴露在一个虚拟的太阳下的位置。如果你需要填充一个洞穴,或者是边上有更小的洞的洞,这就是一个问题。//fillr是不同的;它会填充所有和原始方块相接的方块,用这样的方式可以填充洞穴等。但无论如何,这个指令的范围不会延伸到你所站位置(或第一选择点)的高度以上,所以使用指令时还是要必须处于洞穴的顶部,一格向下的位置。
本指令支持方块图案。
抽空池塘
- //drain [-w] <半径>
如果你曾经尝试过手动清除水或熔岩,你一定知道这么做有多么棘手。WorldEdit可以为你清除一个池塘内的所有水或熔岩并且不会“跳跃”至不相连的另一个池塘。虽然你可以用//replace指令来完成同样的操作,但是池塘必须要被一个长方体完全包括才行。
注意:这个功能目前不支持MOD中加入的液体。
你必须要站在池塘的边缘与液体相同高度的位置或在液体内部进行操作。你不能站在比池塘高或者更远一格的位置。
算法很简单:
- 对每个起始位置1格范围内的方块:
- A:如果是水方块或者岩浆方块:
- 移除方块。
- 对于每个相邻的方块,包括对角相邻与上下,如果这些方块不在半径范围之外,重复A。
- A:如果是水方块或者岩浆方块:
一般//fill会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
修复池塘
- /fixwater <半径>
- //fixwater <半径>
- /fixlava <半径>
- //fixlava <半径>
手动完成一个一格深平静的水池或熔岩池表面是很有挑战性的,对于更深的池塘几乎是不可能的,但这两个指令是专门来解决这个问题的。这两个指令会寻找附近的水或熔岩方块并把它们展开来填满整个区域并且将流动的水或熔岩替换成他们的静止型方块。你只需站在水或熔岩边上(不是一格上方)使用指令即可。注意如果你尝试在一个瀑布上方使用这个指令,水会被展开成一个巨大的液体伞形,因为这两个指令会同时扩大水或熔岩的范围!如果你在液体表面以下几格使用这些指令,只有你所在的高度的液体会被修复而不包括你上方的。
注意:这个功能目前不支持MOD中加入的液体。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
修改附近方块
WorldEdit也提供了许多可以修改周围方块的指令。
移除上方和下方的方块
- /removeabove <范围> [高度]
- /removebelow <范围> [深度]
- //removeabove <范围> [高度]
- //removebelow <范围> [深度]
这两个指令可以简单地移除你上方或下方的方块。比如一个使用的例子是清除玩家们为到达高处建造的方块塔。范围参数决定要移除的长方体的体积。长方体的长度和宽度为 (范围-1)*2+1 。长方体的中心为你所站位置上方一格的位置。如果你不指定高度或深度,这两个命令的范围会扩展到地图上下边界。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
移除附近方块
- /removenear <方块> [范围]
- //removenear <方块> [范围]
这个指令会清除附近指定种类的方块。范围参数决定了要移除的长方体的大小。 长方体的长度和宽度为 (范围-1)*2+1 。长方体的中心为你所站位置上方一格的位置。如果你不指定高度或深度,这两个命令的范围会扩展到地图上下边界。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
替换附近方块
- /replacenear <范围> [需要替换方块] <替换使用方块>
- //replacenear <范围> [需要替换方块] <替换使用方块>
如果你需要替换附近的方块,这个指令是一个快捷方式。范围参数决定了要移除的长方体的大小。长方体的长度和宽度为(范围-1)*2+1。长方体的中心为你所站位置上方一格的位置。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
模拟降雪
- /snow <半径>
- //snow <半径>
把一个区域用雪覆盖!这个指令的算法只会在需要被雪盖住的方块上生成降雪(比如火炬方块不会被盖住)。如果某个区域上方有物体(比如悬垂),降雪不会覆盖它。“降雪”是完全竖直的。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用/toggleplace将它切换为你的第一选择点。
模拟草地生长
- /green <半径>
把一个区域用草地覆盖!这个指令的算法只会在需要被草地盖住的方块上生成草地(比如火炬方块不会被盖住)。如果某个区域上方有物体(比如悬垂),/green不会覆盖它。/green是完全竖直的。
一般这两个指令会使用你的所在位置(所站位置一格上方)来开始运作,你可以使用’/toggleplace’将它切换为你的第一选择点。
解冻区域
- /thaw <半径>
如果你需要解冻一个区域(或许反转/snow的效果),这个指令有与降雪完全相反的效果。对所有被太阳直射的方块,如果是一个被雪覆盖的方块,雪会被移除,如果是冰,会被转换成水。这个指令与使用/replacenear来“解冻”因为使用/replacenear会破坏室内的冰和雪方块。
移除生物
- /butcher [-pngabtfl] [半径]
这个指令会移除附近的怪物。如果你不指定一个半径,所有被加载的地图中活跃的怪物都会被移除。怪物不会掉落它们的掉落物。注意就算你杀死了所有怪物,它们也会很快重新生成。
标示:
- -p 会同时移除宠物
- -n 会同时移除NPC
- -g 会同时移除铁傀儡
- -a 会同时移除动物
- -b 会同时移除环境生物
- -t 会同时移除使用自定义名称的生物
- -f 包括所有之前的标示
- -l 会在被移除的怪物位置生成闪电(WorldEdit 5以上)
提示:有些生物同时属于多个种类,所以你可能需要同时使用多个标示来移除它们。
可以通过修改配置文件来设定一个这个指令使用的默认半径。
v.6.0以上
你可以使用//undo
来撤销生物的移除。
扑灭火焰
- /ex [半径]
- //ex [半径]
这个指令是一个/removenear fire <半径>
的快捷方式,这个指令会移除在一定范围内的火焰方块。默认这个指令会使用40作为半径,除非给出一个半径。
虽然这个指令会移除火焰,但不会移除火源,比如岩浆池。
区块工具
如果你需要操作区块,WorldEdit也能帮到你。
区块信息
- /chunkinfo
如果你需要你所在的区块的信息,使用这个指令。
提示:这个功能没有为Minecraft 1.3版本中加入的新地图格式更新。
- 例子:/chunkinfo输出示例
Chunk: 8, -17
8/1b/c.8-h.dat
列出区块
- /listchunks
你可以使WorldEdit列出你的选区覆盖的区块。不幸的是,这个指令只会在聊天框输出所以只有有限的用处。
删除区块
- /delchunks
提示:这个功能没有为Minecraft 1.3版本中加入的新地图格式更新。
WorldEdit会生成一个可以删除选区覆盖的区块的脚本。WorldEdit不会实际删除区块。你需要手动运行脚本来真正的删除区块。在使用这个指令之前,你需要设置脚本保存格式。这个文件会被保存到服务器的根目录(或者说是你的有效路径),文件名为worldedit-delchunks.ext。
重要提示:这里的提示中提到的1.3指的是BETA 1.3, 在此版本中文件格式从按区块保存变为了按区域保存,并不指正式版1.3中的修改(如果有的话)。如果这个是真的,这些指令在1.2.5版本也不可使用,也不能用来删除不需要的区块。
超级镐子
WorldEdit中的超级镐子功能能让所有的镐子拥有超能力!
超级镐子的功能会给予你的镐子快速破坏方块的能力。使用//
指令可以切换你的超级镐子功能。默认情况下选择的模式是单方块模式。
如果你使用下面的命令来切换,超级镐子的功能就会被开启。
瞬间采集
- /single
- // (关闭用)
单个方块模式只会破坏一个方块。默认使用这个模式时被采集的方块会掉落,这个特性可以通过修改配置中的super-pickaxe.drop-items项目来改变。
瞬间破坏区域
- /recur <半径>
- /area <半径>
- // (关闭用)
自WorldEdit v4以后指令为:
- /sp area <半径>
- /sp recur <半径>
- // (关闭用)
这两个模式会破坏一整个区域,但是只会破坏与你击中的方块相同种类的方块。两个模式的区别是recur模式只会破坏与原始方块相接的方块,在半径范围内重复。Area模式只会破坏一个以击中的方块为中心长度和宽度为 半径*2+1 的长方体区域。
默认情况下,使用这些模式不会使被采集的方块掉落,但是这个特性可以通过修改配置中的super-pickaxe.many-drop-items项目来改变。
工具
工具是可以“绑定”至一个物品来右键点击使用的效用性功能。手持需要绑定的物品并使用下面的一个指令就可以绑定一个工具。
树木生成工具
- /tree [种类]
- /none (解绑)
启动树木生成工具。右键点击草地来生成一棵树。如果需要树木种类的列表,请查看’树木种类’部分。
浮空树木清除工具
- /deltree
启动浮空树木清除工具。右键点击与浮空树木连接的树干或树叶来清除整个浮空树木。树木不能连接到地面。这个工具对浮空蘑菇也有效v.4.7以上
。
方块替换工具
- /repl <方块>
- /none (解绑)
使用这个工具可以用右键点击的方式将方块替换为需要的方块。使用 0 或者 ’air’ 来使用这个工具来清除方块。
远程建筑工具
- /lrbuild <左键放置方块> <右键放置方块>
使用这个工具可以在一段距离外放置和破坏方块。瞄准点击即可。方块放置的模式与右键点击目标方块的效果相通。如果其中一个方块被设定成空气,这个工具可以用来删除目标方块。v.4.7以上
远距离魔杖
- /farwand
这个工具是上一个工具与选区选择魔杖的组合。它和选择魔杖的工作方式相同,但是有从远处选择方块的能力。v.4.7以上
循环工具
- /cycler
被这个工具右键点击的方块会在它们所有的附加值状态中循环(如果支持)。比如使用这个工具右键羊毛会使它在所有的颜色中循环。左键和右键可以分别用来“向前”和“向后”循环。
查询工具
- //info
使用这个工具右键点击方块时,玩家会收到关于这个方块的信息。显示的信息的格式是“@(x, y, z) #id (名称) [附加值] (发光亮度等级/上方亮度等级)”。
颜料桶填充
- /floodfill <图案> <范围>
- /flood <图案> <范围>
从右键点击的位置开始,填充工具会填充范围内所有相邻的方块(最大范围为超级镐子的最大范围)并将原始的方块种类设定为给出的图案。v.4.7以上
刷子工具
刷子工具允许你从远处进行建造。请查看’刷子’部分来详细了解。
刷子
WorldEdit有一些刷子工具,可以让你从远处建筑和绘制。开启一个刷子的时候,它的功能会绑定到当前手持的物品上。你可以在不同的物品上绑定不同的工具。
球体刷子
- /brush sphere [-h] <方块> [半径]
- /br s [-h] <方块> [半径]
- /none (解绑)
从远处创建球体,’h’ 标示会使创建的球体空心。
圆柱体刷子
- /brush cyl [-h] <方块> [半径] [高度]
- /br c [-h] <方块> [半径] [高度]
- /none (解绑)
从远处创建圆柱体,’h’ 标示会使创建的圆柱体空心。
剪贴板刷子
- /brush clipboard [-a]
- /br copy [-a]
- /none (解绑)
选择你的剪贴板内容作为刷子。剪贴板的中心会被粘贴在你点击的方块位置。使用’-a’标示可以不粘贴空气。改变你的剪贴板内容不会改变你使用的剪贴板刷子,如果你需要更新你的刷子内容,你需要重新使用指令。
平滑刷子
- /brush smooth [-n] [大小] [迭代次数]
- /none (解绑)
使用平滑刷子。这个刷子实际上使用两倍指定的大小作为平滑的范围。使用’-n’标示可以只使刷子作用于自然地形。
替换刷子
其实没有一个单独的替换刷子。所有的刷子都可以使用一个替换模式。 使用下面的蒙版指令来把任何刷子切换至替换模式。
刷子设定
蒙版
- /mask [蒙版]
- /mask (关闭蒙版)
为你的刷子指令设定蒙版,使你可以限制被影响的方块种类。(更详细的资料请查看’蒙版’部分)
尺寸
- /size [尺寸]
设定刷子的尺寸(默认最大值为6)。
传送
你可能会经常需要到达一些位置来更好地进行操作。下面的命令可以满足这些需求。
解放自己
- /unstuck
这个指令可以在你被封在方块里时将你解救出来。它会将你移动到最高的空位,如果你没有被堵住的话这个命令就没有任何效果。(这是唯一与/ascend命令有区别的地方。)
上升与下降
- /ascend [层数]
- /descend [层数]
这两个指令可以使你穿过上方的顶或下方的地面。举个例子,如果你在一个房子里,使用”/ascend”会将你传送到房顶上。 你也可以指定一个上升或下降的层数。举个例子,如果你在一个摩天大楼的底层,使用/ascend 2会将你传送到第三层。
上升到屋顶
- /ceil [clearance]
这个指令会把你带到你所在房间的屋顶位置。如果你没有使用了clearance参数,你会被传送到屋顶下方。如果你使用了clearance参数,你头顶的空间会更大一些。你传送时脚下会被放置一个支撑用的玻璃方块。你必须手动移除这个方块。
穿过墙壁
- /thru
这个指令会使你朝你看向的方向穿过一堵墙。看向墙并使用指令即可。注意不要朝下看因为它会尝试穿过地面。这个指令会合理地限制墙的厚度。
跳跃至视野内目标方块
- /jumpto
这个指令会将你传送至你所指向的方块上方。如果那个方块是一堵墙,你会被传送到顶部的边缘位置。
你可以将这个功能绑定到一个物品上来更方便地使用它。查看’配置’部分来了解详细信息。
上升任意距离
- /up <距离>
这个指令会将你向上移动几个方块。你不能用这个指令来穿过墙壁,并且你脚下会被放置一个玻璃方块来支撑你。在你完成操作之后需要手动移除这个玻璃方块。
从快照恢复
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 [数量]
来显示最新的可用的快照。
方块数据格式
在使用所有使用方块作为参数的WorldEdit指令中,你可以指定一个方块数据。比如庄稼使用数据来表示他们的生长进度,你可以使用这个功能来设置庄稼的生长进度。
方块数据语法
所有使用方块作为参数的命令都会使用这个语法。
附加值(已过时)
一些方块会使用附加值,附加值一般为0至15(虽然不是所有方块都完全支持这个范围)。如果需要表示一个方块的附加值,附加一个冒号(:)以及附加值在方块名或ID之后即可。需要注意,从1.13扁平化之后就不存在附加值了。
- 例子:将一个区域设定为完全生长的作物
//set crops:7
关于方块附加值相关的信息请查阅Minecraft wiki。
对于羊毛方块,v.2.15以上
地毯与染色黏土v.5.5.9以上
也可以使用它们的颜色名(例://set wool:red
)。对于Minecraft 1.13之后的版本,可以使用扁平化后的ID,如red_wool。
告示牌文字
牌子上的每行文字须被管道符(|)分隔。空格必须要使用下划线(_)替换。
- 例子:设置告示牌文字
//set oak_sign |Line1|Line2_Text|Line3
- 例子:设置告示牌朝向与文字
//set oak_sign[rotation=4]|Line1|Line2_Text|Line3
刷怪箱生物种类
刷怪箱生成的生物种类可以在一个管道符号(|)之后来指令。
- 例子:设定生物种类
//set spawner|squid
音符方块音高
v.2.14以上
音符方块的音高可以在一个管道符(|)之后被指定。音高是0至24(包括两端)之间的数值。
头颅种类(已过时)
v.5.4.6以上
头颅的种类和旋转方向可以在管道符(|)之后指定。种类可以是“skeleton”, “wither”, “zombie”, “creeper”,或者一个玩家的名称。旋转数值是0至15(包括两端)之间的数字。Minecraft 1.13之后的版本可以使用扁平化之后的名称,如skeleton_skull。
注意只有当头颅有1的数据值,也就是在地面上的时候,旋转值才会有效果。如果头颅是附着在墙壁上的,旋转数值不会有任何效果。
- 例子:设置一个朝向西方的苦力怕头颅
//set skull:1|creeper|12
//set skeleton_skull
图案
许多使用“方块”作为参数的指令也会接受一个图案。比起设定一种方块,一个图案允许你使用更复杂的方块。举个例子,可以使用一个每个方块有10%几率是砖方块,90%几率是原石方块的图案。
注意不是所有的指令都已经支持方块图案参数,但有将所有指令都进行转换的计划。
方块几率
方块几率图案是通过给出一个方块种类列表(也会支持上方提到的方块数据语法)和它们各自的几率来指定的。
- 例子:将所有方块设定为由百分比指定的随机图案
//set 5%diamond_ore,95%dirt
如果需要一个完全随机的图案,则不需要提供百分比。
- 例子:使用一个无百分比列表将所有方块设定为一个随机图案
//set obsidian,stone
剪贴板
v.3.0以上
你可以使用剪贴板来创建一个副本并使用"#clipboard"或"#copy"来使图案重复该副本。
- 例子:将所有方块设定为剪贴板副本图案
//set #clipbaord
蒙版
蒙版控制会被影响的方块,效果就像方块过滤器。
可用蒙版
例子 | 介绍 |
---|---|
rock,glass | 只影响的方块列表(白名单) |
!rock,glass | 不影响的方块(黑名单) |
#existing | 已存在的方块(非空气方块),等同于!0
|
>rock,glass | 只在某些方块之上 |
<rock,glass | 只在某些方块之下 |
#region | 只限于你的当前选区中 |
注意不同的蒙版可以被组合使用来形成一个只有满足其中所有蒙版才能满足的蒙版。在使用/mask或/gmask设定蒙版时用空格分隔多个蒙版可以创建组合蒙版。
树木种类
列表
你可以使用的树木种类有:
种类 | 介绍 | 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 |
这里可能会有其他树木种类,欢迎添加!
例子
- 例子:生成高红衫木森林
/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
授权声明
本页内容翻译/搬运自SKWiki
授权方式为CC BY-NC-SA 3.0