World Dimension Loader 1.3.0 - Beginner Tutorial

============================================================
1. Install and generate Config
============================================================
Install WDL on the server and connecting clients. Use Java 17 with Minecraft 1.20.1 / Forge 47.4.x.

Start once. WDL creates:
config/worlddimensionloader/common.toml
config/worlddimensionloader/dimensions.toml
config/worlddimensionloader/gates.toml

Existing files are not overwritten.

============================================================
2. Copy a world
============================================================
Never use the only copy of an important world.

Example:
WDL_custom_dimensions/test_world_01/level.dat

Avoid a double folder:
Wrong:
WDL_custom_dimensions/test_world_01/test_world_01/level.dat

============================================================
3. Minimal Dimension Config
============================================================
Add to dimensions.toml:

[[dimensions]]
id = "test_world_01"

That is enough when the source folder has the same name.

Run:
/wdl scan

Check:
/wdl list

The Dimension should become READY when the source copy is valid.

============================================================
4. Minimal imported-world Gate
============================================================
Add to gates.toml:

[[gates]]
id = "test_world_01_gate"
dimensions = ["test_world_01"]

With dimensions present and selection_mode omitted, WDL infers LIST.

The default physical Gate is:
- obsidian frame/corners
- inner size 2x3 through 32x32
- 10-second open time
- no cost
- unrestricted normal WDL Dimension Igniters

============================================================
5. Multiple Gates
============================================================
Do not create several Gate definitions with the exact same physical signature.

If two definitions overlap in:
- frame block
- corner block
- size range
- applicable Igniters

WDL rejects the ambiguous definitions fail-closed.

Make another Gate physically distinct, for example:
corner_block = "minecraft:crying_obsidian"

or use a non-overlapping size range / Igniter restriction.

============================================================
6. ALL selection
============================================================
For a random Gate across eligible READY WDL imported Dimensions:

[[gates]]
id = "random_gate"
selection_mode = "ALL"
corner_block = "minecraft:crying_obsidian"

ALL does not include Overworld.

For Overworld:
selection_mode = "LIST"
dimensions = ["minecraft:overworld"]

Do not mix Overworld and WDL IDs in one LIST.

============================================================
7. Reset: read before enabling
============================================================
Reset is disabled by default.

Example:
[dimensions.runtime]
reset_on_empty = true
reset_delay_seconds = 30

Reset rebuilds the next runtime generation from the imported source copy. Changes made while playing inside that runtime Dimension may disappear on Reset.

The source copy under WDL_custom_dimensions remains untouched.

By default retired generations remain until the next startup. Repeated Reset before restart can temporarily consume large disk space.

Game-time live deletion is available through common.toml but is not recommended. Valkyrien Skies forces safe deferred cleanup.

============================================================
8. Reload vs restart
============================================================
Use /wdl scan after ordinary Dimension/Gate edits.

STARTUP ONLY settings require a full restart, including startup-latched cleanup/retired-generation behavior and Advanced Dimension Igniter durability.

If you want the newest generated comments after updating WDL:
1) back up config/worlddimensionloader/
2) move the old files aside
3) start once
4) merge only intentional overrides

============================================================
9. Examples / Play Ideas
============================================================
After the minimal setup works, see WDL_EXAMPLES_AND_PLAY_IDEAS_EN_1.3.0.txt.

It contains ten copy-ready recipes covering a basic Gate, LIST/ALL random selection, rarity weights, Timed Sessions, repeatable Reset, Inventory/Travel Policy, and a multi-Gate hub.

============================================================
10. First diagnostics
============================================================
/wdl scan
/wdl list
/wdl status
/wdl loaded

If a Gate does not activate, check:
- target is READY
- Gate definitions are not physically ambiguous
- LIST destination is correct
- frame/corner/size matches
- policy/timed/reset state is not blocking entry

See WDL_TROUBLESHOOTING_EN_1.3.0.txt.
