0.9.12
Compatibility
Required content
Changes
TAW 0.9.12 — Cumulative Changelog
This update includes all major changes introduced between 0.9.2 and 0.9.12, expanding TAW’s world-generation compatibility, urban systems, server controls and performance.
0.9.2 — Worldgen Stability
Fixed a potential deadlock during chunk generation. TAW no longer queries heightmaps or surface data from unsafe world-generation callbacks. Surface and cave checks are deferred to safe gameplay stages.
0.9.3 — Progress Administration
Added server-side commands for managing player progress. Administrators can reset exploration, wildlife or complete TAW progress. Individual species, locations, regions, countries, continents and natural wonders can be removed from a player’s records. Journal data, advancements and dependent achievements remain synchronized. Commands require permission level 2 and do not affect player XP.
0.9.4 — Large Aquatic Swimming Space
Large aquatic animals now require an appropriate volume of water. Prevents whales, sperm whales, orcas, manatees and dugongs from spawning in tiny rivers, shallow pools or unsuitable enclosed spaces. Validation remains server-side and safe during world generation.
0.9.5 — Real-World Urban Centers
Added real-world settlement generation for Tellus worlds without Buildings. Cities generate settlement clusters according to their real-world importance. Added five urban tiers: Regional: 1 settlement Major: 2 settlements Metropolis: 3 settlements Megacity: 5 settlements Megalopolis: 7 settlements Tellus Buildings automatically takes priority and disables replacement settlements. Roads-only generation can be configured. Added optional support for Luki’s Grand Capitals.
0.9.6 — Expanded Urban Catalog
Expanded the included catalog from 137 to 372 real urban centers. Significantly improved coverage across Mexico, Latin America and remote regions. Added extensive coverage for Chilean and Argentinian Patagonia, including Cochrane, Coyhaique, Puerto Natales, Punta Arenas, Bariloche, Ushuaia and many others.
0.9.7 — Urban Polish and Waystones
Trees are cleared progressively before settlement placement. Only logs and leaves are removed. Vanilla villages use a 64-block clearance radius. Luki capital structures use a 96-block clearance radius. Newly generated Waystones receive the corresponding real-world city name. Secondary settlements use directional suffixes to avoid duplicate names. Existing and player-created Waystones are protected. Waystones integration remains optional.
0.9.8 — Spatial Urban Index
Expanded the built-in catalog from 372 to 616 urban centers. Added geographic and Minecraft-coordinate spatial indexes. New chunks only check nearby cities instead of scanning the complete catalog. Moved the city database to a resource-based TSV catalog for easier expansion. Preserved existing city IDs and world data compatibility.
0.9.9 — Scalable Worldwide City Catalog
Added optional GeoNames cities1000 integration. Prioritized coverage in:
- Mexico
- Latin America
- Europe
- Japan
- The rest of the world Added population-based automatic urban tiers. Added geographic deduplication to prevent overlapping metropolitan clusters. GeoNames data is downloaded asynchronously and stored in a local cache. If the download fails, TAW safely falls back to the 616 included cities. Chunk events remain constant-time and do not perform geographic, biome or height calculations.
0.9.10 — Tellus OSM Population
Added initial population for Tellus cities generated with both Roads and Buildings enabled. Population is independent from the Urban Centers catalog. TAW detects real bed heads in newly generated chunks. Residents are created gradually instead of spawning an entire city at once. Iron Golems appear according to the local villager population. Persistent bookkeeping prevents duplicated inhabitants after restarts or chunk reloads.
0.9.11 — Population Controls and Zombie Mode
Added a population configuration screen and server commands. Added three resident modes:
- Villagers
- Zombies
- Disabled
- Zombie mode replaces villagers and disables Iron Golems.
- Added configurable resident density from 10% to 100% per bed.
- Added resident limits from 1 to 32 per chunk.
- Added configurable Iron Golem frequency from 10 to 200 villagers.
- Added Iron Golem limits from 0 to 8 per chunk.
- Population settings are server-authoritative and persist in taw-server.properties.
0.9.12 — Smooth Tick Scheduler
Periodic TAW systems no longer execute together on the same tick. Fauna, river spawning, terrestrial spawning, Urban Centers, city population and location processing now run on separate ticks. The broad fauna census runs every two seconds and is skipped when no compatible external fauna is installed. Bed scanning is limited to 64 chunks and approximately 1.5 ms per pass. Population placement checks at most 16 sites per pass with a separate time budget. Resident placement examines at most 64 positions per attempt. Iron Golem placement examines 96 distributed road positions per attempt. Failed placement uses progressive cooldowns and stops after four bounded attempts. Successful resident spawning no longer reprocesses every loaded chunk. Inactive Urban Centers no longer accumulate and clear unnecessary chunk queues. Tree clearance was reduced to smaller 128-column batches. Empty processed chunks are now stored as a compact counter instead of an indefinitely growing list. Existing beds, villagers, zombies and Iron Golems remain preserved during migration.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:KwfT6WYP:zny4Y1vI"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:KwfT6WYP:zny4Y1vI"
}

