World Dimension Loader 1.2.2 - トラブルシューティング

============================================================
1. /wdl scan が0件
============================================================
確認:
- dimensions.tomlに有効な[[dimensions]]がある
- templateの空欄をそのまま使っていない
- WDL_custom_dimensions/<folder>/level.dat の形
- 二重フォルダになっていない
- folderがcommon.tomlのdimension_root_folder配下にある

============================================================
2. READYにならない
============================================================
/wdl list と /wdl status を確認。
MISSING_FOLDER: folder無し
MISSING_LEVEL_DAT: level.dat無し
INVALID_PATH: root外path
DISABLED: enabled=false

strict_validation=trueでWorldGen decodeが安全にできない場合、危険なMountを拒否することがあります。latest.logを確認してください。

============================================================
3. Gateが開かない
============================================================
順番に確認:
1. /wdl scan
2. /wdl listでDestinationがREADY
3. frame_block / corner_block
4. 内部サイズ
5. allowed_igniters
   - 省略または [] は制限ではありません。通常WDL Dimension Igniterをすべて許可します。
   - 非空リストを設定している場合だけ、使用中Igniterがそのリストに含まれるか確認してください。
6. Gate Cost
7. LIST dimensions ID
8. 現在Dimension除外後に候補が残るか
9. Travel Policy
10. latest.logのGATE_CONFIG_AMBIGUOUS

同じ物理フレームにunrestricted Gateと特定Igniter Gateを重ねると、その特定Igniterで競合します。曖昧な定義はConfig順で決めずfail-closedします。
Basic-onlyとAdvanced-onlyのように通常Igniterで分離できる組み合わせは共存できます。
普通のMinecraftアイテムは、allowed_ignitersを省略/空にしてもGateを起動できません。

============================================================
4. 「次元間経路が封鎖」される
============================================================
Travel Policyによる拒否です。
出発WDL Dimensionのtravel.exportと、到着WDL Dimensionがある場合はtravel.importを確認します。
Overworldには[[dimensions]] Policyがないため、WDL -> OverworldではWDL側exportを確認します。

============================================================
5. Gateは開くが通れない
============================================================
Inventory Policyを確認してください。
Inventory PolicyはGate開通を止めず、実通過時に判定します。
WHITELIST/BLACKLIST/BLOCK_ALLのitems設定を確認してください。

============================================================
6. RANGE Costを払えるのに開通できない
============================================================
RANGEは実消費min..maxとは別に、開通チャレンジ開始時点でmax個以上の所持が必要です。
例 min=1,max=3なら3個以上持ってから起動します。実消費は1..3の1回抽選です。

============================================================
7. 元Gate付近へ戻らない
============================================================
Gate Travel Historyは「最新1件の完全な逆経路」だけを使用します。
確認:
- 最初の移動が通常WDL Gate成功だったか
- 帰りGateのDestinationがhistory.sourceと一致するか
- Return Scroll、/wdl tp、死亡、他MOD/Vanilla Dimension移動で履歴をクリアしていないか
- 元Gate Frameを壊していないか
- 元Gate付近に安全な立ち位置があるか

Frameが無い/安全地点が無い場合は通常Destinationへfallbackします。

============================================================
8. Return Scrollが使えない
============================================================
確認:
[dimensions.return_scroll] enabled
XP Level
Inventory Export
Travel Export -> minecraft:overworld

Overworldでは使用しません。Creative ModeはXPだけ免除でPolicyは免除しません。

============================================================
9. Anchorが使われない
============================================================
[dimensions.destination] prefer_anchor=true
[dimensions.anchor] enabled=true
保存Anchorが存在
を確認。
anchor.enabled=falseでは保存済みAnchorも到着候補に使用しません。

============================================================
10. Bed Respawnできない
============================================================
[dimensions.bed]
allow_bed_respawn = true
が必要です。省略/falseは睡眠のみです。
Anchorは死亡Respawnに使用しません。

============================================================
11. keep_loaded=trueなのに常駐しない
============================================================
確認:
- DimensionがREADY
- [dimensions.runtime] keep_loaded=true
- /wdl scan実行
- /wdl loadedで状態確認
- max_loaded_dimensionsが常駐数に対して小さすぎないか

============================================================
12. Auto-Unloadされない
============================================================
[runtime] auto_unload=true
unload_delay_seconds
keep_loaded=false
プレイヤー不在/強制ロードチャンクなし等の安全条件を確認。

============================================================
13. Configを変えたのに反映されない
============================================================
/wdl scan または再起動。
専用サーバーではserver-root/config/worlddimensionloader/を編集してください。
クライアント側Configだけ変更してもサーバー挙動は変わりません。

============================================================
14. Configが古くて分かりにくい
============================================================
旧Configは互換性のため自動上書きしません。
現在の推奨手順:
1. Configバックアップ
2. 旧Config退避
3. Minecraft起動で再生成
4. 必要値だけ移行
を推奨します。

============================================================
15. Session Resumeで戻れない
============================================================
対象WDL Dimensionが削除/無効/壊れていないか確認。
/wdl list、/wdl status、latest.logを確認。
恒久的に復帰できない対象はOverworldへfallbackします。

============================================================
16. Distant Horizons / 動的Dimension互換
============================================================
WDLは動的LevelにForge Level Load/Unload通知を行い、外部Dimension-change listenerの例外後でも実際に転移commit済みならWDL内部後処理を整合させるhardeningを導入しています。
Distant Horizons 3.2.0-bとの検証では、以前観測したnull-level PlayerChangedDimensionEvent NPEが解消したことを確認しています。
他の大型MOD構成では重要ワールドのコピーで事前テストしてください。

============================================================
17. 報告時にあると助かるもの
============================================================
- WDL version
- Minecraft / Forge / Java version
- latest.log
- debug.log（必要時）
- common.toml / dimensions.toml / gates.toml
- /wdl status 結果
- 再現手順


Advanced Dimension Igniterの耐久値を変更したのに反映されない
[items].advanced_dimension_igniter_durability はItem登録前の起動時だけ読み込みます。/wdl scanでは変更できません。ゲーム/サーバーを完全終了して再起動してください。

============================================================
17. MINIMAL EXAMPLEに設定項目が見当たらない
============================================================
1.2.2では意図的です。
MINIMAL WORKING EXAMPLEは、WDL初期値と同じ設定を省略しています。

全設定を確認したい場合は:
- 自動生成ConfigのALL OPTIONS TEMPLATE
- WDL_CONFIG_GUIDE_JA_1.2.2.txt
を確認してください。

============================================================
18. Optional sectionを削除しても大丈夫？
============================================================
大丈夫です。省略時はコード既定値が使われます。

例:
- respawn省略 -> INHERIT
- runtime.keep_loaded省略 -> false
- bed.allow_bed_respawn省略 -> false
- anchor.enabled省略 -> true
- Inventory/Travel Policy省略 -> 制限なし

============================================================
19. 旧Configに初期値が大量に残っている
============================================================
そのままでも有効です。1.2.2は既存Configを自動書換えしません。

簡潔な1.2.2形式にしたい場合だけ:
1. Configをバックアップ
2. 旧Configを退避
3. Minecraft起動で再生成
4. 初期値ではなく、意図的に変更していた項目だけ新Configへコピー
を推奨します。

