
The lost cities(fabric)
Lost Cities Fabric Port This is an unofficial Fabric port of the legendary mod "The Lost Cities" originally created by McJty.
- Загрузки
- 10K
- Подписчики
- 11
- Обновлён
- 28 августа 2026 г.
- Лицензия
- MIT
Опубликован 24 января 2026 г.
🏙️ Lost Cities - Fabric Port
Generate abandoned cities across your Minecraft world!
This is a Fabric port of the popular Lost Cities mod by McJty, bringing the same abandoned city generation experience to Fabric 1.20.1.
🌆 Features
- 17 Generation Profiles - Choose from default cities, cavern cities, floating islands, space spheres, biospheres, and more!
- Full City Generation - Buildings, streets, highways, and bridges
- Customizable - Full datapack support for custom buildings, palettes, and styles
- GUI Integration - Easy profile selection when creating worlds
- Server-Side - Works on dedicated servers, client optional
⚠️ Beta Status
This mod is currently in BETA (~60-65% complete). Core world generation works, but some features from the original mod are still being ported.
What works:
- ✅ City generation with buildings, streets, highways
- ✅ 17 standard profiles
- ✅ Profile selection GUI
- ✅ Datapack support
Coming soon:
- ⏳ Monorails, railways, corridors
- ⏳ Structure avoidance
- ⏳ API for other mods
- ⏳ Commands and config GUI
📦 Requirements
- Minecraft 1.20.1
- Fabric Loader >= 0.15.0
- Fabric API >= 0.92.7
- Java >= 17
🔗 Links
- Original Mod (Forge): McJty's Lost Cities
- GitHub: Lost-Cities-port-Fabric
- Port Author: sunshainy
📝 Notes
This is a BETA version - bugs and performance issues may occur Backup your worlds before using this mod Not recommended for production servers yet Original mod by McJty: https://github.com/McJtyMods/LostCities
⚡ Installation
- Install Fabric Loader for Minecraft 1.20.1
- Install Fabric API
- Place the mod JAR in your
mods/folder - Create a new world and click "Cities" button to select a profile
Enjoy exploring abandoned cities! 🏙️✨
Ченджлог
1.0.1Релиз1.20.2, 1.20.3, 1.20.4 · 28 августа 2026 г.
v1.0.1
Bugfix release. Fixes #5 and the city density that left no vanilla terrain in 1.0.0.
Minecraft 1.20 – 1.20.4, Fabric Loader >= 0.15.0, Java 17+. Requires Fabric API.
Fixed: terrain cliffs at chunk borders (#5)
City generation was reading terrain height via world.getTopY(), which goes through ChunkRegion.getChunk(). But the city needs heights from neighboring chunks — for borders, for USE_AVG_HEIGHTMAP averaging, and for finding highway ends in Highway.getHighwayLevel(), which scans until the highway terminates. Such chunks lie far outside the region handed to the feature, so every request logged
Requested chunk : X Z
Region bounds : ...
and threw We are asking a region for a chunk out of bound. The catch block then substituted a hardcoded ground level of 71 and cached it, so the wrong height stuck for the entire session. Neighboring chunks got different cityLevel/isCity values depending on generation order, producing walls and trenches at their seams — exactly the artifacts from the issue. Chunky made it worse since it generates in a different order and across multiple threads.
Height is now taken directly from the generator's noise via ChunkGenerator.getHeight() — as in the original Forge mod (LostCityTerrainFeature.generateHeightmap uses generator.getBaseHeight). Chunks are no longer requested at all, it works for any coordinates, and the result no longer depends on generation order.
Fixed: races and cache poisoning
From the same bug family, all surfacing specifically during multithreaded pre-generation:
- Stub/placeholder values are no longer cached (height,
cityLevel, highway level, predefined-city maps). A single early miss used to corrupt the cache for the rest of the session. - Highway level caches were plain
HashMaps written from multipleWorker-Mainthreads — replaced withConcurrentHashMap; Perlin noise generators are now published safely by seed instead of via racy static fields. City.calculatePredefinedMaps()was handing other threads partially-filled maps — it now builds locally and publishes under a lock.- Height/level caches were keyed only by chunk coordinates, so two simultaneously loaded dimensions overwrote each other's values. A "dimension + chunk" key was added.
- The ground-level fallback is now the active profile's
groundLevel, not a hardcoded 71.
Fixed: the entire world was a city
cityChance reverted to 0.01 (the original's default). In 1.0.0 it had been raised to 0.05, leaving no vanilla terrain at all.
cityChance is the chance that a chunk becomes a city center, and getCityFactor sums the contributions of all centers within cityMaxRadius. The relationship is sharply nonlinear. Measured share of city chunks at threshold 0.2, radius 50–128:
| cityChance | city chunks |
|---|---|
| 0.005 | 29% |
| 0.01 | 50% |
| 0.02 | 75% |
| 0.03 | 88% |
| 0.05 | 97% |
Verified in-game on seed 12345 over the same 625-chunk area: at 0.05, 606 chunks (97%) were cities; at 0.01, 209 (33%).
Additionally, cityThreshold is now actually read. The field existed in ProfileConfig, but the value 0.2 was hardcoded in three places, so the setting did nothing — and the built-in space profile from ProfileSetup (cityThreshold = 0.05) was silently ignored. This is a gentler lever than cityChance: at cityChance = 0.01, a threshold of 0.2 gives 50% city chunks, 0.4 gives about 28%, and 0.7 gives about 18%.
Both numbers are now documented with measurement tables directly in ProfileConfig.
Updating existing worlds
cityChance changes city layout, so there will be seams between old and new chunks. For worlds already in progress, either set cityChance = 0.05 back in the config, or start a new world.|
0.8.0-betaБета1.20.2, 1.20.3, 1.20.4 · 11 июня 2026 г.
Changelog
All notable changes to this project will be documented in this file.
[0.8.0-beta] - 2026-06-11
Added
- Rail Corridors: Implemented underground connections between buildings.
- Scattered Stuff: Added debris, trash, and decorative elements to city streets.
Optimized
- QualityRandom: Replaced vanilla Random with a custom implementation for better performance and deterministic generation.
- Worldgen Logic: Improved palette selection and enhanced generation to better utilize world seed and building data.
- Rotation: Refactored rotation logic to ensure consistent 16x16 chunk-relative placement for building parts and stairs.
Fixed
- Profile Selection: Fixed issues in GUI and configuration logic.
Changed
- Compatibility: Expanded support to include both Minecraft 1.20 - 1.20.4.
- Mod Metadata: Updated versioning and narrowed dependencies.
- logged off
0.7.0-betaБета1.20 · 26 января 2026 г.
Fixed config initialization, when you select a config and enter the world, the config does not load and only loads after you re-enter the world. Now the config is initialized immediately
0.7.0-betaБета1.20.1 · 26 января 2026 г.
Fixed config initialization, when you select a config and enter the world, the config does not load and only loads after you re-enter the world. Now the config is initialized immediately
0.6.0-betaБета1.20.1 · 26 января 2026 г.
🏙️ Lost Cities Fabric Port - v0.6.0-beta
⚠️ BETA RELEASE - First Public Version
This is the initial beta release of Lost Cities ported to Fabric 1.20.1. The mod is approximately 60-65% complete in terms of world generation functionality.
✨ What's New
Core Features:
- ✅ Complete world generation system (95% implemented)
- ✅ Building generation with multiple floor support
- ✅ Street and highway generation
- ✅ Bridge generation
- ✅ Asset and palette system (fully functional)
- ✅ 17 standard generation profiles (default, cavern, space, floating, biosphere, etc.)
- ✅ Profile selection GUI when creating a world
- ✅ Terrain and block state correction system
- ✅ Multi-chunk building support (2×2, 3×3 chunks)
- ✅ Datapack support for custom buildings, palettes, and parts
Technical Improvements:
- ✅ Ported from Forge to Fabric API
- ✅ Proper Yarn mappings integration
- ✅ Client-server architecture (server-side generation, optional client GUI)
- ✅ Resource reload listener for assets
- ✅ Cache management system
🔄 Known Limitations (In Development)
- ⏳ Structure generators: Corridors, Monorails, Railways, Scattered, Spheres
- ⏳ Structure avoidance system
- ⏳ API for compatibility with other mods
- ⏳ In-game commands and configuration GUI
- ⏳ Building part editor
📝 Notes
- This is a BETA version - bugs and performance issues may occur
- Backup your worlds before using this mod
- Not recommended for production servers yet
- Original mod by McJty: https://github.com/McJtyMods/LostCities
🐛 Bug Reports
Please report issues on GitHub: https://github.com/Sunshainy/Lost-Cities-port-Fabric
Комментарии
Загружаем…