メインコンテンツまでスキップ

dan.jsonについて

ここでは、 dan.json の仕様、及びこれを用いた段位の作成方法について説明します。

✨️ TaikøNautsにおける段位


TaikøNautsでは、従来の単一のTJAファイルを用いた段位の記述方法とは異なり、 dan.json ファイルと複数のTJAファイルを組み合わせることで、段位が構成されます。

📁 フォルダ構成

段位カテゴリのフォルダ構成は、以下のようになっています。

📁 [DanFiles]
├ 📄 dan.json
└ 📄 (段位のTJAファイル)

⚙️ dan.json の設定


dan.json は、複数のTJAファイルをまとめ、1つの段位として扱うための定義ファイルです。
以下は dan.json の各キーの説明です。

📋 dan.json のキー定義

キー名説明
titleString段位のタイトル名。
danIndexInteger段位のインデックス番号。
danPlatePathString段位プレート画像のファイルパス。
danPanelSidePathString段位パネルのサイド画像のファイルパス。
danTitlePlatePathString段位タイトルプレート画像のファイルパス。
danMiniPlatePathString段位ミニプレート画像のファイルパス。
danMiniPlateTextString段位ミニプレートに表示するテキスト。
danSongsObject[]段位で演奏する曲の情報の配列。 → 詳細
conditionGaugeObject段位魂ゲージの初期値設定。 → 詳細
conditionsObject[]合格条件の配列。 → 詳細

🎵 danSongs の要素(曲情報)

キー名説明
pathString対象となるTJAファイルの相対パス。
difficultyInteger使用する難易度を指定します。0(Easy)~4(Edit)までで指定可能です。
genreString曲のジャンル名。
isHiddenBoolean段位選択画面で曲名などの情報を非表示にするかどうか。

📊 conditionGauge の要素(合格ゲージ条件)

キー名説明
redInteger赤合格時の魂ゲージの初期値(パーセント)。
goldInteger金合格時の魂ゲージの初期値(パーセント)。

🏆 conditions の要素(合格条件)

キー名説明
typeString条件のタイプ。 → 詳細
thresholdObject / Object[]各曲の合格基準(赤合格・金合格の閾値)の設定。単一なら全体条件、配列として曲数分記述すると各曲ごとの個別条件となります。 → 詳細

conditions.type 内の要素(条件の種類)

キー名説明範囲
GreatInteger良の数。以上
GoodInteger可の数。未満
MissInteger不可の数。未満
RollInteger連打数。以上
HitIntegerたたけた数。以上
ScoreIntegerスコア。以上
MaxComboInteger(最大)コンボ数。以上

threshold 内の要素

キー名説明
redInteger赤合格に必要な閾値。条件のタイプによって、この値「未満」または「以上」が条件となります。
goldInteger金合格に必要な閾値。条件のタイプによって、この値「未満」または「以上」が条件となります。

🖋️ 記述例

{
"title": "例段位",
"danIndex": 0,
"danPlatePath": "dan.png",
"danPanelSidePath": "side.png",
"danTitlePlatePath": "titlePlate.png",
"danMiniPlatePath": "miniPlate.png",
"danMiniPlateText": "挑戦!例段位",
"danSongs": [
{
"path": "hogehoge1.tja",
"difficulty": 1,
"genre": "ポップス",
"isHidden": false
},
{
"path": "hogehoge2.tja",
"difficulty": 2,
"genre": "アニメ",
"isHidden": false
},
{
"path": "hogehoge3.tja",
"difficulty": 3,
"genre": "バラエティ",
"isHidden": false
}
],
"conditionGauge": {
"red": 80,
"gold": 100
},
"conditions": [
{
"type": "Good",
"threshold": {
"red": 70,
"gold": 100
}
},
{
"type": "Miss",
"threshold": {
"red": 8,
"gold": 5
}
},
{
"type": "Roll",
"threshold": [
{
"red": 31,
"gold": 41
},
{
"red": 5,
"gold": 12
},
{
"red": 6,
"gold": 15
}
]
}
]
}