本帖最后由 林扬骐 于 2017-7-10 15:04 编辑
大家应该都知道fill与clone都只能选择一小片区域,很叫人苦恼,尤其是想修复地图的地图制作者
此方法的思想是化“体”为“线”,利用fill出的带auto的(1.9的nbt)命令方块我估计讲到这里大部分人都会了
大片fill
一般固定格式是这样的:
复制代码假如我想fill出一片51x51x51的石英块,原本该是这样:
复制代码
可是mc仅支持32768(32x32x32)个方块
所以需要另一种方法:
复制代码此方法的思想便是:沿y轴fill出一条“线”,然后“线”上每个“点”(命令方块)都沿x轴fill出一条“线”,于是形成了一个“xy平面”,最后再让这个“面”上每一“点”都沿z轴fill出一条“线”,于是形成了一个“体”
而让命令方块里的指令自施发的“神力”便是1.9版本中命令方块auto:1的nbt(所以用1.8的同学,老老实实fill红石块激活命令方块吧)


于是固定格式出来了(x,y,z,x2,y2,z2可以为绝对坐标):
复制代码
大片clone
clone能取的方块更少,只有4096(16x16x16)
固定格式:
复制代码
在这里,我给出两种方法
方法一:
格式(不太确定的格式)
复制代码注:在最后的x、y、z中,x、y只能为相对坐标(可以对命令进行调整,但始终只有一个坐标轴可以用绝对坐标)
实际操作时,我们会发现会把fill出来的命令方块给包括在内(一起clone了,还会换掉clone区域内一部分方块)
所以,我们会不得不进行一些调整,比如把选择的区域再扩大,并且最后clone的z1进行一些修改什么的……
当然,最后可能还得用fill来清空一次命令方块
(讲得有点晕了……clone这一部分的麻烦的解决方法特别多,就看你想不想得出来了,如果遇到实在解决不了的方法就叫我吧,我还会补充说明的)
方法二:
方法二是利用实体,优点是不会把fill出的命令方块clone下来,但仍有上一个”注”的缺点,步骤:
1.fill出一大片实体(fill实体的方法下面会讲)
2.execute清除fill出的命令方块
3.用execute来clone,完成(别忘了清除实体)
fill实体
很多人都表示实体不能fill,实际上是可以“fill”的(然而我估计大部分人都会)
我用药水云举例子吧(不想要粒子效果的请去掉Particle与WaitTime):
一小片的fill:复制代码一大片的fill(利用之前讲的方法):复制代码当然了,fill完以后记得用execute清空命令方块
这是一小片fill出来的效果(一大片的就不展示了)



(没有粒子效果的话一点也不卡)
于是可以更快地制作点阵然而做点阵的玩家估计一般都知道此方法
好的就是这样,希望大家喜欢这个方法,当然更好是能提出一些意见或建议,谢谢
大家应该都知道fill与clone都只能选择一小片区域,很叫人苦恼,尤其是想修复地图的地图制作者
此方法的思想是化“体”为“线”,利用fill出的带auto的(1.9的nbt)命令方块
大片fill
一般固定格式是这样的:
- /fill x y z x2 y2 z2
- /fill ~ ~ ~ ~50 ~50 ~50 quartz_block
可是mc仅支持32768(32x32x32)个方块
所以需要另一种方法:
- fill ~ ~ ~ ~ ~50 ~ command_block 0 replace {auto:1,Command:fill ~ ~ ~ ~50 ~ ~ command_block 0 replace {auto:1,Command:fill ~ ~ ~ ~ ~ ~50 quartz_block}}
而让命令方块里的指令自施发的“神力”便是1.9版本中命令方块auto:1的nbt(所以用1.8的同学,老老实实fill红石块激活命令方块吧)


于是固定格式出来了(x,y,z,x2,y2,z2可以为绝对坐标):
- fill x y z x y2 z command_block 0 replace {auto:1,Command:fill ~ ~ ~ x2 ~ ~ command_block 0 replace {auto:1,Command:fill ~ ~ ~ ~ ~ z2 quartz_block}}
大片clone
clone能取的方块更少,只有4096(16x16x16)
固定格式:
- /clone x1 y1 z1 x2 y2 z2 x y z
在这里,我给出两种方法
方法一:
格式(不太确定的格式)
- fill x1 y1 z1 x1 y2 z1 command_block 0 replace {auto:1,Command:fill ~ ~ ~ x2 ~ ~ command_block 0 replace {auto:1,Command:clone ~ ~ ~ ~ ~ z2 x y z}
实际操作时,我们会发现会把fill出来的命令方块给包括在内(一起clone了,还会换掉clone区域内一部分方块)
所以,我们会不得不进行一些调整,比如把选择的区域再扩大,并且最后clone的z1进行一些修改什么的……
当然,最后可能还得用fill来清空一次命令方块
(讲得有点晕了……clone这一部分的麻烦的解决方法特别多,就看你想不想得出来了,如果遇到实在解决不了的方法就叫我吧,我还会补充说明的)
方法二:
方法二是利用实体,优点是不会把fill出的命令方块clone下来,但仍有上一个”注”的缺点,步骤:
1.fill出一大片实体(fill实体的方法下面会讲)
2.execute清除fill出的命令方块
3.用execute来clone,完成(别忘了清除实体)
fill实体
很多人都表示实体不能fill,实际上是可以“fill”的(然而我估计大部分人都会)
我用药水云举例子吧(不想要粒子效果的请去掉Particle与WaitTime):
一小片的fill:
- fill ~ ~ ~ ~50 ~ ~50 command_block 0 replace {auto:1,Command:summon AreaEffectCloud ~ ~ ~ {Duration:10000,Particle:"mobSpell",WaitTime:10000}}
- fill ~ ~ ~ ~ ~50 ~ command_block 0 replace {auto:1,Command:fill ~ ~ ~ ~50 ~ ~ command_block 0 replace {auto:1,Command:fill ~ ~ ~ ~ ~ ~50 command_block 0 replace {auto:1,Command:summon AreaEffectCloud ~ ~ ~ {Duration:10000,Particle:"mobSpell",WaitTime:10000}}}}
这是一小片fill出来的效果(一大片的就不展示了)



(没有粒子效果的话一点也不卡)
于是可以更快地制作点阵
好的就是这样,希望大家喜欢这个方法,当然更好是能提出一些意见或建议,谢谢
结论是,真要fill一大片区域还是用mcedit更加划算一点2333.
当然不少人都还不会或者懒得用mcedit所以这个方法还是值得一看的。
当然不少人都还不会或者懒得用mcedit所以这个方法还是值得一看的。
Deing 发表于 2016-2-26 22:24
结论是,真要fill一大片区域还是用mcedit更加划算一点2333.
当然不少人都还不会或者懒得用mcedit所以这个方 ...
系统里如果需要大范围的话就需要这个方法
那就不是mce能做的了,因为那不是预设的而是游戏途中修改的
二维码。。。
其实就是fill出一堆自动执行的CB,然后每个CBfill一部分?
挺好的思路,有助于方便的解决大规模地图建造,加油( ?▽` )?
。。。。。。。
。。。。。。。。。。
fill实体有趣 不过只能在空旷时用,设计之前得考虑好,不然毁图
(大面积生成实体还是烦人)
(大面积生成实体还是烦人)
看起来好厉害....
所以。。。。。这是好思路???
为何1.12.2不行,有没有适合1.12.2的方法