红石玩家,主要讨论一下红石系统与铁路系统结合的可能性。虽然对真正硬核玩家来说冰道或珍珠炮之类是更效率的方法,但我更喜欢矿车这种不用太多操作还能看风景的方式。
那么一个用的舒心的车站,应该是以下流程:进车站,按按钮选目的地,上车后自动发车,送到目的地后自动下车。整个只有选目的地和上车是手动的。那些买票电路,闪烁警示灯,或者几号线几号线那种模拟现实氛围的,倒是可以不必要造。那么,上车自动发车,用检测铁轨或蜘蛛丝之类的很简单,自动下车,用激活铁轨也很简单。难的就是,如何按按钮选目的地后,整个铁路系统能知道你的目的地,并把你送向正确方向呢?
进一步抽丝剥茧,一个铁路系统有很多车站,每个车站有很多结点,我们任意挑两个结点观察,它们可能连了两条线,双向通行,可能连了一条线,单向通行,可能没连线,两个站不挨着。这里两个结点中间的连线不会分叉,要分叉也是在车站里或附近分叉好了。这时候任意车站有若干进站方向,有若干出站方向。注意,由于区块加载限制,这里没有真正的始发站终点站的概念,每个车站都要有发车功能,发车方向可以看成是一种特殊的进站方向。再回来考虑我们的规划路线功能:把车辆发往正确的方向,与车辆是从哪来的无关,所以我们可以把进站车辆都合并。也就是说任一车站可抽象成一个有一个入站方向,和,一个或多个出站方向,的结点
也就是说,按下目的地按钮后,正确路线沿途车站需要知道来车后,把它发往哪个方向。那么我们就要沿着线路发送一条终点站信息。每个沿途车站收到终点信息后,自己计划具体的下一站究竟是哪一站,这个站可能不是终点站,但起码是那个方向。
传送信息可以用红石,但不方便。更好的方法是用箱子矿车,物品分类装置和特殊标识物品。也就是前面一个箱子矿车沿途传输信息,后面人坐矿车跟着。最好跟的近些,人过来了在变道,人走了立马还原,这样这个矿车系统在承载多人使用时不会出问题,只要不是两个人同时进了一个站。
既然每个站要有发车功能,那每个站都要有车库。普通矿车可用仙人掌变成物品储存,箱子矿车可用堆叠矿车储存。
最后可以加点运货功能啊,或者把车票和那个特殊标志物联系起来啊,添加一点维护通道就行了。(这个铁路系统要人维护的,毕竟用了可消耗物品)
最后还是要吐槽mojang的矿车系统写的真烂,不光是表面上功能的乱和缺,也是内部行为充