v0.1.0
Manifold is a library mod for Vintage Story 1.21+ that exposes a public API for other mods to declare and manage custom dimensions — lifecycle, player transit, per-dimension worldgen, travel policy, and persistence. It adds no in-game content itself (pure dependency).
Features
- Custom dimensions — declare persistent or ephemeral dimensions from any mod; boot-time (
RegisterStatic) or runtime (Create), identified byAssetLocationcodes. - Active worldgen —
IWorldgenStrategy(OnInitialize+GenerateColumn); Manifold pre-generates a bounded chunk region around the transit target before the player arrives, so they never land in void. Configurable radius viaWithGenerationRadius. - Player transit —
ITransitionService.TeleportPlayerwith cancellablePlayerEntering+PlayerLeft/PlayerEnteredevents, plus opt-in helpers (PortalBlockBase,DimensionCommandBuilder). - Travel policy per dimension — spawn behavior (
SameCoordinates/DimensionSpawn/LastVisited, with persisted per-player position memory) and forced game mode (Preserve/Force). - Persistence — dimension manifest, generated-column set, and per-player positions survive restarts. Dimensions from uninstalled mods are quarantined (chunks kept, transit refused).
- Client mirror — the dimension list is replicated to clients via
IManifoldClient. - Zero Harmony patches — built entirely on the public
VintagestoryAPI.
Downloads
Manifold-0.1.0.zip— the library (install this; other mods depend on it).ManifoldSample-0.1.0.zip— optional demo mod showing void + flat dimensions and/voiddim,/flatdim,/overworlddimcommands.
Compatibility
Vintage Story 1.21+ · .NET 10 · no Harmony required.
Documentation
https://pixnop.github.io/Manifold/
Known limitations (v1 roadmap)
Worldgen is a bounded region around the transit point — walking past it hits unloaded chunks. Infinite streaming, async generation, and per-dimension inventory are planned for v1 (see issues). The minimap stays on the overworld tiles (closed-source engine limitation).