本帖最后由 PotatoMaster101 于 2015-10-14 22:26 编辑

大家好。今天就发一个短贴,来讲解一下1.9的单指令执行多条指令的新方法。由于1.9的Riding被删了,有一些单指令系统已被损坏。今天本人花了10分钟研制出了一个新的单指令方法。(版本最好在15w41a+)

-------------正题--------------
首先给大家看下格式:
  1. /summon FallingSand ~-2 ~ ~
  2. {Time:1,Block:"minecraft:redstone_block",Passengers:[{id:"FallingSand",Time:1,Block:"minecraft:activator_rail",Passengers:[{id:"MinecartCommandBlock",Command:"/say 1",CustomName:"First"},{id:"MinecartCommandBlock",Command:"/say 2",CustomName:"Second"},{id:"MinecartCommandBlock",Command:"/say 3",CustomName:"Third"},{id:"MinecartCommandBlock",Command:"/say 4",CustomName:"Fourth"},{id:"MinecartCommandBlock",Command:"/say 5",CustomName:"Fifth"},{id:"MinecartCommandBlock",Command:"/say 6",CustomName:"Sixth"},{id:"MinecartCommandBlock",Command:"/say 7",CustomName:"Seventh"},{id:"MinecartCommandBlock",Command:"/say 8",CustomName:"Eighth"},{id:"MinecartCommandBlock",Command:"/say 9",CustomName:"Nineth"},{id:"MinecartCommandBlock",Command:"/say 10",CustomName:"Tenth"},{id:"MinecartCommandBlock",Command:"/setblock ~ ~-1 ~ minecraft:lava 7 replace"},{id:"MinecartCommandBlock",Command:"/fill ~ ~ ~ ~ ~-1 ~ minecraft:air 0 replace"}]}]}
复制代码
这个就是指令总体。主要用新的{Passengers}这个标签来制作的。由于以前的{Riding}被删了,所以导致了一些单指令系统坏掉。这个Passengers我将不会多做解释(把机会留给其他的教程户)。
因为用了Passengers,这条指令的运行速度将会比以前旧版的快很多,来减少卡顿(原理还是指令方块矿车)。指令方块矿车的激活一般是瞬间的,然后瞬间清场。但是在这瞬间的过程中,指令方块矿车并不会打乱激活顺序,所以这点可以放心。

-------------指令分拆------------
第一部分
  1. /summon FallingSand ~-2 ~ ~
  2. {Time:1,Block:"minecraft:redstone_block",Passengers:[{id:"FallingSand",Time:1,Block:"minecraft:activator_rail",Passengers:
复制代码
这是指令的开头,也就是本人花了10分钟研制的地方。主要用的指令方块矿车来达到多指令这个效果。这一部分用处就是刷出红石快和铁轨,给指令方块矿车做激活准备。

第二部分(多指令部分):
  1. [{id:"MinecartCommandBlock",Command:"/say 1",CustomName:"First"},{id:"MinecartCommandBlock",Command:"/say 2",CustomName:"Second"},{id:"MinecartCommandBlock",Command:"/say 3",CustomName:"Third"},{id:"MinecartCommandBlock",Command:"/say 4",CustomName:"Fourth"},{id:"MinecartCommandBlock",Command:"/say 5",CustomName:"Fifth"},{id:"MinecartCommandBlock",Command:"/say 6",CustomName:"Sixth"},{id:"MinecartCommandBlock",Command:"/say 7",CustomName:"Seventh"},{id:"MinecartCommandBlock",Command:"/say 8",CustomName:"Eighth"},{id:"MinecartCommandBlock",Command:"/say 9",CustomName:"Nineth"},{id:"MinecartCommandBlock",Command:"/say 10",CustomName:"Tenth"},
复制代码
这里是控制激活指令的地方。指令会从上到下的顺序激活。这里想有多少指令都可以,本人这个例子是10个,但是测试了1个指令也照样可以运行。这里也不多做解释了,大家要玩的话就自己改下{Command}标签里的指令(本人还加入了{CustomName}标签,其实没什么必要,是本人在测试的时候看效果的而已)。这里最多就是复制粘贴的活。

第三部分(清场):
  1. {id:"MinecartCommandBlock",Command:"/setblock ~ ~-1 ~ minecraft:lava 7 replace"},{id:"MinecartCommandBlock",Command:"/fill ~ ~ ~ ~ ~-1 ~ minecraft:air 0 replace"}]}]}
复制代码
这里也不多说了,就是先把矿车烧掉,以防重复激活,然后再把场地用/fill清了。这样不会留下激活痕迹。

到这里结束了吧。感谢PCA带来的Passengers的测试
========END=======
(其实本人现在在写这种指令格式的生成器,内测中)