World Dimension Loader 1.2.2 - Troubleshooting

1. /wdl scan finds 0
Check valid [[dimensions]], no blank template placeholders, WDL_custom_dimensions/<folder>/level.dat, no accidental double folder, and folder stays under dimension_root_folder.

2. Not READY
Use /wdl list and /wdl status. MISSING_FOLDER=no folder, MISSING_LEVEL_DAT=no level.dat, INVALID_PATH=outside root, DISABLED=enabled=false. strict_validation=true may reject unsafe source WorldGen decoding; inspect latest.log.

3. Gate will not open
Check scan, READY destination, frame/corner blocks, size, cost, LIST IDs, same-dimension candidate exclusion, Travel Policy and GATE_CONFIG_AMBIGUOUS. If allowed_igniters is omitted or empty, it is not a restriction; only a non-empty list can block a normal WDL Igniter. Ambiguous shared-frame matches fail closed; Config order does not win. An unrestricted Gate overlaps every normal-Igniter restriction that shares the same physical frame/size. Ordinary Minecraft items still cannot activate a Gate.

4. "route is sealed"
Travel Policy denied the route. Check source WDL travel.export and destination WDL travel.import when applicable. WDL->Overworld checks the source WDL export because Overworld has no [[dimensions]] Policy block.

5. Gate opens but player cannot traverse
Check Inventory Policy. It is intentionally checked at traversal rather than activation.

6. RANGE cost looks affordable but activation is refused
RANGE requires holding max items before the challenge starts. min=1,max=3 requires at least 3 held; actual consumption is one 1..3 roll.

7. Does not return near original Gate
Only the latest exact reverse route is eligible. Return Scroll, /wdl tp, death and non-WDL-Gate dimension changes clear stale history. Destroying the source frame or having no safe landing causes normal destination fallback.

8. Return Scroll cannot be used
Check per-dimension return_scroll.enabled, XP level, Inventory Export and Travel Export to minecraft:overworld. Creative waives XP only, not Policy.

9. Anchor ignored
Check prefer_anchor=true, anchor.enabled=true and a stored Anchor. anchor.enabled=false also suppresses stored Anchor use.

10. Bed respawn does not work
Set [dimensions.bed] allow_bed_respawn=true. Omitted/false is sleep-only. Anchor is not a death-respawn target.

11. keep_loaded does not stay resident
Check READY, keep_loaded=true, run scan, inspect /wdl loaded and make sure max_loaded_dimensions is large enough.

12. Auto-Unload does not occur
Check auto_unload=true, delay, keep_loaded=false and safe unload conditions such as no players/forced chunks.

13. Config edit not applied
Run /wdl scan or restart. On dedicated servers edit server-root Config; client-only edits do not change server behavior.

14. Old Config is confusing
Back it up, move it aside, start Minecraft to regenerate current files, then copy only needed custom values.

15. Session Resume fails
Check target dimension still exists/enabled and inspect list/status/latest.log. Permanently invalid targets fall back to Overworld.

16. Distant Horizons / dynamic dimension compatibility
WDL posts Forge Level Load/Unload lifecycle events for dynamic WDL levels and uses commit-aware managed teleport hardening. Testing with Distant Horizons 3.2.0-b no longer showed the previously observed null-level PlayerChangedDimensionEvent NPE. Test important worlds with your complete mod stack.

17. Useful bug-report material
WDL/Minecraft/Forge/Java versions, latest.log, debug.log if needed, three WDL Config files, /wdl status and exact reproduction steps.


Advanced Dimension Igniter durability did not change
[items].advanced_dimension_igniter_durability is read only at startup before Item registration. /wdl scan cannot change it. Fully restart the game/server.

17. I cannot find a setting in the minimal example
This is intentional in 1.2.2. Minimal examples omit values that already match WDL defaults.
Use the ALL OPTIONS TEMPLATE in the generated Config or the Detailed Config Guide to see every supported option.

18. I deleted an optional section
That is supported. Missing optional sections use code defaults. For example:
- respawn omitted -> INHERIT
- runtime.keep_loaded omitted -> false
- bed.allow_bed_respawn omitted -> false
- anchor.enabled omitted -> true
- Inventory/Travel Policy omitted -> allow all

19. My old Config still contains many explicit defaults
That is valid. 1.2.2 does not rewrite existing Config.
Regeneration is optional and is only recommended if you want the cleaner omission-based layout. Back up the old files first and copy only intentional overrides.

