生成
有些时候你可能需要生成森林或者自动产生球体,但是重复做这些工作又会过于单调。幸好 WorldEdit 有一些工具正好能够快速地做完这些事情。这些命令不需要你选择区域;它们所要用到的是你所站着的那格方块。
与大部分 WorldEdit 的命令相同,这些命令也会接受一个图案参数。
提示
这些命令通常使用的是你的“放置位置”,而这又默认指你所在的位置。你可以使用命令 //toggleplace
来将这个位置修改成你的第一选择点(通过选区魔杖(通常是小木斧)左键选择的点,或者命令 //pos1
所选择的点)。
圆柱体
//cyl <方块> <半径> [高度]
//hcyl <方块> <方块> [高度]
WorldEdit 能够产生实心或空心的圆柱体或圆形。它使用了快速算法来生成这些图形,而这种算法生成的图形在保证效率的同时也能做到圆滑美观。圆柱体是基于你所在的位置生成的,高度则会从你所站着的那一层向上建筑。若你想要产生一个圆形,你只需要将圆柱体的高度设置为 1 即可。
提示
若要更精确地控制图形边缘的形状,你可以在半径参数中填入小数。
对于椭圆柱体,你可以指定两个半径:一个是东西轴半径,另一个则是南北轴半径。
//cyl <方块> <东西轴半径>,<南北轴半径> [高度]
//hcyl <方块> <东西轴半径>,<南北轴半径> [高度]
示例:创建圆柱体和圆圈
创建一个玻璃构成的实心圆柱,半径为 5,高度为 10:
//cyl glass 5 10
创建一个石头构成的空心椭圆柱,半径分别为 5.5 和 15,高度为 10:
//hcyl stone 5.5,15 1
球体
//sphere [-r] <图形> <半径>
//hsphere [-r] <图形> <半径>
两种命令均可创建空心和实心球体。默认情况下,球体的球心是你脚下所站着的方块。如果你提供了 -r(提升)选项,那么生成的球体就会比原有位置高出一段高度,这段高度为它的半径,使球面与你脚下所站的方块相切。
与圆柱相似,你可以通过指定三个参数半径(可为小数)生成椭球体。它们的顺序分别为东西轴方向、上下轴方向、南北轴方向。
//sphere [-r] <方块> <半径>,<半径>,<半径>
//hsphere [-r] <方块> <半径>,<半径>,<半径>
四棱锥(金字塔)
//pyramid <方块> <大小>
//hpyramid <方块> <大小>
这条命令会按给定的方块和高度产生一个金字塔。也就是说,比如你给定高度为 5,那么这个金字塔就有五层方块,每一层方块都比它下面的一层少。最底面一层方块的侧边长度是参数中指定高度的两倍。
造林
/forestgen [大小] [树种] [密度]
可以使用这个命令进行造林操作。“大小”参数决定了生成树林的方形区域的高度和宽度。“密度”参数可以是 0 到 100 之间的值,诸如 0.1 这样的小数也可以正常工作,需要注意的是默认密度(5)就已经足够密集。“大小”参数就是正方形区域的边长(半径),且它的中心是你的“放置位置”(见上文解释)。
提示
该命令操作的方式与“区域操作”章节中所讲的造林是一样的,与那条命令不同的是,这条命令需要一个“大小”参数,且生成位置基于你的“放置位置”而不是你的选区位置。
警告
根据你所使用的服务端核心的差异,有些服务端可能不支持在该命令做出的改动上进行 //undo 撤销操作。
自然生成南瓜
/pumpkins [大小]
WorldEdit 能生成类似原版南瓜丛的结构。“大小”参数即为生成南瓜的方形区域宽度和高度,它的中心为你脚下所站的位置。生成南瓜的密度目前还不能修改。
绘制指定形状
//generate <图案> <表达式>
别名://g
、//gen
生成任意可被数学公式表达的图形:
- 一个圆环面;
- 旋转圆柱体;
- 锯齿状的波峰;
- 任何可通过公式表达的形状。
这会用到表达式判断器。
标志
-r
- 使用原坐标,即一个方块等于一单位长度;-c
- 将表达式的原点移动到选区的中心,默认情况下一个方块等于一单位长度;-o
- 将表达式的原点移动到你的“放置位置”(你的一号点位,通过/togglepos
切换)默认情况下一个方块等于一单位长度;- 在使用上述任意标志的情况下,坐标轴都会归化为 -1..1(从选区最小至最大点的位置,意味着整个选区都是一个 2x2x2 的单位),需要注意的是每个轴可能根据选区的偏移而有不同的方块数量;
-h
- 生成空心图形。方块只会在相邻方块不为原本图形所属的方块的情况下放置。
变量
x
、y
、z
(输入)- 坐标;类型
、数据
(输入/输出)- 所使用的材料,默认填入方块/图案。
提示
因为表达式判断器只可以使用数字作为变量,类型/数据变量和查询功能仅会在拥有旧版本类型/数据格式的方块上起作用。若你想要对新版本的方块(> MC 1.13),请使用变量,并在生成你的图形之后通过命令 //replace
将其替换。命令参数 <图案>
所填入的内容是不受限制的,只有表达式部分才会受到限制。
表达式一定会对属于该部分的方块返回 true(> 0
),对不属于该部分的情况则返回 false(<= 0
)。表达式会测量选区内的每一个方块。
形状示例
示例:生成多样的形状
主半径为 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
sinx 函数图像:
//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
提示
想要更多酷炫的形状吗?试试这个叫 MathMod 的程序吧。它默认有许多形状供选择,你也可以参考其教程创建更多复杂的图形。需要注意的是 WorldEdit 使用的是等角(x,y,z)方程,而不是参数(u,v,t)方程。另外,你也可能需要按选区比例和表达式定义域调整你的 x、y 和 z 变量。
绘制生物群系形状
与生成命令一样,你可以使用表达式将生物群系按特定的形状设置。命令的格式与上一条相同,但它使用的是生物群系名称而不是具体的图案。
提示
在 Minecraft 1.15 之后,生物群系是以三维方式存储的。在 1.16 之后,WorldEdit 完全使用了 3D 生物群系,但是又会出现一些来自 Mojang 的新限制。见“设置生物群系”章节来获取更多信息。
另见
- 百度百科, 2022.09.23, 环面, https://baike.baidu.com/item/环面/2127101