J3a: the journey on a server. A server per land (Lands: the hub starts land servers on demand over a private link), the cliff tunnel online, crossings with one-time passes, shared characters that remember their land, one clock from the hub; test_net_lands

This commit is contained in:
Paul Bailey
2026-11-06 23:14:11 +00:00
parent 6544862885
commit 85bbed249b
17 changed files with 1050 additions and 28 deletions

View File

@@ -235,6 +235,18 @@ func _body() -> void:
check(player.inventory.count("stone") == stone0 and player.inventory.count("antler_pickaxe") == 1, "with your bag as it was")
check(w.day_night.day == day0, "on the same day")
check(w.tunnel == null, "(the Cove has no tunnel of its own: it's the Valley's)")
# Save and quit in the Cove, then load the world again from the menu.
print("save and quit in the Cove")
var spot: Vector3 = w.sea_cave.front + Vector3(5.0, 0.0, 3.0)
spot.y = w.terrain.sample_height(spot.x, spot.z) + 0.1
player.global_position = spot
w.save_now()
await _drop_world(w)
check(S.list_worlds().any(func(m): return String(m.get("worldlet", "")) == "cove"), "the Load list has the world in the Cove")
w = await _load_world()
player = w.player
check(w.worldlet_id() == "cove", "loading it again: still in the Cove")
check(player.global_position.distance_to(spot) < 1.0, "right where you saved (%.1f m off)" % player.global_position.distance_to(spot))
print("back up home")
check(w.sea_cave.open(), "the sea cave leads back up (the tunnel's dug)")