TrainCarts/自动寻路机制
介绍
通过自动切换轨道,列车理论上可以到达 Minecraft 世界中的任何位置。通过放置控制牌来配置轨道网络拓扑,预先配置的列车将遵循该拓扑来到达目的地。
列车到达的地点被称为目的地,由目标牌指定。切换轨道的位置以及终点的位置被称为节点,由转辙器指定。如果要强制某段轨道路线只能单向行驶,可以设置阻挡器来阻挡反方向驶来的列车。
开始
指定目的地
可以在目标牌的第三行输入目的地的名称,第四行可以填写新的目的地名称来为经过的列车设置新的目的地,但你也可以留空不设置。
指定切换节点
轨道分叉口应该放置一个始终开启的转辙器。当有一辆设置了目的地的列车经过时,转辙器会计算出一条路线,然后切换轨道。
强制单向行驶
当希望某条轨道上只能单向行驶时,可以使用始终开启的阻挡器,这个方法在有并排的轨道上时很有用,每条轨道只能沿着一个方向行驶,路线查找会自动忽略被阻挡器阻挡的路线,使之不会出现驶错轨道的问题。
测试一下
在轨道上放置一辆矿车,并使用目的地指令设置一个目的地:
/train destination [名称] /train destination output
现在将矿车推到转辙器,观察它是如何切换轨道,并发往目的地的。你可以再次设置目的地,并推向转辙器。可以继续尝试多个转辙器、阻挡器和目标牌。
如果出现转辙器发错方向等问题,可以使用重置调度指令进行强制重新计算调度路线。
/train reroute
也可以使用属性牌设置目的地:
高级设置
一旦理解了基础系统的运作,那就可以进一步讨论更高级更复杂的功能了。
有用的侧功能
保持区块加载
当列车上没有任何玩家且周围没有玩家加载区块时,可以开启列车的保持区块加载属性来防止列车被游戏卸载。
在属性牌上你可以这样写:
或你可以创建一辆列车,使用/train keeploaded true
并通过/train save <名称>
来将列车保存在这个已保存的名称下。你可以使用生成器批量生成这个名称的列车。
等待距离
为了避免列车碰撞且保持列车之间的距离,可以使用等待距离属性。
闭塞区间
闭塞区间能避免交叉路口内的列车碰撞。
车站调度
车站可以将列车发往下一个目的地。
调试
插件提供了一个调试棒,用于显示路线查找的信息。使用调试棒单击轨道,会显示轨道有关路线的信息。潜行(Shift)并单击轨道,会重新调度,从点击的铁轨开始重新计算路线。如果你有多个较小的交通网络,使用调试棒也许能比使用指令更加高效。
所有目的地
使用以下指令获取调试棒(用于显示铁轨到所有目的地的路线):
/train debug destination
沿着选中的铁轨寻找,直到找到交通网络中的节点,之后列出所有可以调度的目的地。所有的目的地都会列出与轨道间的总距离,并显示沿路线的粒子。如果你发现有某个目的地没有列出,你可以沿着轨道走,偶尔单击一下来检查是哪个位置出现了中断。
单个目的地
使用以下指令调试特定目的地:
/train debug destination [目的地]
现在单击铁轨时会显示到达目的地的粒子路线。这在调试目的地时很有用,这样不会显示与你无关的调度路线和目的地。
调度管理
通常一次设置一个目的地。可以在目标牌上输入下一个目的地,但是只能有一条路线。使用调度管理器,可以配置需要访问的目的地列表,并应用到列车上。列车会依次前往列表中的目的地,到达目的地后会继续前往下一个目的地。
Commands
First, edit a train, then use the following commands to set a list of destinations:
/train route set [destination1] ([destination2] [destination3...]) /train route set outpost hillfort dungeon
To add additional destinations to the existing route, or to remove them, use these commands:
/train route add [destination1] ([destination2] [destination3...]) /train route remove [destination1] ([destination2] [destination3...])
You can then use the destination command or property to start the route at a desired destination. Otherwise, the route is started from the beginning the moment the train hits a destination sign. To inspect the route of a train, use the base route command. The current destination the train has is highlighted green.
/train route
Persistence
The route of a train can be saved globally under a name so it can later be applied to other trains instantly.
/train route save [name]
To load a saved route, this command can be used:
/train route load [name]
Alternatively, it can be done using a property sign as well: