本帖最后由 贰逼 于 2015-8-10 10:02 编辑
所谓单模块是指多个模块语句组成的,和多模块不同,单模块内语句着重过程,模块本身强调对象。
单模块关联将会涉及到
执行值与条件语句
执行值与循环
执行值与时钟
全索引链接
上一篇(stats与时钟)--下一篇(执行值与循环)
§7.1 执行值与条件语句
在本章内,需要将条件语句、循环语句、时钟、执行值看作多个模块语句,
多个语句模块组成的单模块。
首先来复习条件语句和执行值:
以前也提到了看作多个语句的概念,这里我们加深印象。
之前在子条件detect中说明了detect只能向下检测方块,通过stats可以达到向上检测的效果:
如果detect能够向上检测方块,那么可以直接使用
但是通过stats可以分解为以下指令:

按照顺序执行:
*执行值获取
*条件语句输出
效果:

一旦头顶上检测到了红色羊毛,即可输出。
分析:
执行值获取需要设定初始值不需要强调了。
可以将获取testforblock的执行成功次数看作一个语句,
它的值关联条件语句,因此构成了一个单模块,
用于产生f的头顶有红色羊毛输出say 1的对象。
单模块关联的概念十分重要,计分板和实体是关联单模块所有语句的重要方式,因此需要掌握。
附加部分
练习:
单模块关联
下一页为 执行值与条件语句
本章着重复习前面的内容,加深多个模块语句的概念和关联的概念。
所谓单模块是指多个模块语句组成的,
和多模块不同,单模块内语句着重过程,模块本身强调对象。
单模块关联将会涉及到
执行值与条件语句
执行值与循环
执行值与时钟
2021.12 数据,可能有更多内容
单模块关联下一页为 执行值与条件语句本章着重复习前面的内容,加深多个模块语句的概念和关联的概念。所谓单模块是指多个模块语句组成的,和多模块不同,单模块内语句着重过程,模块本身强调对象。
单模块关联将会涉及到
执行值与条件语句
执行值与循环
执行值与时钟
全索引链接
上一篇(stats与时钟)--下一篇(执行值与循环)
§7.1 执行值与条件语句
在本章内,需要将条件语句、循环语句、时钟、执行值看作多个模块语句,
多个语句模块组成的单模块。
首先来复习条件语句和执行值:
以前也提到了看作多个语句的概念,这里我们加深印象。
之前在子条件detect中说明了detect只能向下检测方块,通过stats可以达到向上检测的效果:
如果detect能够向上检测方块,那么可以直接使用
代码:
- /execute @e[name=f] ~ ~ ~ detect ~ ~1 ~ minecraft:wool 15 say 1
但是通过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
*执行值获取
代码:
- /execute @e[name=f,score_a_min=1] ~ ~ ~ say 1
*条件语句输出
效果:

一旦头顶上检测到了红色羊毛,即可输出。
分析:
执行值获取需要设定初始值不需要强调了。
可以将获取testforblock的执行成功次数看作一个语句,
它的值关联条件语句,因此构成了一个单模块,
用于产生f的头顶有红色羊毛输出say 1的对象。
单模块关联的概念十分重要,计分板和实体是关联单模块所有语句的重要方式,因此需要掌握。
附加部分
练习:
- 将stats(第六章)中所有例子按照单模块关联概念理解;
这个不错,我对命令方块不是很精通
虽然,我研究过命令方块...但是....
贰逼说的我完全听不懂啊!
贰逼说的我完全听不懂啊!
本帖最后由 langyo 于 2015-8-8 11:20 编辑
一开始我还犯糊涂,我明明会编程的判断语句,为什么这些个指令看不懂?……
然后我仔细研究了下,发现原来如此简单……
用伪代码说明下吧= =
/scoreboard players set @e[name=f] a 0
是指 int a=0
/stats entity @e[name=f]set SuccessCount @e[name=f] a
是指 if
然后是条件,也就是检查是否执行成功的语句:/execute @e[name=f] ~ ~ ~ testforblock ~ ~2 ~ minecraft:wool 14
检查红色羊毛是否在指定位置
条件是a是否大于等于1(score_a_min=1)
如果成立,就:
then say(1)
2B功夫深不可测,能想到把一个游戏变成一编程语言……
一开始我还犯糊涂,我明明会编程的判断语句,为什么这些个指令看不懂?……
然后我仔细研究了下,发现原来如此简单……
用伪代码说明下吧= =
/scoreboard players set @e[name=f] a 0
是指 int a=0
/stats entity @e[name=f]set SuccessCount @e[name=f] a
是指 if
然后是条件,也就是检查是否执行成功的语句:/execute @e[name=f] ~ ~ ~ testforblock ~ ~2 ~ minecraft:wool 14
检查红色羊毛是否在指定位置
条件是a是否大于等于1(score_a_min=1)
如果成立,就:
then say(1)
2B功夫深不可测,能想到把一个游戏变成一编程语言……
langyo 发表于 2015-8-8 11:20
@贰逼
你这里,除了能if...then...,有没有办法能if...then...else...?
http://www.mcbbs.net/thread-465795-1-1.html
可以将
if else转成
if
else if !
贰逼 发表于 2015-8-8 11:25
http://www.mcbbs.net/thread-465795-1-1.html
可以将
if else转成
多谢= =
以后我会仔细看索引的= =
langyo 发表于 2015-8-8 11:29
多谢= =
以后我会仔细看索引的= =
给你一个比较好的脑洞,用模块制作一个原版的服务器贸易系统吧,逼 ...
模块对于服务器so lag
langyo 发表于 2015-8-8 14:57
so lag?
什么鬼?……
涉及高频比较卡顿,如果没有特殊的处理方法,服务器不达要求无法承受高频
贰逼 发表于 2015-8-8 16:39
涉及高频比较卡顿,如果没有特殊的处理方法,服务器不达要求无法承受高频 ...
那就在需要的时候启动
就是这么简单
而且它实际上只有在运算的时候才需要超频,就几秒的事情
执行完成后就立即关闭其它所有超频,只剩一个超频用来检测