跑跑车首页

当前位置:首页攻略秘籍单机攻略 → 我的世界命令方块教程1.9自定义延迟CB脉冲制作方法

我的世界命令方块教程1.9自定义延迟CB脉冲制作方法

作者:佚名来源:本站整理 发表时间:2016/3/28 8:46:35 评论(0)

小编为大家带来了《我的世界》命令方块教程1.9自定义延迟CB脉冲制作方法,今天来讲解一下一种可以自定义延迟CB脉冲的方法,大家知道,1.9的RCB(Repeating Command Block)开启后会以20Hz的速度激活。在一些电路中这个速度可能会太快,所以需要一些又不用中继器而又可以自定义延迟的CB脉冲。这个设计的核心电路来自lorgon111的这个u2b视频。

扫描二维码或加公众号 mcpe_ppc ,关注跑跑车《我的世界》公众号,更加方便的查看你想要知道的事情。

首先这种设计的原理是使用1.9最新的AEC实体。有些人可能会问什么是AEC,AEC就是1.9中lingering药水扔出去后在地面产生的一个药水覆盖区域。它时间一到后会自己删除自己,所以不需要任何清空系统。AEC含有一个{Age},它会以每tick +1的速度上升,所以这个机器的核心就是使用{Age}来记时。这个系统不需要任何积分板变量,只需要积分板的tag即可完成。

首先我们需要做准备工作,完成脉冲需要激活的系统。这里本人直接使用/say 1这条指令。将/say 1输入到一个普通CB中,然后在其后面放一个Chain Command Block,如下图:

注意,后面的Chain CB要被调成Always Active,这样子它就可以无限红石而自己激活。之后这个CCB内的指令是在它后面的CB位置内刷出一个AEC。这个很简单,指令格式是:

/summon AreaEffectCloud <x> <y> <z> 

{CustomName:"Delay",Tags:["DelayStart"],Age:-3}

复制代码

这里的xyz大家自己填写,比如如果这个CCB在往它后面的ICB的x+1的地方,那么坐标就是 ~-1 ~ ~ 。由于本人不知大家再往什么方位建造,所以无法完善指令中xyz坐标。所以如果每次激活这个机器,第一个CB就会执行“/say 1”,然后第二个CCB就会在第一个CB的位置刷出一个AEC。这个AEC就是那个CB的定时器。大家看见本人这里的Age写的是-3,但是大家可以写任何一个数字都没关系。数字越小(比如-100)延迟的时间就越长。效果图如下:

大家看见第一个CB成功执行了/say 1,然后后面的CCB成功的在第一个CB那里刷出了一个AEC(因为有黑色颗粒效果)。

在刷出AEC的指令中还有{Tags}这一项,这个是来将刷出的AEC自动加入到名叫“DelayStart”的这个积分板tag中。由于积分板的tag系统不需要像objective那样一开始就要定义,所以这个{Tags}不需要任何积分板的准备工作。

之后我们要做的就是,每次这个AEC的{Age}变成-1的时候,我们就要重新并且自动的激活一下第一个CB,之后第一个CB又会输出1,然后第二个CB又会刷出一个AEC,然后无限循环下去。所以我们需要另外一个系统来完成这个效果。首先我们需要一个Repeating CB,里面输入以下指令:

/scoreboard players tag @e[tag=DelayStart,type=AreaEffectCloud,name=Delay] add DelayDone 

{Age:-1}

复制代码

这条指令的意思是,将所有Age是-1,并且名字叫“Delay”而且在“DelayStart”这个tag内的AEC,加入到一个叫“DelayDone”的积分板tag中。由于刚才刷出AEC指令中的项目都符合以上选择器的项目,所以这条指令就会不停地探测刚才刷出的AEC,然后它的Age一到-1就会给它加上“DelayDone”这个tag。之后才是真正的循环系统。在Repeat CB后面再放2个Chain CB,如下图:

之后在中间的那个CCB中输入:

/execute @e[tag=DelayDone,type=AreaEffectCloud,name=Delay] ~ ~ ~ /blockdata ~ ~ ~ 

{auto:1b}

复制代码

这条指令的意思就是将刚才已经添加到“DelayDone”的AEC实体的所在位置的CB调成{auto:1b}。这个意思是CB自己自动激活。然后在最后一个CCB中输入:

/execute @e[tag=DelayDone,type=AreaEffectCloud,name=Delay] ~ ~ ~ /blockdata ~ ~ ~ 

{auto:0b}

复制代码

这条指令和刚才一样,只不过是重新把那个CB调成了{auto:0b},也就是不会自动激活。所以最终效果是,只要脉冲的那个CB中一有AEC,他就会自动激活一次然后又关闭自己。但是它后面的CCB会又刷出这个AEC实体。到最就成了一个自定义延迟的脉冲。所以现在只要开启这个RCB就可以了,然后给脉冲的CB输入很短一tick的红石信号,如下图:

这样子这个自定义脉冲就完成了。之后如果大家要改变速度的话,就直接调节刷出AEC的那条指令中的{Age}。调成越小延迟就越大。有些玩家会问有什么要给开始的CB一个很短的的输入,而不能直接按按钮。这是因为如果脉冲速度很快的话,直接按按钮会导致那个CB强行卡在激活状态,从而导致那个CB失效。所以我们必须要给它一个很短tick的红石输入。之后要关闭这个脉冲的话直接停止激活那个RCB就行了。当然不光只是只能激活一个CB,可以同时激活好几个,比如这里本人同时激活了5个CB,执行从/say 1到/say 5:

要同时多个CB的话,只需要把刷出AEC的CCB放在最后面就可以了。然后把坐标改成第一个CB就行。


玩家评论
我要点评

网名 注:您的评论需要经过审核才会显示出来。

已有 0 位玩家参与点评
第 1 楼 广东深圳电信 跑跑车网友 发表于: 2016/12/22 18:58:11
我第一步就不行了,我做的貌似没错,但那个脉冲的命令方块没有冒烟,这是什么情况

支持( 0 ) 盖楼(回复)

查看所有0条评论>>

下载排行