TrainCarts/Signs/Skip [ja]

From BergerHealer Wiki
Jump to navigation Jump to search
(Created page with "{{sign|[+train]|skip station 0 1|}}")
(Created page with "[[File:Skip sign example.png|thumb|left|940px|左から来た列車に対して[+train]のSkipサインが処理を行います。もし''square_west''――つまりここの駅――が目的地ではない、あるいは(<nowiki>|</nowiki>)未指定なら、Skipサインは次のサインをスキップします。この例では、飛ばす対象はStationサインとなっています。その結果、''square_west''駅行きではない列車は、駅で五秒...")
 
Line 21: Line 21:
== 例 ==
== 例 ==


<div lang="en" dir="ltr" class="mw-content-ltr">
[[File:Skip sign example.png|thumb|left|940px|左から来た列車に対して[+train]のSkipサインが処理を行います。もし''square_west''――つまりここの駅――が目的地ではない、あるいは(<nowiki>|</nowiki>)未指定なら、Skipサインは次のサインをスキップします。この例では、飛ばす対象はStationサインとなっています。その結果、''square_west''駅行きではない列車は、駅で五秒間待たされることなく通り過ぎていきます。]]
[[File:Skip sign example.png|thumb|left|940px|Trains come from the left and first hit the powered ([+train]) skip sign. When the train does not have destination ''square_west'' set or ( ''<nowiki>|</nowiki>'' ) is empty, the skip sign is activated and skips the very next sign. In this case that's the station sign. As a result, trains not meant for this station will cross the station sign without being stopped for 5 seconds.]]
</div>

Latest revision as of 01:16, 17 June 2026

Other languages:

概要

Skipサインは条件を判定し、これに続くいくつかのサインの実行を無視します。例えば、目的地が別の場所に設定されているとき、その駅に停車するサインをスキップするなどに使えます。


記法

Signtemplate.png
[train]
skip 2 1
<statement 1>
<statement 2>


  • 一行目[train]もしくは[cart]を書きます。基本的に[train]が使われますが、列車全体ではなくトロッコ単位で条件を判定したい時は、[cart]を使いましょう。他のサイン同様に動作にはレッドストーン信号が必要なので、これを利用してレッドストーンによるスキップ制御も行えます。
  • 二行目skip。引数はふたつあり、ひとつめはスキップ開始までのサイン数――スキップを実行するのを先送りにする数――で、ふたつめはスキップするサインの数です。引数を指定しない場合は次のひとつだけをスキップします。上記の例では、この後に来るふたつのサインを実行した後に、みっつめのサインの処理を飛ばします。
  • 三行目と四行目ステートメント、つまりスキップをするための条件を指定します。複数指定した場合は、それぞれがどちらも満たされているか(AND演算)となります。どちらか片方(OR演算)にしたいときには、ふたつめのステートメントの頭に|(パイプ記号)を淹れてください。療法が空欄の場合は、スキップは常に有効になります。

フィルタ

Skipサインの二行目では、スキップオフセット・スキップ数の前にどの種類のサインを飛ばすかを指定することができます。このフィルタは大文字と小文字を区別します。たとえば、このSkipサインの例では次のStationサインを飛ばしますが、もしStationでなければスキップを行いません。

Signtemplate.png
[+train]
skip station 0 1


左から来た列車に対して[+train]のSkipサインが処理を行います。もしsquare_west――つまりここの駅――が目的地ではない、あるいは(|)未指定なら、Skipサインは次のサインをスキップします。この例では、飛ばす対象はStationサインとなっています。その結果、square_west駅行きではない列車は、駅で五秒間待たされることなく通り過ぎていきます。