Ancient City Underground

Quick rating

Ancient City Underground

No reviews yet

Makes Ancient Cities generate densely underground in all Overworld biomes. Every chunk is covered by city structures with moderate overlap. Players spawn safely inside the city.

Adventure/Exploration
World Gen Improvements
Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Dev Environment
Client Unsupported
Server Required

About

Project Details

Type
Mod
License
Creative Commons Zero v1.0 Universal
Latest Version
1.0.0
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Ancient City Underground 🏛️

Let Ancient Cities Fill the Underground


Introduction

Ancient City Underground is a Fabric mod that completely reworks Ancient City generation:

  • All Biomes — Ancient Cities are no longer restricted to the Deep Dark. They generate in all Overworld biomes underground.
  • High Density — Generation spacing of 10 chunks. With a 128-block city radius, every chunk is covered by city structures.
  • Moderate Overlap — Cities overlap just enough for full coverage without excessive clustering.
  • Safe Spawning — On first join, players spawn at a random safe spot inside the nearest city — a walkway, courtyard, or other open area.
  • Bedrock Roof — A bedrock layer at Y=60 seals the underground world. No blocks or mobs generate above it.
  • Fully Compatible — Does not affect End Portals, Strongholds, or any other vanilla structures.

Features

Feature Description
🗺️ All Biomes Generate under plains, deserts, forests, oceans, mountains — every Overworld biome
📐 Optimized Density spacing=10, separation=2, ~160 block average spacing, 128-block coverage radius
🎲 Random Spawn Each new world spawns you at a different spot — courtyard, walkway, or city gate
🛡️ Safety Check Automatically verifies ground is solid, body and head are in open air
🧱 Bedrock Roof Bedrock layer at Y=60 with no blocks or mobs above — a sealed underground world
Lightweight Pure datapack overrides + Mixin, no vanilla structure definitions modified

Versions

Two versions are available:

Version Features JAR
Full Ancient cities + spawn + bedrock roof Y=60 + no mobs ancient-city-underground-full-1.0.0.jar
Classic Ancient cities + spawn only ancient-city-underground-classic-1.0.0.jar

Requirements

  • Minecraft: 1.21.11
  • Loader: Fabric Loader ≥ 0.19.3
  • Dependency: Fabric API ≥ 0.141.4+1.21.11
  • Java: ≥ 21

This is a SERVER-SIDE mod. It works on dedicated servers, and clients do not need to install it. For single-player, it works as normal.

Installation

  1. Install Fabric Loader
  2. Download Fabric API
  3. Download the mod JAR
  4. Place the JAR into .minecraft/mods/
  5. Launch the game and create a new world

Technical Details

How it works

Mechanism Method
All-biome generation Datapack override: has_structure/ancient_city.json#minecraft:is_overworld
Generation density Datapack override: structure_set/ancient_city.jsonspacing=10, separation=2
Player spawn Mixin into PlayerList#placeNewPlayer — finds nearest city, picks random safe position
Bedrock roof Mixin into LevelChunk constructor — clears blocks above Y=60, places bedrock at Y=60
Mob restriction Mixin into NaturalSpawner — cancels spawns above Y=60

Structure Set Parameters

{
    "placement": {
        "type": "minecraft:random_spread",
        "spacing": 10,
        "separation": 2,
        "salt": 191119
    }
}
Parameter Value Description
spacing 10 Grid size in chunks. One city per 10×10 chunk cell
separation 2 Minimum distance from cell boundary
Min center distance 64 blocks Closest two cities can be
Max center distance 256 blocks Farthest two cities can be (edges just touch)
Coverage radius 128 blocks Vanilla max_distance_from_center, unchanged

Screenshots

Ancient City Underground


Compatibility

  • ✅ Ancient Cities in all Overworld biomes
  • ✅ No vanilla structure definitions modified
  • ✅ End Portals unaffected
  • ✅ Strongholds unaffected
  • ✅ Other structures unaffected
  • ℹ️ Only affects newly generated chunks (requires new world)

License

This project is available under the CC0 1.0 Universal license. Feel free to use, modify, and share.


Made with ❤️ by xiaomaiya

GitHub

Screenshots

Gallery

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works