/PathFinding
 (Created page with "也可以使用属性牌设置目的地:")  | 
				 (Updating to match new version of source page)  | 
				||
| (52 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
<languages/>  | <languages/>  | ||
== 介绍 ==  | == 介绍 ==  | ||
[[Image:Pathfinding.png|thumb|right|设置三个目的地和一个转辙器来调度列车。]]  | [[Image:Pathfinding.png|thumb|right|设置三个目的地和一个转辙器来调度列车。]]  | ||
通过自动切换轨道,列车理论上可以到达 Minecraft   | 通过自动切换轨道,列车理论上可以到达 Minecraft 世界中的任何位置。通过放置控制牌来构建轨道网络架构,预先配置的列车将遵循该架构自动寻路到目的地。  | ||
列车到达的地点被称为''目的地'',由[[Special:MyLanguage/TrainCarts/Signs/Destination|目标牌]]指定。切换轨道的位置以及终点的位置被称为''节点'',由[[Special:MyLanguage/TrainCarts/Signs/Switcher|转辙器]]指定。如果要强制某段轨道路线只能单向行驶,可以设置[[Special:MyLanguage/TrainCarts/Signs/Blocker|阻挡器]]来阻挡反方向驶来的列车。  | 列车到达的地点被称为''目的地'',由[[Special:MyLanguage/TrainCarts/Signs/Destination|目标牌]]指定。切换轨道的位置以及终点的位置被称为''节点'',由[[Special:MyLanguage/TrainCarts/Signs/Switcher|转辙器]]指定。如果要强制某段轨道路线只能单向行驶,可以设置[[Special:MyLanguage/TrainCarts/Signs/Blocker|阻挡器]]来阻挡反方向驶来的列车。  | ||
| Line 17: | Line 14: | ||
=== 指定目的地 ===  | === 指定目的地 ===  | ||
可以在目标牌的第三行输入目的地的名称,第四行可以填写新的目的地名称来为经过的列车设置新的目的地,但你也可以留空。  | |||
<gallery mode="slideshow">  | <gallery mode="slideshow">  | ||
File:Pathfinding_Destination.png|车站与目标牌。当列车到达此地时,会停留30秒,然后向右驶出。  | File:Pathfinding_Destination.png|车站与目标牌。当列车到达此地时,会停留30秒,然后向右驶出。  | ||
| Line 27: | Line 24: | ||
轨道分叉口应该放置一个始终开启的转辙器。当有一辆设置了目的地的列车经过时,转辙器会计算出一条路线,然后切换轨道。  | 轨道分叉口应该放置一个始终开启的转辙器。当有一辆设置了目的地的列车经过时,转辙器会计算出一条路线,然后切换轨道。  | ||
<gallery mode="slideshow">  | <gallery mode="slideshow">  | ||
File:Pathfinding_Switcher.png|  | File:Pathfinding_Switcher.png|转辙器会自动切换轨道,决定列车要前往的任何 3 个方向。  | ||
</gallery>  | </gallery>  | ||
| Line 33: | Line 30: | ||
=== 强制单向行驶 ===  | === 强制单向行驶 ===  | ||
当希望某条轨道上只能单向行驶时,可以使用始终开启的阻挡器,这个方法在有并排的轨道上时很有用,每条轨道只能沿着一个方向行驶,自动寻路机制会忽略阻挡器阻挡的路线,使其不会出现驶错轨道的问题。  | |||
<gallery mode="slideshow">  | <gallery mode="slideshow">  | ||
File:Pathfinding_Blocker.png|使用 ''[+train:left]''   | File:Pathfinding_Blocker.png|使用 ''[+train:left]'' 只会允许从右向左行驶的列车。同样你也可以使用 ''[+train:right]'' 阻挡从右驶来的列车。  | ||
</gallery>  | </gallery>  | ||
| Line 44: | Line 41: | ||
<pre>/train destination [名称]  | <pre>/train destination [名称]  | ||
/train destination output</pre>  | /train destination output</pre>  | ||
现在将矿车推到转辙器,观察它是如何切换轨道并发往目的地的。你可以再次设置目的地,并推向转辙器。可以继续尝试多个转辙器、阻挡器和目标牌。  | |||
如果出现转辙器发错方向等问题,可以使用[[Special:MyLanguage/TrainCarts/Commands#Reroute|重置调度指令]]  | 如果出现转辙器发错方向等问题,可以使用[[Special:MyLanguage/TrainCarts/Commands#Reroute|重置调度指令]]强制重新计算调度路线。  | ||
<pre>/train reroute</pre>  | <pre>/train reroute</pre>  | ||
| Line 53: | Line 50: | ||
== 高级设置 ==  | |||
=  | |||
一旦理解了基础系统的运作,那就可以进一步讨论更高级更复杂的功能了。  | |||
=== 实用功能 ===  | |||
===   | |||
<div   | <div class="mw-translate-fuzzy">  | ||
====   | ==== 保持区块加载 ====  | ||
当列车上没有任何玩家且周围没有玩家来加载区块时,可以开启列车的[[Special:MyLanguage/TrainCarts/Signs/Property|保持区块加载属性]]来防止列车被游戏卸载。  | |||
</div>  | </div>  | ||
在属性牌上你可以这样写:  | |||
{{sign|[+train]|property|keepchunksloaded|true}}  | {{sign|[+train]|property|keepchunksloaded|true}}  | ||
或者你可以创建一辆列车,使用<code>/train keeploaded true</code>并通过<code>/train save <名称></code>保存列车。使用[[Special:MyLanguage/ TrainCarts/Signs/Spawner#Automated_spawning|生成器]]可批量生成保存的列车。  | |||
==== 等待距离 ====  | |||
===  | 为了避免列车碰撞且保持列车之间的距离,可以使用[[Special:MyLanguage/ TrainCarts/Signs/Property#Wait_Property|等待属性]]。  | ||
==== 闭塞区间 ====  | |||
====   | [[Special:MyLanguage/ TrainCarts/Signs/Mutex|闭塞区间]]能避免列车在交叉路口内发生碰撞。  | ||
==== 车站调度 ====  | |||
=  | [[Special:MyLanguage/ TrainCarts/Signs/Station|车站]]可以将列车发往下一个目的地。  | ||
[[TrainCarts/Signs/Station|  | |||
{{sign|[!train]|station||route}}  | {{sign|[!train]|station||route}}  | ||
=== 调试 ===  | |||
===   | |||
[[File:Pathfinding Debug Destinations.png|thumb|显示存在一定距离的目的地。]]  | |||
[[File:Pathfinding Debug Destinations.png|thumb|  | 插件提供了一个''调试棒'',用于显示自动寻路机制的信息。使用调试棒单击轨道,会显示轨道有关路线的信息。潜行(Shift)并单击轨道,会''重新调度'',从点击的铁轨开始重新计算路线。如果你有多个较小的交通网络,使用调试棒也许能比指令更加高效。  | ||
==== 所有目的地 ====  | |||
====   | |||
使用以下指令获取调试棒(用于显示铁轨到所有目的地的路线):  | |||
<pre>/train debug destination</pre>  | <pre>/train debug destination</pre>  | ||
沿着选中的铁轨寻路,直到找到交通网络中的''节点'',之后列出所有可以调度的目的地。所有的目的地都会列出与轨道间的总距离,并显示沿路线的粒子。如果你发现有某个目的地没有列出,你可以沿着轨道走,偶尔单击一下来检查是哪个位置出现了问题。  | |||
==== 单个目的地 ====  | |||
====   | |||
[[File:Pathfinding_Debug_Destination_Specific_One.png|thumb|显示到一个目的地的精确路线。]]  | |||
[[File:Pathfinding_Debug_Destination_Specific_One.png|thumb|  | 使用以下指令调试特定目的地:  | ||
<pre>/train debug destination [目的地]</pre>  | |||
<pre>/train debug destination [  | 现在单击铁轨时会显示到达目的地的粒子路线。这在调试目的地时很有用,这样不会显示与你无关的调度路线和目的地。  | ||
=== 调度管理 ===  | |||
===   | |||
通常一次只能设置一个目的地。可以在目标牌上输入下一个目的地,但是只能有一条路线。使用调度管理机制,可以配置需要访问的目的地列表,并应用到列车上。列车会依次前往列表中的目的地,到达目的地后会继续前往下一个目的地。  | |||
==== 指令 ====  | |||
====   | |||
编辑列车,使用以下指令设置目的地列表:  | |||
<pre>/train route set [目的地1] ([目的地2] [目的地3...])  | |||
<pre>/train route set [  | |||
/train route set outpost hillfort dungeon</pre>  | /train route set outpost hillfort dungeon</pre>  | ||
[[File:Pathfinding_routes_set.png|File:Pathfinding_routes_set.png]]  | [[File:Pathfinding_routes_set.png|File:Pathfinding_routes_set.png]]  | ||
要在现有路线添加或移除一个或多个目的地,可以使用以下指令:  | |||
<pre>/train route add [目的地1] ([目的地2] [目的地3...])  | |||
<pre>/train route add [  | /train route remove [目的地1] ([目的地2] [目的地3...])</pre>  | ||
/train route remove [  | |||
然后你可以在指定的目的地使用目的地指令或属性来启用路线。否则这条路线在列车到达目标牌的那一刻就启用了。要检查列车路线,请使用基础调度指令。列车要到达的目的地会使用绿色进行高亮显示。  | |||
<pre>/train route</pre>  | <pre>/train route</pre>  | ||
[[File:Pathfinding_route_info.png|File:Pathfinding_route_info.png]]  | [[File:Pathfinding_route_info.png|File:Pathfinding_route_info.png]]  | ||
==== 自动化 ====  | |||
====   | |||
列车路线可通过名称进行全局保存,并可快捷应用到其他列车上。  | |||
<pre>/train route save [名称]</pre>  | |||
<pre>/train route save [  | 要加载已保存的路线,需使用以下指令:  | ||
<pre>/train route load [名称]</pre>  | |||
<pre>/train route load [  | 或者也可以使用属性牌来完成:  | ||
{{sign|[+train]|property|loadroute|myroute}}  | {{sign|[+train]|property|loadroute|myroute}}  | ||
Latest revision as of 09:45, 12 October 2025
介绍
通过自动切换轨道,列车理论上可以到达 Minecraft 世界中的任何位置。通过放置控制牌来构建轨道网络架构,预先配置的列车将遵循该架构自动寻路到目的地。
列车到达的地点被称为目的地,由目标牌指定。切换轨道的位置以及终点的位置被称为节点,由转辙器指定。如果要强制某段轨道路线只能单向行驶,可以设置阻挡器来阻挡反方向驶来的列车。
开始
指定目的地
可以在目标牌的第三行输入目的地的名称,第四行可以填写新的目的地名称来为经过的列车设置新的目的地,但你也可以留空。
指定切换节点
轨道分叉口应该放置一个始终开启的转辙器。当有一辆设置了目的地的列车经过时,转辙器会计算出一条路线,然后切换轨道。
强制单向行驶
当希望某条轨道上只能单向行驶时,可以使用始终开启的阻挡器,这个方法在有并排的轨道上时很有用,每条轨道只能沿着一个方向行驶,自动寻路机制会忽略阻挡器阻挡的路线,使其不会出现驶错轨道的问题。
测试一下
在轨道上放置一辆矿车,并使用目的地指令设置一个目的地:
/train destination [名称] /train destination output
现在将矿车推到转辙器,观察它是如何切换轨道并发往目的地的。你可以再次设置目的地,并推向转辙器。可以继续尝试多个转辙器、阻挡器和目标牌。
如果出现转辙器发错方向等问题,可以使用重置调度指令强制重新计算调度路线。
/train reroute
也可以使用属性牌设置目的地:
高级设置
一旦理解了基础系统的运作,那就可以进一步讨论更高级更复杂的功能了。
实用功能
保持区块加载
当列车上没有任何玩家且周围没有玩家来加载区块时,可以开启列车的保持区块加载属性来防止列车被游戏卸载。
在属性牌上你可以这样写:
或者你可以创建一辆列车,使用/train keeploaded true并通过/train save <名称>保存列车。使用生成器可批量生成保存的列车。
等待距离
为了避免列车碰撞且保持列车之间的距离,可以使用等待属性。
闭塞区间
闭塞区间能避免列车在交叉路口内发生碰撞。
车站调度
车站可以将列车发往下一个目的地。
调试
插件提供了一个调试棒,用于显示自动寻路机制的信息。使用调试棒单击轨道,会显示轨道有关路线的信息。潜行(Shift)并单击轨道,会重新调度,从点击的铁轨开始重新计算路线。如果你有多个较小的交通网络,使用调试棒也许能比指令更加高效。
所有目的地
使用以下指令获取调试棒(用于显示铁轨到所有目的地的路线):
/train debug destination
沿着选中的铁轨寻路,直到找到交通网络中的节点,之后列出所有可以调度的目的地。所有的目的地都会列出与轨道间的总距离,并显示沿路线的粒子。如果你发现有某个目的地没有列出,你可以沿着轨道走,偶尔单击一下来检查是哪个位置出现了问题。
单个目的地
使用以下指令调试特定目的地:
/train debug destination [目的地]
现在单击铁轨时会显示到达目的地的粒子路线。这在调试目的地时很有用,这样不会显示与你无关的调度路线和目的地。
调度管理
通常一次只能设置一个目的地。可以在目标牌上输入下一个目的地,但是只能有一条路线。使用调度管理机制,可以配置需要访问的目的地列表,并应用到列车上。列车会依次前往列表中的目的地,到达目的地后会继续前往下一个目的地。
指令
编辑列车,使用以下指令设置目的地列表:
/train route set [目的地1] ([目的地2] [目的地3...]) /train route set outpost hillfort dungeon
要在现有路线添加或移除一个或多个目的地,可以使用以下指令:
/train route add [目的地1] ([目的地2] [目的地3...]) /train route remove [目的地1] ([目的地2] [目的地3...])
然后你可以在指定的目的地使用目的地指令或属性来启用路线。否则这条路线在列车到达目标牌的那一刻就启用了。要检查列车路线,请使用基础调度指令。列车要到达的目的地会使用绿色进行高亮显示。
/train route
自动化
列车路线可通过名称进行全局保存,并可快捷应用到其他列车上。
/train route save [名称]
要加载已保存的路线,需使用以下指令:
/train route load [名称]
或者也可以使用属性牌来完成:


