For the original version of this mod go here. As per usual, many thanks to the original authors and contributors for even making this work theoretically possible.
Tectonic is a great terrain generation mod that lies at the heart of the Au Naturel modpack, but the performance during chunk generation compared to vanilla often left something to be desired. This meant it was one of the practical blockers for my goal of practical survival play, as the server was often unable to build chunks fast enough for a player to play in real time, necessitating resource heavy and technically challenging pre-generation.
This is a fork of Tectonic 3.0.17 with the goal of making the mod especially performant to allow complex modded survival gameplay without pregeneration. Remember though, in practice, optimisations of entire modpacks depend upon the ecosystem of modifications, not just a single mod.
On a technical level, this is what we've tried to achieve (current change summary from Claude):
| Change | File | Purpose |
|---|---|---|
Volatile LOADED_STATE |
ConfigHandler.java:19 | Ensures config state visibility across C2ME worker threads |
| ThreadLocal cleanup hooks | ConfigNoise.java:200, ConfigClamp.java | Prevents memory leaks when threads are recycled |
| Change | File | Purpose |
|---|---|---|
| LRU cache eviction (256 max) | ConfigNoise.java:27-40 | Prevents unbounded cache growth and thrashing |
| Array pooling | ConfigClamp.java:43-60 | Reuses double[] arrays via ThreadLocal pools |
| Cached empty ShortList | ChunkAccessMixin.java | Avoids allocation on error path |
| Change | File | Impact |
|---|---|---|
| Continentalness: 9→6 octaves | continentalness.json | ~33% fewer noise passes |
| Erosion: 9→6 octaves | erosion.json | ~33% fewer noise passes |
Join the discord to discuss feedback, issues, questions, suggestions.