有时你可能需要自动生成森林或者球体,因为手动做这些太乏味了。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指令用于在选区内生成森林。
- 例子:在10×10范围内生成森林
- /forestgen 10
- 例子:在10×10范围生成0.5%密度的森林
- /forestgen 10 tree 0.5
南瓜丛(/pumpkins)
- /pumpkins [范围]
WorldEdit可以生成带有叶子的南瓜丛(Notch的南瓜丛没有叶子)。范围参数是生成南瓜丛的方形区域的宽度和高度,从当前位置放射。目前不能调节南瓜丛的密度。
- 例子:在5×5范围生成南瓜丛
/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
这个命令使用表达式解析器。