TrainCarts/PathFinding [ja]

From BergerHealer Wiki
Jump to navigation Jump to search
(Created page with "コマンドやプロパティを利用して、任意の位置から目的地への運行を開始できます。もしくはDestinationサインに到達した場合も自動で開始します。列車のルートを確認するには、ルートコマンドを利用します。現在の目的地は緑色で強調表示されます。 <pre>/train route</pre> File:Pathfinding_route_info.png")
(Created page with "==== ルートの保存 ====")
Line 118: Line 118:




<div lang="en" dir="ltr" class="mw-content-ltr">
==== ルートの保存 ====
==== Persistence ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">

Revision as of 02:05, 23 July 2026

Other languages:

概要

みっつのDestinationと、そこを通る列車を分岐させるためのSwitcherサインがある。

列車はMinecraftのワールドの中で、Switcherサインの自動分岐を用いていろいろな場所に向かうルートを設定できます。看板を設置することで線路ネットワークのトポロジーが設定され、列車はそれを利用して目的地へと走っていきます。

列車の向かう地点は目的地Destinations)と呼ばれ、Destinationサインを用いることで作成や設定が可能です。また線路の分岐や終点は線路網のノードNodes)で、Switcherサインによって指定できます。ほかにも、Blockerサインを用いることで線路の進行を一方通行に制限でき、線路の交通の流れに逆らったルートが利用されるのを防げます。


やりかた

目的地を設定する

まずは、Destinationサインを用いて目的地となる地点を設定しましょう。サインの三行目にはその目的地の名前を、四行目にはここを通った列車が次にどこの目的地へ向かうかを指定できます。なお、指定は任意で、空行にもできます。


分岐のノードを設定する

レールを分岐させたいところには、常時オンになっているSwitcherサインが必要です。目的地が設定された列車がその上を通るとき、経路が自動で計算され、適切な方向へ分岐します。


一方通行にする

もし線路の一方向からだけ列車の通行を許可したいときには、常時オンのBlockerサインを使います。たとえば、方向の逆の線路――つまり対向車線――が二本並んでいるときなどはこの機能を活用できます。経路探索システムは、Blockerサインでブロックされている線路を自動的に無視するようになっています。


試してみる

列車を線路の上に配置し、目的地設定のコマンドで列車の目的地を設定します。

/train destination [name]
/train destination output

そしてSwitcherサインへとトロッコを走らせると、目的地へ向かうために自動で線路が切り替えられます。目的地を変更してからもう一度Switcherサインの上を走らせてみてください。また、BlockerサインやDestinationサインなどの複数のサインを設置してからいろいろと試してみてください。

もしSwitcherサインが誤動作をしているようであれば、経路の再計算のコマンドを行うことで強制的に探索を再試行させることができます。

/train reroute

また、Propertyサインを使うことで目的地を設定することも可能です。

Signtemplate.png
[+train]
property
destination
outpost


上級者ステップ

基本的なシステムを理解したら、次はもうちょっと複雑で高度な機能について見ていきましょう。

便利な関連機能

チャンクロード

列車がプレイヤーの遠くにいってしまってアンロードされてしまうのを防ぐために、keepchunksloadedプロパティからチャンクローダーの機能を設定できます。

こちらのPropertyサインから設定ができます。

Signtemplate.png
[+train]
property
keepchunksloaded
true


また列車に対して、/train keeploaded trueコマンドを入力してから/train save [name]で保存し、Spawnerサインで自動的にチャンクローダーの列車をスポーンさせることもできます。

待機距離

waitdistanceプロパティを利用すると、衝突を避けるために列車間に広い距離を保てます。

閉塞領域

閉塞領域を利用すれば、交差点での激突を回避できます。

駅へ

Stationサインは列車を次の目的地の方向へ発車できます。

Signtemplate.png
[!train]
station
route


デバッグ

距離と一緒に目的地を表示する。

デバッグ棒を利用して、経路探索においての情報を確認することができます。棒でレールをクリックすると、利用されうるルートについての情報が表示されます。スニークしつつクリックするとリルートされ、クリックした地点から到達できる線路が再計算されます。もし小さな線路網が複数ある場合は、こちらのほうがグローバルのリルートコマンドを使うよりも効率的です。


すべての目的地

次のコマンドを用いれば、指定の線路から到達できるすべての目的地を表示できます。

/train debug destination

クリックされた箇所から線路網のノードを探索し、そこから到達可能なすべての目的地をリストアップします。それぞれの目的地には総距離も同時にリストアップされ、その方向へ向かう道をパーティクルで示します。リストアップされるはずの目的地が表示されない場合はどこかで線路が途切れているので、線路に沿って進みながらちょこちょこクリックすることでどこに問題があるのかを調べることができます。


単一の目的地

単一の目的地への正確なルートを表示する

次のコマンドを利用することで、特定の目的地だけをターゲットにデバッグを行うことができます。

/train debug destination [destination]

これで線路をクリックすると、その目的地までの道のりをパーティクルが表示してくれます。関係ない他の目的地やルートに関してはパーティクルが表示されないため、特定の目的地だけをデバッグしたい場合に便利です。


ルートマネージャ

通常、列車にはひとつの目的地だけが設定されます。Destinationサインに次に向かうべき目的地を設定することは可能ですが、この機能だけに頼るとひとつしか運行ルートを設定できません。そこでルートマネージャの機能を使えば目的地のリストを列車に適用できます。列車は設定されたリストに沿って目的地を移動していきます。


コマンド

まず列車を編集状態にして、それから次のコマンドで目的地を設定します。

/train route set [destination1] ([destination2] [destination3...])
/train route set outpost hillfort dungeon

File:Pathfinding_routes_set.png

現在設定されているルートにさらに目的地を設定したり、逆にルートから削除する場合には次のコマンドを使います。

/train route add [destination1] ([destination2] [destination3...])
/train route remove [destination1] ([destination2] [destination3...])

コマンドやプロパティを利用して、任意の位置から目的地への運行を開始できます。もしくはDestinationサインに到達した場合も自動で開始します。列車のルートを確認するには、ルートコマンドを利用します。現在の目的地は緑色で強調表示されます。

/train route

File:Pathfinding_route_info.png


ルートの保存

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:

Signtemplate.png
[+train]
property
loadroute
myroute