我的世界命令方块教程瞬间多次调用与执行模块概念
2022-11-14 08:40:16来源:微游游戏平台发布:这野游
小编为大家带来了《我的世界》命令方块教程瞬间多次调用与执行模块概念,这只是一个概念,只是由于我懒得大幅优化和弄生成器才拿出来的,可能大家能帮忙优化一下吧。
就是当ccb被替换成另一个ccb,它是能够马上接受信号的,举个例子
icb:
say start
setblock ~ ~1 ~ 1 replace {Command:"say hi",auto:1b}
say bye
say end
复制代码
假设这cb链是向上的,那么它就会把原本为say bye的ccb变为say hi,当信号到第四个cb也就是被替换了的那个,它能够执行say hi这个指令而不是等下一次有信号才会执行(输出就是start, hi, end)
因此,我们能够得到一个结论: cb的替换是即时的,也就是只替换NBT而不是整个方块替换
其实还有一个特性的,就是替换后的朝向是会被忽略的(数据值和NBT的修改不是同时的?这就不清楚了,然而我们可以肯定的就是不能如此瞬间转向)
可能你会问,这样子有什么用?
我只能说我也不知道,然而我给了一个技术上可行然而麻烦到不得了的概念你们看看吧,就是模块的调用
把需要执行的模块clone进去主要的执行串(主模块)里,做到多次调用同样模块及1gt内执行尽量多的循环类系统
如果剩余空间不足,则会自动把剩下模块放进暂存等待下一个gt执行
**代码块里的那些是懒癌卫士里的表达方式,不懂的话可以来这里看:懒癌卫士
{:
scoreboard players operation @e[name=start] length -= @e[name=(储存模块长度的marker)] length
scoreboard players test @e[name=start] length 1
cond:/clone (该模块坐标) ~ ~ ~1
execute @e[name=start,score_length=0] ~ ~ ~ clone (该模块坐标) (暂存的位置(可能为相对坐标,即暂存里start marker的相对位置))
cond:fill ~ ~ ~ ~ ~ ~20 stone 0 replace chain_command_block 3
//}
复制代码
执行空间完结: 转向
避免被 "fill ~ ~ ~ ~ ~ ~20 stone 0 replace chain_command_block 3"错误删除
执行空间完结的指令是必须执行的,否则就有可能出现bug
{
/scoreboard players set @e[name=start] length 11
/clone (暂存) (执行空间)
mark:blankCount
//先执行scb和stats block (下一个cb的位置) AffectedBlocks @e[name=blankCount,c=1] length
//上方的只需要执行一次,得到stats的链接就可以了
/testforblocks (暂存) (空置的比较用暂存)
//把length = 暂存里空置的地方
/scoreboard players operation @e[name=start] length = @e[name=blankCount] length
fill -12 4 75 -12 4 85 minecraft:chain_command_block 3
//}
复制代码
由于这个系统里,调用模块会把之后的命令覆盖掉,所以我们需要把调用模块之后的命令放进另外一个模块里
(或者在调用的模块里再写一次也可以)
{
say hi
module 1
say bye
}
如果是这种情况,就可以把say bye放进module1,或者是把say bye放进module2,然后在module1最后的地方调用。
而主模块里则不需要写say bye(因为必定会被覆盖)
{
say hi
if (testfor @e[name=pca])
module 1
say bye
}
这种情况应该也是最常见的,就可以把say bye放进module1,并且在主模块也写一次(一共两次)。
或者是把say bye放进module2,分别在主模块和module1里调用。
例子里主模块的长度就十几个ccb,当然真正要做的话就不是那样子了,而是起码一百个,不然这就没什么用了
这样子我们就能尽情的压榨MC的能力,而不会压榨到崩溃
而且也能够更好的做到模块化(虽然是被阉割了的)
当然,现在看来很麻烦,然而我觉得也是那些弄成生成器就会好很多的东西了
可惜的就是这系统很多地方依赖clone,也就是说要作出大量的坐标计算(或者是直接用绝对坐标)
而且这个系统效率也不是一般的低...还需要优化(目前一大堆命令才能调用一个模块)
以上就是我的世界命令方块教程瞬间多次调用与执行模块概念的介绍,希望大家喜欢!
上一篇: 我的世界WorldEdit教程Perlin噪声缩放系数讲解 下一篇: 最后一篇