§д.5 方块操作
第三页为 setblock
实体操作还有一点对于数据整理的意味,然而方块操作就是
纯属效果了。
方块操作就是对方块的类型,方向进行操作,
几乎没有涉及到量的领域,是纯属模块的输出。
方块操作指令分为:
setblock - 放置单方块
clone - 复制/剪切一个区域
fill - 填充一个区域
д.5.1 setblock
第四页为 clone
setblock是一个
单方块放置的指令,当然也可以使用
blockdata进行单方块操作。
对于单方块的
检测指令是testforblock,可以自己试试。
setblock的基本格式:
其中 坐标/方块/方块附加值 十分简单,主要讲解下其中的
几个模式:
替换方块:替换原来的方块为指定方块,即
强制放置:
只有
空气才会放置。也就是有方块就
不会强制放置


打掉原来的方块,放置指定方块。也是一个
强制,如果开启了方块掉落,那么会
生成物品。
setblock通常用于但方块效果操作,具体需要
通过不同模式进行调试。
.5.2 clone
第五页为 fill
clone是官方提供的
复制/剪切区域的指令,
对于区域的检测指令为
/testforblocks,可以自己试试。
clone基本格式:
- /clone 区域一角坐标 区域相对的另一角坐标 目标坐标 模式 选项 (方块 方块附加值)
复制代码
目标坐标是整个构成的区域里x y z最小的坐标
其中需要讲解
模式/选项
模式:
把整个
区域包括空气全部复制,强制


比如把木头复制到红石块构成的区域,
那么空气都强制替换掉了木头
查漏补缺,
替换所有空的


还是原来的例子,只有空气被替换掉了
基于masked,且
只复制一种方块


那么可以看到不会复制空气,而且只会复制红石块。
选项
正常,默认值
强行克隆,比如有重叠,会
强行复制过去


剪切模式,基于force


再次强调,目标坐标为目标区域内xyz最小的坐标。
д.5.3 fill
第二页为 fill与stats
在
fill高频提到了一些fill的格式和用处。
fill格式:
- /fill 区域角落 区域相对角落 方块 附加值 模式 (方块 方块附加值)
复制代码
依旧是讲解
模式。
(部分不配图)
并非强制,只会
替换符合的



- /fill ~ ~ ~ ~1 ~4 ~ wool 0 replace wool 1
复制代码
和setblock的destroy一样,
破坏原有的再替换,有强制性
继承destroy,只会
填充外层


- /fill ~-2 ~2 ~-2 ~2 ~4 ~2 wool 0 hollow
复制代码
那么生成的区域中空,
如果是一个只有一个方块宽/长/高的区域,那么不会中空
继承replace,
替换外层


外层的被替换了,类似夹心饼干
与setblock相同,
只会填充空气。
д.5.3 fill与stats
详情:
执行值与条件语句
的指令:
- /scoreboard players set @e[name=f] a 0
- /stats entity @e[name=f] set SuccessCount @e[name=f] a
- /execute @e[name=f] ~ ~ ~ testforblock ~ ~2 ~ minecraft:wool 14</div>
复制代码
*执行值获取
能够检测单方块
改成如下:
- /scoreboard players set @e[name=f] a 0
- /stats entity @e[name=f] set AffectedBlocks @e[name=f] a
- /execute @e[name=f] ~ ~ ~ fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 14 replace wool 0
- execute @e[name=f] ~ ~ ~ fill ~2 ~2 ~2 ~-2 ~-2 ~-2 minecraft:wool 0 replace wool 14
复制代码
*执行值获取
就是利用fill的
执行值获取f周围红色羊毛数量,
且
不影响效果。
附加部分
练习: