LC²H | Lost Cities: Multithreaded
Compatibility Notice
Officially supported and tested:
- C2ME
- Sinytra Connector (fixed sync + loader edge cases in V3.2.0)
- Distant Horizons (boot crash fix + pull-based LOD sampling in V3.2.0)
These mods are validated with LC²H V3 and are marked as supported.
What Is LC²H
LC²H is a performance and stability rework layer for The Lost Cities.
V3 moves the full generator pipeline off the Minecraft main thread.
City generation is fully async, parallel, and safely applied.
V3.0.0 – An Engineering Marvel
A ground-up rebuild with:
- Job-based generator API
- Async scheduler
- Parallel worker pools
- Thread-safe translation layer
- Multi-tier caching
- Optional GPU acceleration
City Safe Structure System
- Prevents structures inside cities
- Removes floating vegetation
- Cleans worldgen artifacts
Result: clean city skylines.
Config UI
Commands removed. Config is now in-game UI.
Path: Mods → LC2H → Config
Why V3 Is Fast
- Pull-based main-thread apply
- No queue flooding
- Stable TPS
- Predictable load times
Translation Layer
Makes Lost Cities thread-safe by isolating unsafe state.
Credits
McJty – creator of The Lost Cities.
LC²H – Version 3.2.2
Created by Admany – BlackRift Studios
January 28, 2026
All Versions
+ Add Version<div style="font-family:'JetBrains Mono','Courier New',monospace;color:#e0e0e0">
<h1 style="text-align:center;color:#ffffff">LC²H V3.5.0 | More Perf + Improved City Gen :D</h1>
<hr style="border-color:#333">
<div style="border:1px solid #90caf9;padding:12px;background-color:#111;color:#e3f2fd">
<p style="font-size:18px;color:#90caf9"><strong>V3.5.0 Overview</strong></p>
<p>V3.5.0 focus is better performance on toasters + worldgen fixes (Bug). This update aims to improve city stitching, reduce heavy
BuildingInfo lookups (Optimised), while also performing better when <strong>Distant Horizons</strong> is installed.</p></div>
<br>
<div style="border:1px solid #ce93d8;padding:12px;background-color:#111;color:#f3e5f5">
<p style="font-size:16px;color:#ce93d8"><strong>City Boundary Stitching</strong></p>
<ul style="color:#e1bee7">
<li>Fixed hard city cuts at <strong>multichunk area boundaries</strong>(Bug reported on Discord. Thx to lordchaos4)</li>
<li>Added better boundary tracking for neighboring city areas</li>
<li>Improved city chunk role detection around border chunks</li>
<li>Roads/buildings should now properly connect across areas</li>
</ul>
</div>
<br>
<div style="border:1px solid #81c784;padding:12px;background-color:#111;color:#e8f5e9">
<p style="font-size:16px;color:#a5d6a7"><strong>Shadow Apply Expansion</strong></p>
<ul style="color:#c8e6c9">
<li>Added more gen phase shadow apply paths (Ditching queues)</li>
<li>Moved almost all cleanup work away from the main thread</li>
<li>Chunk post-processing should now perform a lot better with more throughput</li>
</ul>
</div>
<br>
<div style="border:1px solid #4db6ac;padding:12px;background-color:#111;color:#e0f2f1">
<p style="font-size:16px;color:#80cbc4"><strong>BuildingInfo Performance Upgrades</strong></p>
<ul style="color:#b2dfdb">
<li>Added BuildingInfo snapshotting for faster repeated lookups (Cuts around-ish 50% CPU load. Depends on hardware)</li>
<li>Improved chunk role probing for less repeated state checks</li>
<li>Reduced duplicate work when nearby chunks are already known/generated</li>
<li>Better throughput in general (Especially heavy packs or huuuge cities)</li>
</ul>
</div>
<br>
<div style="border:1px solid #ffcc80;padding:12px;background-color:#111;color:#fff3e0">
<p style="font-size:16px;color:#ffcc80"><strong>Distant Horizons Compatibility Improvements</strong></p>
<ul style="color:#ffe0b2">
<li>Reduced cases where <strong>Distant Horizons</strong> actively enjoyed bottlenecking LC²H xd </li>
<li>Improved DH scheduling</li>
</ul>
</div>
<br>
<div style="border:1px solid #90caf9;padding:12px;background-color:#111;color:#e3f2fd">
<p style="font-size:16px;color:#90caf9"><strong>Generation Fixes</strong></p>
<ul style="color:#bbdefb">
<li>Improved city block identification around boundary chunks</li>
<li>Fixed more edge cases where valid city chunks did not stitch correctly due to code issues</li>
<li>Improved lostcities dimension handling in city/spawn logic (Was brokey)</li>
</ul>
</div>
<br>
<div style="border:1px solid #b0bec5;padding:12px;background-color:#111;color:#eceff1">
<p style="font-size:16px;color:#b0bec5"><strong>Extras</strong></p>
<ul style="color:#cfd8dc">
<li>Added a new command
/lc2h profile [profile name]. This forces The Lost Cities to generate cities and roads in an existing world, while not overwriting already generated chunks. (Requested feature). IT'S EXPERIMENTAL AND RISKY BTW</li></div>
<br>
<div style="border:1px solid #b0bec5;padding:12px;background-color:#111;color:#eceff1">
<p style="font-size:16px;color:#b0bec5"><strong>Codebase Cleanup</strong></p>
<ul style="color:#cfd8dc">
<li>Moved all Forge logic into it's own folder (Prepping for port)</li>
<li>Cleaned up unused old code</li>
<li>Made the project easier to port later</li>
</ul>
</div>
<hr style="border-color:#333">
</div>
This update is a pretty major one. Trees in cities have been fully reworked, performance has been cleaned up a lot more, and a few nasty compatibility issues were patched too.
The goal with V3.3.0 was simple: better-looking cities, less broken generation, and more throughput without wasting CPU on dumb stuff.
## Fully Redone Tree System
- Trees near city borders, highways, buildings, and other Lost Cities structures are now handled through a much smarter deferred/captured placement flow
- Trees can now span multiple chunks far more naturally instead of getting flat-cut, half-deleted, or shaved off at seams
- City overgrowth looks much more natural now, especially in large forested areas and Biomes O' Plenty-heavy worlds
- The end result is that city landscapes feel way more alive instead of looking like the generator took a chainsaw to every tree
- Before trees in cities:**

- Trees with LC²H V3.3.0 in cities:**

## Performance Improvements
- Chunk throughput improved a lot in monitored runs, with one comparison going from **587 CPM** to **753 CPM**
- Quantified API** cache behavior was cleaned up so it wastes a lot less CPU time on background persistence and disk churn
- One of the older heavy threads, **quantified-cache-io**, stopped showing up as a top CPU-heavy thread in newer runs
- Average CPU usage stayed roughly the same or a bit lower while generating more chunks, which is the kind of gain that actually matters
- Warmup, planner, cleanup, and other internal systems were also tuned further so the game spends less time fighting itself under load
## Compatibility Fixes
- Patched compatibility for **Refined Storage** and RS-based addons such as **ExtraStorage** and **Extra Disks**
- This improves recovery/reconnect behavior for RS network-node block entities when chunks are loaded/applied through LC²H
- Should help avoid cases where RS blocks exist visually but their storage/network side ends up half-broken after load
## Extra Cleanup + Stability Work
- Added more monitoring/telemetry so future issues are much easier to track down properly instead of guessing
- OpenCL task routing and fallback behavior was cleaned up so it behaves more correctly and wastes less work
- Overall V3.3.0 is meant to feel more polished, more stable, and just way nicer to actually play with in bigger modpacks
- _Official Modrinth push_**