Despawn Location
A single despawn location: a block position (world name + integer block coords) owned by a player.
Deliberately server-independent and immutable — it holds a world name, not a live World, so it can be created, compared, indexed, and (de)serialised without a running server. That keeps the hot-path indexes cheap and makes the type fully unit-testable. Resolve to a live Location only when actually needed via toLocation.