# TIDS 時刻表ジェネレーター HTML 使用ガイド
**対象ファイル：** `timetable_editor.html`  
**用途：** 画面上で TIDS 通常版に必要な時刻表 JSON を作成し、コマンドブロックへ貼り付ける `setting` JSON を生成します。  
## 最初に読むこと
この HTML は、一般ユーザーが時刻表を編集するためのツールです。複雑な `list` 配列を手作業で書かずに済むようにすることが目的です。

使用する出力は 2 種類あります。
- **時刻表 JSON**：例として `demo_list.json`。Minecraft から読み取れる場所に置きます。
- **setting JSON**：「setting をコピー」ボタンで取得し、TIDS の真下にあるコマンドブロックへ貼り付けます。

deco 版 TIDS は主に装飾用で、時刻表リストを読み込みません。この HTML は主に通常版 TIDS 用です。

## 開き方
1. フォルダー内の `timetable_editor.html` を探します。
2. ブラウザーで開きます。通常はダブルクリックだけで開けます。ローカルサーバーは不要です。
3. 右上の言語切り替えで、繁體中文、简体中文、日本語、English を選べます。
4. Chrome、Edge、Firefox などの新しいブラウザーを推奨します。

## インターフェース言語を切り替える
1. 画面右上の言語ドロップダウンを探します。
2. 繁體中文、简体中文、日本語、English から選びます。
3. 言語切り替えは HTML エディターの表示文字だけを変更します。出力される JSON 形式は変わりません。
4. すでに編集したデータは、言語を切り替えても消えません。

## 基本の流れ
1. 「サンプル」を押して内蔵データを読み込むか、「新規」で空の時刻表を作成します。
2. 左側の表で各列車の行を編集します。
3. 「並べ替え」で発車時刻順に自動ソートするか、行の先頭にあるドラッグボタンで手動並べ替えをします。
4. 右側の「コマンドブロック setting」で `timeZone`、`platform`、ダウンロード名、`filePath`、`realTime`、`autoClear` を設定します。
5. 「JSON を保存」を押して時刻表ファイルを保存します。
6. 保存した JSON を `filePath` で指定した場所に置きます。
7. 「setting をコピー」を押し、コピーした内容を TIDS の真下 32 ブロック以内のコマンドブロックへ貼り付けます。
8. ゲームに戻り、TIDS が正しく表示されるか確認します。

## 既存の時刻表を読み込む
読み込み方法は 2 つあります。
- 「JSON ファイルを選択」を押し、既存の時刻表 JSON を選びます。
- JSON テキストを読み込み欄へ貼り付け、「テキストから読み込み」を押します。

読み込む JSON の最上位には `list` が必要です。

```json
{
    "list": [
        [ "2005", "Changhua", "MountainLine", "FastLocal", "5:24:00", "3A", true ]
    ]
}
```

## 表の項目
- **列車番号**：1 から 4 桁の数字です。例：`1107`。
- **行先**：ドロップダウンから選びます。スクリプトが対応している行先だけを使用します。
- **経由路線**：ドロップダウンから選びます。路線を表示しない場合は「表示しない」を選びます。
- **列車種別**：ドロップダウンから選びます。例：Local、FastLocal など。
- **発車時刻**：時、分、秒に分かれています。時は `0-23`、分と秒は `0-59` です。
- **番線**：列車リストに表示する番線です。例：`1`、`2`、`3A`、`3B`。
- **通過済み**：JSON に出力される真偽値の項目です。通常は `true` のままで問題ありません。

検査に通った行だけが JSON に出力されます。画面上部の行数、出力可能数、エラー数で現在の状態を確認できます。

## 編集操作
- **+ 行を追加**：空の列車行を 1 つ追加します。
- **+5**：空の列車行を 5 つ追加します。
- **複製アイコン**：その行を複製します。似た列車を作るときに便利です。
- **削除アイコン**：その行を削除します。
- **ドラッグで並べ替え**：行先頭のドラッグボタンをつかみ、目的の位置で離します。
- **並べ替え**：発車時刻の早い順に自動ソートします。
- **エラー行を削除**：未入力または未対応データを含む行を削除します。

TIDS は `list` の上から順に走査し、時刻条件に合う列車を表示します。そのため、行の順序はゲーム内表示に影響します。通常は発車時刻順に並べることを推奨します。

## 右側の setting 項目
- **timeZone**：リアルタイムモードで使うタイムゾーンです。台湾時間は `8` です。
- **platform**：TIDS 本体に固定表示される番線表示です。例：`1`、`1a`、`1b`、`2`、`2a`、`2b`、`3`、`3a`、`3b`、`4`、`4a`、`4b`。
- **ダウンロード名**：「JSON を保存」を押したときの保存ファイル名です。`.json` が無い場合は自動で追加されます。
- **filePath**：ゲーム内の TIDS が時刻表 JSON を読み込むパスです。実際に置いた JSON の場所を指す必要があります。
- **realTime**：`true` は現実時間、`false` はゲーム内時間を使用します。
- **autoClear**：現在は `false` のままで問題ありません。

## ダウンロード名と filePath の違い
「ダウンロード名」はブラウザーが保存するファイル名だけを決めます。`filePath` はゲームが読み込む場所です。両者は必ずしも同じではありませんが、最初は一致させるのが簡単です。

最も簡単な設定：
1. ダウンロード名を `demo_list.json` にします。
2. `filePath` を `./demo_list.json` にします。
3. 保存した `demo_list.json` を `.minecraft` フォルダーに置きます。

サブフォルダーを使う例：`.minecraft/TIDS/station_a.json`
1. ダウンロード名を `station_a.json` にします。
2. `filePath` を `./TIDS/station_a.json` にします。
3. ファイルを `.minecraft/TIDS/` に置きます。

Windows の絶対パスでは `/` の使用を推奨します。

```json
"filePath": "C:/Users/Name/.minecraft/TIDS/station_a.json"
```

バックスラッシュを使う場合、JSON 内では `\\` と書く必要があります。

```json
"filePath": "C:\\Users\\Name\\.minecraft\\TIDS\\station_a.json"
```

## setting をコピーする
「setting をコピー」を押すと、次のような内容がコピーされます。

```json
{
    "setting": {
        "timeZone": 8,
        "filePath": "./demo_list.json",
        "autoClear": false,
        "realTime": true,
        "platform": "4"
    }
}
```

この内容をすべてコマンドブロックへ貼り付けます。`true` と `false` に引用符を付けないでください。また、最後の項目の後ろに余分なカンマを入れないでください。

## ゲーム内で使う
1. 通常版 TIDS 本体を設置します。
2. TIDS の真下、同じ縦線上 32 ブロック以内にコマンドブロックを置きます。
3. 「setting をコピー」で取得した JSON をコマンドブロックへ貼り付けます。
4. 「JSON を保存」で取得した時刻表ファイルを `filePath` で指定した場所へ置きます。
5. JSON を編集した後、TIDS は通常自動で再読み込みします。基本的に TIDS を置き直す必要はありません。

設置イメージ：

```text
[TIDS 本体]
    |
    | 真下の同一直線上、最大 32 ブロック
    |
[コマンドブロック]  必須、setting JSON を入れる
[色付きガラス]      任意、接近表示灯を制御
```

## 通過済み項目
「通過済み」は、時刻表 JSON の各行の 7 番目の項目として出力されます。通常は `true` のままで問題ありません。固定表示用の時刻表を作るだけなら、基本的にこの項目を調整する必要はありません。

## よくある問題
### TIDS に File Not Found が表示される
- JSON ファイルが本当に `filePath` の場所にあるか確認します。
- 最初のテストでは `./demo_list.json` を使い、ファイルを `.minecraft` に置くのがおすすめです。
- ファイル名の大文字小文字と `.json` 拡張子を確認します。

### 読み込み失敗、または list が配列ではないと表示される
- JSON の最上位はオブジェクトで、`list` を含む必要があります。
- 各時刻表行は配列である必要があります。
- 中国語式の引用符を使わないでください。
- 最後の項目の後ろに余分なカンマを入れないでください。

### 一部の行が出力されない
- 出力可能な行だけが JSON に含まれます。
- 右側の「チェック結果」を見て、未対応の行先、路線、列車種別、時刻、番線形式を修正してください。

### 表示順が期待通りにならない
- 「並べ替え」を押して時刻順に並べます。
- 特殊な表示順にしたい場合は、ドラッグで手動並べ替えをしてください。
- `realTime` が使いたい時間ソースと合っているか確認してください。

### コピーが自動でできない
一部のブラウザーでは、ローカル HTML からのクリップボード操作が制限されます。内容が選択されたと表示された場合は、手動で `Ctrl+C` を押してください。

## おすすめの作業手順
1. まず「サンプル」を押し、ブラウザーとエディターが動作することを確認します。
2. ダウンロード名と `filePath` を設定します。
3. 少数の列車だけを編集し、JSON を保存してゲーム内でテストします。
4. TIDS が読み込めることを確認してから、時刻表全体を完成させます。
5. 大量編集後は「並べ替え」を押してから最終 JSON を保存します。
