マイルストーンシステム
マイルストーンシステムの概要と詳しい使い方について説明しています。
概要
マイルストーンは, シナリオの進行状況や, サーバの状態をフラグで管理するためのシステムです。
進行状況に応じてマイルストーンを設定することで, それに応じたシナリオの場合分けを行えます。
マイルストーンは文字列型のフラグであり, 任意の一意な名前を持ちます。
例:
scenarios:
# マイルストーン "villager_killed" を設定
- type: execute
action: milestone
with:
name: "villager_killed"
# マイルストーン "villager_killed" が設定されていることを要求する。
- type: require
action: milestone
with:
name: "villager_killed"
マイルストーンのスコープ
スコープは, 設定されたマイルストーンがどのような範囲で有効かを管理するものです。 すべてのマイルストーンは, シナリオシステムの汚染を避けるため, スコープを持っています。 そのスコープから外れると, その中で設定されたマイルストーンは破棄されます。
通常は自動でスコープが設定されますが, 明示的に指定することもできます。
-
シナリオグローバル(
SCENARIO_GLOBAL
) スコープ
プラグインの特定のシナリオファイル内で有効なマイルストーンです。
シナリオのアンロードやプラグインのアンロード時に破棄されます。 -
トリガ・事前(
TRIGGER_BEFORE
) スコープ
トリガの事前シナリオ内で有効なマイルストーンです。
事前シナリオの終了時に破棄されます。 -
トリガ・事後(
TRIGGER_AFTER
) スコープ
トリガの事後シナリオ内で有効な マイルストーンです。
事後シナリオの終了時に破棄されます。 -
メインシナリオ(
MAIN_SCENARIO
) スコープ
メインシナリオ内で有効なマイルストーンです。
メインシナリオの終了時に破棄されます。
マイルストーンの使い方
マイルストーンへは2つの方法でアクセスできます。
- シナリオのアクションから使用する。
milestone アクションを使用します。 - プラグインの Java コードから使用する。
プラグインの Java コードからマイルストーンを設定するには, MileStoneManager を使用します(ドキュメント未作成)。
アクションによるマイルストーンの設定
マイルストーンを設定するには, milestone アクションを
アクション実行(execute
) タイプで使用します。
# マイルストーン "villager_killed" を設定
- type: execute
action: milestone
with:
name: "villager_killed"