Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
🏙️ Lost Cities — Fabric Port
Turn the whole Overworld into an abandoned, overgrown city.
A Fabric port of Lost Cities by McJty, covering Minecraft 1.20 → 1.21.11.
This is a 1:1 port, not a reimplementation. The generator, the asset system, all 17 profiles, all 12 commands, the config keys and the public API are McJty's originals, unchanged. Only the loader-specific plumbing was replaced. Worlds generate the same content they do on NeoForge, and datapacks written for the original work here with no edits.
🌆 Features
- 17 generation profiles — ordinary cities, megacities, rare cities, cavern cities, floating islands, space bubbles, biospheres, drowned Atlantis, jungle-reclaimed ruins, wasteland, and more
- Complete city generation — buildings, streets, highways, bridges, railways, monorails, corridors, spheres and scattered structures
- 12 commands for locating, mapping, and authoring your own city assets in-world
- Full datapack support — buildings, parts, palettes, city styles, conditions, variants, world styles, and 2×2 / 3×3 multibuildings
- In-game profile picker on the world creation screen
- Structure avoidance — keep cities off villages and other structures
- Server-friendly — no custom blocks or items, so vanilla clients can join a dedicated server running this mod (see notes)
📦 Requirements
Three dependencies, all required:
- Fabric Loader ≥ 0.15.0
- Fabric API
- Forge Config API Port ← easy to miss, and the mod will not load without it
The original's config code is used verbatim and is written against NeoForge's config API; Forge Config API Port is what provides that API on Fabric. Install the build matching your Minecraft version.
Java: 17 for Minecraft 1.20–1.20.4, 21 for 1.20.5 and newer.
⚡ Installation
- Install Fabric Loader for your Minecraft version
- Put Fabric API, Forge Config API Port and this mod's jar into
mods/ - Create New World → More tab → the Cities button
- Pick a profile — or Disabled for an ordinary world
On a dedicated server there is no creation screen, so pick the profile in
config/lostcities-server.toml:
[profiles]
selectedProfile = "onlycities"
New to the mod? default is the intended experience. onlycities shows you what it can do
immediately — the entire map is city.
✅ How parity was checked
Not by eye. Worlds were generated from an identical seed and profile on each version, then the region files were read directly and every block tallied — comparing only chunks that finished generating in every world. Across six versions the city content came out identical: same number of chests, spawners, iron bars, glass and bookshelves, chunk for chunk. The small drift that remains is in vanilla terrain and ore placement, not in the cities.
Every version also gets a dedicated-server boot on a fresh world before release, because Fabric mixins are not validated by the compiler.
📋 Good to know
- Back up your worlds before adding any worldgen mod, this one included. Adding or removing it changes how new chunks generate.
- Lost Worlds is not ported to Fabric. The profiles designed to pair with it (
cavern,floating,space,biosphere_caves,atlantis) still work — they just generate onto ordinary terrain instead of a matching world type. optimizedHeightmapis off by default. Leave it off. It re-implements vanilla internals for speed and its output has not been verified against the normal path.- NeoForge's IMC API has no Fabric equivalent. Every interface in the Lost Cities API is
present, and mods can use
LostCities.lostCitiesImpdirectly, but a mod written against the NeoForge IMC handshake will not find it. This is the port's one API-surface difference. - A misspelled
selectedProfilewill fail world creation. That is inherited behaviour from the original, not something the port added. - Client-optional is by design but untested. The mod registers no blocks or items — only worldgen features and server-side registries — so a vanilla client should connect to a server running it. Install it client-side if you want the profile picker.
🔗 Links & support
- GitHub: Lost-Cities-port-Fabric
- Report bugs: GitHub Issues
- Original mod: McJty's Lost Cities
- Port by: sunshainy — MIT licence.
Please do not contact McJty about problems with this port. He is not involved in it and is not responsible for it. Report issues on this repository's tracker instead. All credit for the mod itself belongs to him; the port only moves his work to a different loader.
Enjoy exploring the ruins. 🏙️✨


