LBL_CB
灵感来源



我在帮助 @彪悍的新手 建筑 现代城市RPG地图 的时候,我和 @阴阳师元素祭祀 吵起来了,吵的时候他说了,你这个可以自定义次数吗?然后我做出了原版的 //stack 指令



原理



先放效果图











第二张图片左右的两个道路长度是6000格

核心原理就是自我复制结构方块







先来看最简单的例子

左下角的结构方块是保存的,右边的结构方块是加载的。命令方块里的指令是 /fill ~ ~ ~ ~ ~-2 ~ air 并且是保持开启模式,加载类型的结构方块的相对坐标是图片中的右边1格加往下2格。然后保存即可,这样子保存,加载出来的效果就是一刻完成所有的自我复制,效果就是第二张图片的样子

命令方块里的指令是为了把结构方块以及自己和红石块删除,因为加载好就不需要它们了















值得提一点的是,结构方块加载的时候,游戏刻是停止的,和fill大面积填充方块的效果是一样的(效果和乙烯很早之前发的帖的效果是一样的——MC中的时停法),并且结构方块在游戏刻停止的时候依然是可以工作的,如果游戏刻停止的时候结构方块不工作的话,那么一刻完成所有的自我复制就不存在了。命令方块是一刻执行一次命令,所以,命令方块把结构方块删除的时候,结构方块以及完成了所有的自我复制。在演示存档中如果你怎么做,就可以体会到了,但填充的方块不够多,游戏刻停止的时间一秒都不到,你可以通过看我演示存档里的右边的计分板来观察游戏刻是否停止了。







下面这些例子是慢速地自我复制,这样子,过程就会变得非常的直观














(此gif由 @彪悍的新手 制作)





这里的命令方块全部是保存开启,除了最左边的命令方块!xyz的正方向你可以通过看结构方块的区域线条来了解

最上面的命令方块是 /fill ~ ~ ~ ~ ~-1 ~ air

最左边的命令方块是 fill ~ ~ ~ ~ ~-1 ~1 air

中间的命令方块是 /summon FallingSand ~ ~5 ~ {Tile:152,Time:1}

这样子保存,加载后的效果就是天上掉红石块,红石块掉到中间的命令方块的位置,激活结构方块和左边的命令方块,结构方块和命令方块就消失,同时完成一次自我复制









下面这个是一刻自我复制一次









全部命令方块是保持开启

上面的命令方块是 fill ~ ~ ~ ~ ~-2 ~ air

下面的命令方块是 setblock ~ ~ ~ minecraft:redstone_block

下面的结构方块是往右1格,往下1格

正如我说的,命令方块是一刻执行一次的,所以这个方案是一刻完成一次自我复制的












再值得一提的是,如果顺序颠倒,就不可以做到多次自我复制的效果

上面的结构方块是往右1格,往下3格

中间的命令方块是 setblock ~ ~ ~ minecraft:redstone_block

下面的命令方块是 fill ~ ~ ~ ~ ~2 ~ air

这样子加载的效果是下面这幅图的样子

为什么会这样呢?原因在与底下的命令方块fill指令先执行与结构方块,这样子结构方块和命令方块都消失了,结构方块没有被激活就被删除了。所以要结构方块自我复制,必须把顺序弄对,执行顺序的规则和1.8那个时代的微观延迟是一样的,取决于xyz坐标,这里就不详细说了(贰逼的帖子曾经将过 高频与超频执行顺序





















最后这个就是实现//stack加次数的方法了













这里的命令方块全部是保持开启,有计分板1a,假名count

命令如下,按照执行顺序

  1. /scoreboard players add count 1a 1
  2. /scoreboard players test count 1a 0 5
  3. setblock ~ ~-1 ~2 minecraft:redstone_block
  4. /blockdata ~ ~ ~-1 {auto:0b}
  5. /scoreboard players set count 1a 1
  6. fill ~ ~ ~-1 ~ ~-2 ~5 air
复制代码



想要自定义自我复制的次数,需要改第二个命令方块最后一个数字

改多少就复制多少。具体内容演示存档里有。

这个是一刻完成一次复制,想要自定义次数,不可以一刻直接完成,这是不可能的。










最后是下载地址 演示存档















来自群组: The Command's Power

Rain_Effect
挺好的,虽然我之前一直用的就是/clone和/fill之类的

star_dada
阴阳师也跟我吵过很多次,但是并没有像你弄出了名堂

chyx
我很久以前做过http://www.mcbbs.net/forum.php?mod=viewthread&tid=587106
很像你这个 都容易溢出
您看一看 参考参考

LBL_CB
吕乐乐 发表于 2016-8-31 13:29
所以说,你为了证明自己是对的,
花了大把的时间做了这个东东?
...

什么叫大把时间,时间不多。证明没有什么不好的

pca006132
看到开头害得我在不停的想怎么1gt内用stb检查分数。。。
不过刚想到一个方法,有空的话就去试试然后发帖

爱心魔王FHC
本帖最后由 FHC红石 于 2016-8-31 15:53 编辑

//stack的创世神指令建议讲下是什么用的,毕竟有些人没玩过
卡死了结构方块还能工作?2333
都叫兽不是数据恢复软件吗,为什么右下角有???
还有GIF的结尾不切掉???@彪悍的新手
建议可以说明下落沙的高度可以根据电脑配置自己调整
话说如果太远了区块不加载就不能用了吧(所以要跟着?加个tp?)
——————————————————————————————————————
@阴阳师元素祭祀
我和你说过了在小组你会炸的

LBL_CB
FHC红石 发表于 2016-8-31 15:52
//stack的创世神指令建议讲下是什么用的,毕竟有些人没玩过
卡死了结构方块还能工作?2333
都叫兽不是数 ...

太远就不加载,直接删除
否则就有无尽之路了

纱夜
问题是的确是不行
只需要一点距离呢
破坏地形了咋办
我玩红石有时候需要stack 1
还不如clone
233

---------------------
看到最后是可以加次数
我只想说好麻烦
还是我大clone好


纱夜
本帖最后由 阴阳师元素祭祀 于 2016-8-31 16:06 编辑
FHC红石 发表于 2016-8-31 15:52
//stack的创世神指令建议讲下是什么用的,毕竟有些人没玩过
卡死了结构方块还能工作?2333
都叫兽不是数 ...


恩= =
然而是ta问我能不能做的
我回答是不能
除非移动结构方块
问题是ta就是移动结构方块来做的

话说你@蓝了在把我叫来= =


@@FHC红石
你回复时结尾是不是带了某s
我这没添加划线怎么划掉了233

LBL_CB
阴阳师元素祭祀 发表于 2016-8-31 16:00
问题是的确是不行
只需要一点距离呢
破坏地形了咋办

我就知道你会说这种

star_dada
其实不不明白stack的意思

leich123
真心不错{:10_512:}

Java_command
先给我解释一下//stack是啥行吗……