HomeJavaModsAncient City Underground
Ancient City Underground
ModsJava

Ancient City Underground

by xkk-112358 · on Modrinth

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

⬇ Download on Modrinth
Ancient City Underground — screenshot 1

Ancient City Underground 🏛️

Let Ancient Cities Fill the Underground


Introduction

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


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

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


License

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


Made with ❤️ by xiaomaiya

GitHub

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more