我的世界中国版NWT电子钟如何合成 我的世界中国版官网入口
相信有很多兄弟对于我的全球中国版NWT电子钟如何合成 NWT电子钟制作以及运用教程这一难题有很多不懂的地方。因此,小编今天就特地来为大家讲讲这一方面的姿势内容,希望能够对大家有所帮助。
许多玩家都了解我的全球游戏特别好玩,我的全球也有特别多的顶级操作。你了解NWT丨分数转方块怎样在MC里做壹个电子钟吗?本篇教程基于1.8版本。至于何故不用高版本的mc呢?由于这是去年做的物品。各位小伙伴们一定要学会喲,接下来就由小编就带大家详细了解一下这个难题。
更多物品合成都可以在我的全球合成表内查询:
先放壹个图:
正如图中所见,空中有壹个时钟,每过一分钟末位就会+1,到了60会自动进一小时。
其实时刻是三个计分板(作者懒,可以做成壹个计分板,为了更加好区分,这里用三个计分板)分别是s(秒)min(分钟)h(小时)
那么这个时钟只显示小时和分钟,因此只把小时和分钟两个积分转换到方块就可以了。
那么重点来了,怎样把积分转换成方块呢
当然是clone,大家需要壹个被clone的区域:
这是十个已经摆好的数字(0到9),到时候需要哪壹个,就clone哪壹个
我的全球中国版NWT电子钟如何做
假如我有壹个五位数的积分,这个五位数从00000到99999都有也许,那么想要表示全部的数字,需要穷举100000次才能做到,显然这个职业量是不允许的。
然而如果能把五位数拆成五个数,比如把12345拆成1、2、3、4、5,无个数字位,那么每个数字位需要穷举10次,五个数字位只要50次就可以了,减少了很大职业量。
如果壹个分数是abcde,(abcde各代表壹个数字)那么将abcde/10=abcd??????e(得数是abcd,余数是e)这样就得到了个位数e,再将得数abcd/10=abc??????d,这样就得到了十位数d,依次除以10四次,就能得到全部五个位数。再将每个位数穷举10次,就能完成分数到方块的转化了。
下面来具体说一下时钟所用的指令(此时钟有个缺陷,由于命令方块不能把PC时刻调进来,因此每次从头进入存档需要调表,只有一直开着存档或者服务器才能维持时钟一直运转)
首先想要时钟精确运转,就需要精确的计算一秒钟,可以运用fill高频,让加分指令每秒运行20次,每加20分加一秒
(计分板等自行创建,在此只说原理)
/scoreboard players add @e[type=ArmorStand,r=3,name=js] FX 1
/execute @e[name=js,type=ArmorStand,score_FX_min=20,score_FX=20] ~ ~ ~ /setblock ~ ~ ~-5 redstone_block
/scoreboard players set @e[type=ArmorStand,r=3,name=js,score_FX_min=20,score_FX=20] FX 0
复制代码
大家暂且吧这个红石块连接的电路称为每秒执行一次的命令区A
即为每过一秒,就在图示位置放置壹个红石块,之后连接命令方块清除红石块(/setblock ~-2 ~ ~ air)
之后召唤壹个名为BJSJ的盔甲架来存时刻:
<div class=”blockcode”><blockquote>/summon ArmorStand ~ ~ ~ {CustomName:”BJSJ”,CustomNameVisible:1b,NoGravity:0,Invisible:1}
复制代码
同时在每秒执行一次的命令区A连接下列四个命令方块
/scoreboard players add @e[type=ArmorStand,name=BJSJ] s 1
/execute @e[score_s_min=60,type=ArmorStand,name=BJSJ] ~ ~ ~ /scoreboard players set @e[type=ArmorStand,name=BJSJ] s 0
/execute @e[score_min_min=60,type=ArmorStand,name=BJSJ] ~ ~ ~ /scoreboard players set @e[type=ArmorStand,name=BJSJ] min 0
/execute @e[score_min_min=60,type=ArmorStand,name=BJSJ] ~ ~ ~ /scoreboard players add @e[type=ArmorStand,name=BJSJ] hour 1
复制代码
这样就完成了在BJSJ盔甲架上的计时,然而此时在此盔甲架上有三个积分:两位数的hour,两位数的min,两位数的s,抛去s不用转换为方块,大家需要把min和hour两个积分分别转换为两个个位数。
在每秒执行一次的命令区A另外防止壹个命令方块:
/execute @e[name=BJSJ,type=ArmorStand,score_s_min=1,score_s=1] ~ ~ ~ /setblock 96 3 91 redstone_block
复制代码
此setblock放置的红石块每分钟才会放置一次,大家暂且把这个红石块连接的电路,称作每分钟执行一次的命令区B
此时需要再次召唤四个盔甲架,分别来存储hour的个位,十位、min的个位,十位。
/summon ArmorStand ~ ~ ~ {CustomName:”BJSJM”,CustomNameVisible:1b,NoGravity:0,Invisible:1}
/summon ArmorStand ~ ~ ~ {CustomName:”BJSJM1″,CustomNameVisible:1b,NoGravity:0,Invisible:1}
/summon ArmorStand ~ ~ ~ {CustomName:”BJSJH”,CustomNameVisible:1b,NoGravity:0,Invisible:1}
/summon ArmorStand ~ ~ ~ {CustomName:”BJSJH1″,CustomNameVisible:1b,NoGravity:0,Invisible:1}
复制代码
在命令区B首先把BJSJ在min和hour上的分数存到刚刚创建的四个盔甲架上方便后续运算:
/scoreboard players operation @e[type=ArmorStand,name=BJSJH] hour = @e[type=ArmorStand,name=BJSJ] hour
/scoreboard players operation @e[type=ArmorStand,name=BJSJM] min = @e[type=ArmorStand,name=BJSJ] min
/scoreboard players operation @e[type=ArmorStand,name=BJSJH1] hour = @e[type=ArmorStand,name=BJSJ] hour
/scoreboard players operation @e[type=ArmorStand,name=BJSJM1] min = @e[type=ArmorStand,name=BJSJ] min
复制代码
创建壹个名为10的盔甲架,并把它在FX记分板上的分数设定为10,用来当除数
/summon ArmorStand ~ ~ ~ {CustomName:”10″,CustomNameVisible:1b,NoGravity:0,Invisible:1}
/scoreboard players set @e[type=ArmorStand,name=10] FX 10
复制代码
之后连接另外四个命令方块分别计算出小时和分钟的个位十位
/scoreboard players operation @e[type=ArmorStand,name=BJSJH] hour /= @e[type=ArmorStand,name=10] FX
/scoreboard players operation @e[type=ArmorStand,name=BJSJM] min /= @e[type=ArmorStand,name=10] FX
/scoreboard players operation @e[type=ArmorStand,name=BJSJH1] hour %= @e[type=ArmorStand,name=10] FX
/scoreboard players operation @e[type=ArmorStand,name=BJSJM1] min %= @e[type=ArmorStand,name=10] FX
复制代码
为了新人能看懂,在此稍作讲解/scoreboard players operation <选择器一> <记分板一> <运算方法> <选择器二> <记分板二> 该指令能对两个积分进行运算,运算结局最终会存到选择器一上,即选择器一在记分板上的分数会变为此指令运算的结局,/=为除法求得数,%=为除法求余数。
我的全球中国版NWT电子钟有啥子用
到此大家就得出了时钟上的四个数字,只要把每一位穷举10次即可
穷举举例如下:
/testfor @e[type=ArmorStand,name=BJSJM,score_min_min=1,score_min=1]
连接相对器
/clone x y z x1 y1 z1 x2 y2 z2
复制代码
即为检测在分钟个位上数字是否为一,如果是,则执行后续指令clone数字1到指定位置
如此重复40次(整理一下坐标复制粘贴很快的)
最终效果如下:
想要调整时刻直接调整BJSJ的相应分数即可
/scoreboard players set @e[type=ArmorStand,name=BJSJ] s 00
/scoreboard players set @e[type=ArmorStand,name=BJSJ] min 00
/scoreboard players set @e[type=ArmorStand,name=BJSJ] hour 00
复制代码
这样壹个时钟就大功告成啦~\(≧▽≦)/~
红石基础系列:[红石] [红石块] [红石脉冲] [红石火把] [红石中继器]
红石创作系列:[水动电梯] [双给铁门] [直升降机] [热微波炉][热发射器]
红石自动系列:[自动铺轨机] [自动造雪机] [小麦割菜机] [自动烤肉机]
如转载涉及版权等难题,请作者和我司联系,我司将在第一时刻删除或付款稿酬。