Minecraft(我的世界)中文论坛
标题:
[CBL∫2b]指令方块进阶教程——模块 §3 : testfor
[打印本页]
作者:
⭐✔️
时间:
2015-7-2 19:55
标题:
[CBL∫2b]指令方块进阶教程——模块 §3 : testfor
本帖最后由 贰逼 于 2015-7-9 13:51 编辑
条件语句
下一页为 testfor详解
条件语句是模块中的一个重要指令
它用于判断事件是否成立,
若成立则输出;
若不成立则跳过。
条件语句将会涉及到
execute
条件与变量
相对性
testfor
关于枚举多个条件输出
或|| 与 且&&
或||
且&&
或且结合
!非的表达
!非 单个变量
!非 多个执行体
条件嵌套
条件嵌套相对性
条件嵌套与变量
子条件detect
全索引链接
上一篇
(execute)--
下一篇
(关于枚举与多个条件输出
)
§3.2 testfor
下一页为 execute与testfor区别
3.2.1 指令格式
/testfor <player> [datdaTag]
就是
/testfor 实体选择器 NBT数据
使用后的返回值
不是执行指令
,而是
输出信号
3.2.2 条件与变量
在本小章讲解之前,仍需要预置一个实体进行
条件储存
:
/summon ArmorStand ~ ~ ~ {CustomName:"f",CustomNameVisible:1}
和之前的
execute
相同
依旧是原来的效果:
使用
/scoreboard players set @e[name=f] a 1
如果使用:
/testfor @e[name=f,score_a_min=1]
输出信号
反之,
如果使用
/testfor @e[name=f,score_a=0]
则
不会输出
3.2.3 条件与NBT
上方的指令
/testfor @e[name=f]
等价于
/testfor @e[] {CustomName:"f"}
仍旧会有输出,因为
NBT符合实体条件
。
3.2.4 execute与testfor区别
这两条指令皆为探测指令,那么区别究竟是什么
execute返回指令,testfor返回信号
前面的
execute
大家都知道了是
返回指令
,而且是相对执行
根据前面可以看出testfor返回的是
红石信号
,而且需要借助比较器。
(当然testfor也有执行值,可以获取执行值后转存计分版)
execute倾向计分板,testfor倾向NBT
execute
基本都是利用
计分板操作
的(以及相对性),这点testfor比较灵活,
因为testfor能
直接加上NBT进行判断输出
。
(当然execute也可以借助scoreboard赋值后缀NBT来达到探测NBT的效果,在
变量与NBT有讲解
)
execute无输出器,testfor有输出器
execute可以直接对接高频输出,而testfor对接后还需要输出器完成输出,
因此上面如果要达成
execute @e[name=f] ~ ~ ~ say 1
的效果
需要如下:
利用testfor探测:
/testfor @e[name=f]
比较器输出:
/say 1
值得注意的是,
execute连接高频后会跟着高频输出
,
而testfor输出后由于
比较器没有更新(Bud)
所以仅仅
输出一次
。
(后续有方法创建单次执行模块)
在模块中着重使用execute
[groupid=546]Command Block Logic[/groupid]
作者:
Aikawastep
时间:
2015-7-2 20:05
新版本娇喘好评
作者:
i_misty_rain
时间:
2015-7-2 20:10
挺好的教程,支持
作者:
天渊·启
时间:
2015-7-2 20:51
我怎么看到了高中必修三的内容 = =
作者:
海牛的麻烦
时间:
2015-7-2 21:13
高大上,大部分还是很容易看懂的,不过这个分页很不舒服..
作者:
lzs1234
时间:
2015-7-3 09:28
总觉得那个f很像facebook的图标23333
依然没什么难度,新手向?
欢迎光临 Minecraft(我的世界)中文论坛 (https://www.mcbbs.net/)
Powered by Discuz! X3.5