コンフィグ
config.jsonはプラグインのルートディレクトリ(plugins/MoripaFishing/)に配置されます。
起動時にファイルが存在しないか空の場合は、すべての項目を既定値で埋めたファイルが自動生成されます。
読み込みは厳密に行います。未知のキー(古い設定キーやタイプミスを含む)や不正な値はエラーになり、起動時はプラグインの有効化に失敗し、/mf reload では再読み込みが失敗して以前の設定のまま動作し続けます。
トップレベルの $schema キーだけは JSON Schema の参照用として無視されます。
Format
{
"world": {
"defaultId": "default",
"timeZone": "Asia/Tokyo",
"refreshIntervalSeconds": 60,
"defaultClimate": {
"weather": {
"type": "random",
"weights": {
"SUNNY": 4,
"CLOUDY": 1,
"RAINY": 2,
"THUNDERSTORM": 1
},
"intervalHours": 8,
"offsetHours": 0,
"maxInclination": 30,
"seed": "pepper"
},
"time": {
"type": "real_time",
"offsetHours": 0
}
}
},
"defaultLocale": "ja_JP"
}各設定の説明
world
ワールド関連の設定です。
defaultId: デフォルトの釣りワールドIDを指定します(デフォルト:default)timeZone: 天候カレンダーと実時刻同期に使うタイムゾーンIDを指定します。Asia/Tokyo、UTC、America/New_York等のIANAタイムゾーンIDが使用可能です(デフォルト:Asia/Tokyo)refreshIntervalSeconds: 釣りワールドの状態を決め直して適用させる間隔を秒単位で指定します。1 以上(デフォルト:60)defaultClimate: ワールドごとのclimateがnullの場合に使う気候設定です。詳細は気候を参照
refreshIntervalSecondsごとに、Core はメインスレッドで各釣りワールドの天候・時刻などを決め直し、ロード済みのワールドへ Integration(Weather / WorldLifecycle)を通じて適用させます。天候の変化(FishingWorldWeatherChangeEvent)もこの間隔で検知されます。/mf reload で値を変えると、新しい間隔でループを開始し直します。
ワールドボーダーの既定値は config.json ではなく、ワールドごとの設定(ワールド設定の border)で指定します。
注意
timeZoneの値はそのままIANAタイムゾーンIDとして解決されるため、不正な文字列を指定すると天候や時刻の計算時に例外が発生します。
defaultLocale
プラグインのデフォルトロケールを指定します(デフォルト: ja_JP)。
プレイヤーのロケールに対応する翻訳が無い場合に使われます。また、魚の説明文 (lore) がプレイヤーのロケールで定義されていない場合も、このロケールの説明文を使います。
読み込み時は_を-に置き換えて言語タグとして解釈されるため、ja_JPとja-JPのどちらの表記でも受け付けられます。自動生成されるファイルにはja_JP形式で書き出されます。
設定の再読み込み
config.jsonは/mf reloadで再読み込みされ、その時点のファイル内容が設定として反映されます。
プラグインがconfig.jsonへ書き込むのは、ファイルが存在しないか空のときに既定値を生成する場合だけです。
関連するディレクトリ
config.jsonと同じルートディレクトリ配下には、用途ごとのサブディレクトリが用意されています。
rarity/: レアリティの定義ファイルfish/: 魚の定義ファイルworld/: 釣り場ワールドごとの詳細設定ファイルtranslation/: 翻訳メッセージのファイル