《指令方块高级教程》
第七章 方块指令
方块指令只对方块起作用,所谓方块,就是那些你在我的世界中最常看到的东西,它们可以被放置,可以被破坏,而且不会像生物那样乱动,像金合欢木,僵尸头颅(饰品)等。
方块指令包括:
/blockdata
/clone
/fill
/setblock
/blockdata指令
一些方块拥有用于描述自身特殊属性的数据标签,它们可不像方块类型或是它的坐标那么简单。不同的方块拥有不同的数据标签,例如花盆:花盆拥有两个数据标签,一个是用于描述它其中种植的植物种类(例如花或树苗),第二个标签则是描述其中植物的具体类型
格式
/blockdata < x y z> <数据标签>
- 用你要改变方块的坐标为参数< x y z>赋值
- 用对应方块的数据标签(一个或多个,还记得吗,多个数据标签要用方括号括起来)为参数< 数据标签>赋值,数据标签必须是一个数据名配一个数据值,如:{Item:spling}。
/blockdata ~ ~ ~1 {Item:sapling,Data:2}
The example command adds a spruce sapling to the flowerpot 1 block away.
这个指令执行时,指令方块南边1格处的花盆中会被种上白桦树苗
/clone指令
/clone指令可以将一个立方体区域的方块复制到另一处,你可以用/clone指令瞬间把一座房子或是一座城墙复制到你预设好的地方。这简直是建筑党的福音!你必须仔细的算准坐标,否则指令可能会将你的建筑复制到其他的建筑内部或者地底下。因此,你需要了解指令中的三个坐标参数都代表什么。但是在此之前,你需要知道:/clone指令无法改变建筑的方向,而且一次最多复制4069个方块。
格式
/clone < x1 y1 z1> < x2 y2 z2> < x3 y3 z3> [覆盖模式] [复制模式] [方块名称]
- 用复制区域的任意一个顶点坐标为参数< x1 y1 z1>赋值。
- 用选中顶点在复制区域中的对角坐标为参数< x2 y2 z2>赋值。
- 用粘贴区域中处在西北侧最低点(x,y,z坐标均为最小值)的顶点坐标,为< x3 y3 z3>赋值。
- [覆盖模式]是可选参数,用下面的选项为其赋值:
- replace:这是默认选项(也就是说,如果你未声明这个参数,指令将以本选项为标准执行。),当参数以它为值被执行时,所有的方块都将被复制(包括空气)
- filtered:如果用这个选项作为参数,那么[方块名称]参数也必须被赋值,当参数以它为值被执行时,那么指令只会复制区域内的某一种方块。
- masked:当参数以它为值被执行时,指令只会复制非空气方块。
- [复制模式]是可选参数,用下面的选项为其赋值:
- normal:这是默认参数,当参数以它为值被执行时,指令只是将复制区域内的方块复制到粘贴区域。
- force:若你用这个选项作为参数的值,指令将允许复制区域和粘贴区域重合。
- move:如果你用这个选项作为参数的值,指令执行时,将会把复制区域的方块清空(用空气块填充)。
- 如果你用“filtered”为参数[覆盖模式]赋值,那么就必须用你要复制的方块所对应的ID名称为这个参数赋值。
对于大量相似的建筑来说,clone指令是极其有用的。例如图中的几个村民小屋
例子
/clone -778 64 307 -774 68 310 -778 64 314
/clone -778 64 307 -774 68 310 ~2 ~ ~2 filtered normal sandstone
/fill指令
/fill指令可以用某种方块将你设定的区域填充。
格式
/fill < x1 y1 z1> < x2 y2 z2> <方块名称> [数据值] [原方块处理办法] [数据标签] [数据标签] [被替换方块名称] [被替换方块数据值]
- 用你要填充区域的任意一组对角的坐标分别为参数< x1 y1 z1>和< x2 y2 z2>赋值
- 用填充选中区域的方块所对应的ID名称为参数<方块名称>赋值,我们暂且称这种方块为“填充方块”
- [数据值]是可选参数,用填充方块的数据值为参数赋值。
- [原方块处理办法]是可选参数,代表填充前的方块在被填充时应该如何处理:
replace:这是默认选项,如果[原方块处理办法]以这个选项为参数值,且未定义参数[被替换方块名称],那么所有方块都会被替换;如果你定义了参数[被替换方块名称],那么只有特定的方块会被替换。
- destroy:如果选择它作为参数值,指令执行时,被替换的方块会变成掉落物,就像是被挖掉了一样。
- keep:只填充空气块,而其他块不变。
- hollow:用指定方块将填充区域最外层填充,而内部用空气块填充。从而制成一个空的立方体盒子。
- outline:这个选项和hollow很像,不过这个立方体盒子内部不用空气块填充,而是保持原样,从而制成一个内部不变的立方体盒子。
[数据标签]是可选参数,你需要用填充方块的数据标签为它赋值。如果你想使用它后面的两个参数([被替换方块名称]和),你就不可以定义这个参数。
[被替换方块名称]是可选参数,如果你将[原方块处理办法]参数赋值为“replace”,并且想让填充方块只替换填充区域内的某一种方块的话,你需要将这个参数赋值为你希望被替换的那个方块的ID名称。
[被替换方块数据值]是可选参数,你需要用被替换方块的数据值为这个参数赋值。
通过/fill指令,你可以瞬间挖掉一大片区域的方块,并使它们产生掉落物。对了,千万不要在你精心建造的家中使用这个指令...
例子
/fill -480 69 180 -500 89 200 diamond_ore
/fill ~2 ~ ~2 ~12 ~-5 ~12 air 0 destroy
/setblock指令
/setblock指令可以用指定方块替换指定位置的一个方块。
格式
/setblock < x y z&gy < TileName> [数据值] [原方块处理办法] [数据标签]
- 用被替换方块的坐标为参数< x y z>赋值。
- 用填充方块的ID名称为参数< TileName>赋值。
- [数据值]是可选参数,用填充方块的数据值为参数赋值。
-
[原方块处理办法]是可选参数。和fill指令中的[原方块处理办法]类似,不过因为只能替换一个方块,无法使用“hollow”和“outline”这两个选项。
- replace:这是默认值,直接将目标位置处的方块替换为填充方块。
- destroy:被替换方块会变为掉落物。
- keep:如果目标位置处的方块为空气,则将其替换为填充方块;否则,不进行替换。
- [数据标签]是可选参数,用填充方块的数据标签为它赋值。