大家好,今天讲下如何用指令方块做一个单输出随机器和原理。首先声明这是国外的Dragnoz的创意,并非本人原创。大家可能看见上次本人做了个指令方块抽奖机,也是用的这个原理。原理就是用刷怪笼。因为刷怪笼每次刷出生物的位置都是随机的,所以可以利用这个随机做个随机器。当然,随机器里刷的不是任何生物,而是刷出掉落沙红石块。掉落地点被锁定到了几个输出的位置,所以红石块只会刷到输出位置,而不会随便乱刷。还有个好处是输出可以无限制的加大。(不推荐装在只有少量输出的随机器里,这个随机器可以支持多余20多个输出。)





这个装置很有用,可以做大型电路什么。给大家参考下指令,这条指令是10个输出的指令:
  1. /setblock ~ ~-2 ~ minecraft:mob_spawner 0 replace
  2. {MinSpawnDelay:10,MaxSpawnDelay:10,SpawnCount:1,Delay:1,RequiredPlayerRange:100,MaxNearbyEntities:1,SpawnRange:1,EntityId:FallingSand,SpawnPotentials:
  3. [{Type:FallingSand,Properties:{Pos:[-422.5,57.0,-254.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  4. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-255.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  5. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-256.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  6. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-257.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  7. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-258.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  8. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-259.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  9. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-260.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  10. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-261.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  11. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-262.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1},
  12. {Type:FallingSand,Properties:{Pos:[-422.5,57.0,-263.5],Time:50,DropItem:0,TileID:152,EntityId:FallingSand},Weight:1}]}
复制代码
大家看见,指令里大部分都是复制粘贴。也就是有几个输出就复制粘贴几遍(这条指令不会讲太多,详情请看本人的指令方块自定义刷怪笼教程)。唯一变换的是坐标,也就是Pos后面的坐标。这些坐标是输出点位置的坐标。如果有10个输出,那么这些输出所有的位置都要打进指令里。指令方块会让刷怪笼锁定这些坐标,这样刷怪笼就会每次随机选择一个输出刷了。当然,输出器也要有讲究。因为是刷怪笼,而且这个刷怪笼的速度也较快,所以输出器要做两件事:当一个输出开启后,会立即清空刷怪笼,以防刷出第二个红石块。之后用红石块给出输出,然后再把红石块清空。大家看见刷怪笼里的延迟都是10,这里面也有讲究,不可以太快。太快的话会让输出器无法在打开输出后清空刷怪笼,导致每次开启后都会打开2个或更多的输出。当然如果大家要每次输出都开启2个的话,可以自己手动调节延迟,但是单输出就是10。输出器截图:

大家看见这个输出器是一排的,有2排指令方块。指令方块的用处就是清空刷怪笼和红石块。之后后面的中续器会在红石块清空以前接收到信号,给出输出。当然,大家也可以锁定任何一排指令方块,让其无法正常工作。如果锁定清空刷怪笼的一排指令方块的话,那么刷怪笼就不会清空,导致会一直的刷。这样子可以变成全自动模式,不需要任何激活。如果锁定清空红石块的话,那么每次红石块刷出后就不会被清空,而刷怪笼每次刷出红石块时只可以刷在有空气的地方,无法刷出在方块内,最终的效果是让随机器不会两次开启同一个输出。





当然,这个随机器也像其他随机器一样,可以自定义几率。这里是用Weight这个NBT制作的。大家看见本人指令里的Weight都是1,也就是说每个输出都由相同的几率。Weight越高,该输出坐标刷出红石块的几率也越大。


Dragnoz视频原地址:http://www.youtube.com/watch?v=k86p2UdsMKc


===========All Credits Goes To Dragnoz========
==========END==========