promotional bannermobile promotional banner
screenshot image
  • screenshot thumbnail


With the death of Bukkit, I will no longer be supporting this plugin. If it still works for you, fantastic. If not, you are on your own. All the source will remain available on GitHub. Farewell, -DeltaHat


Subterranea is a modification of the Vanilla terrain generator that switches the above and below ground spaces so your world has 192 layers below sea level and 64 layers above. Great for Mole Man worlds.

Example World

Works Best With

Giant Caves Toxic Skies


  • Creates a world mostly underground instead of mostly full of air.
  • Fully supports Multiverse2
  • Tightly integrated with GiantCaves
  • All the expected above ground features of the vanilla terrain generator: villages, temples, trees, etc.
  • All the expected below ground features of the vanilla terrain generator: caves, ores, lakes, lava, etc.
  • Increased ore generation - since the world is three times as deep, ores range three times as high
  • Underground biomes - find hidden mushroom caverns and mysterious underground trees burried in the depths
  • Silverfish colonies - rare but terrifying


  1. Put the plugin in your plugins directory
  2. Add a worlds section to your bukkit.yml or use Multiverse
  3. Visit your new world and start exploring
    generator: Subterranea[:options]

bukkit.yml example

    generator: Subterranea:-giant-caves


  • If you use "world" for [worldname] in your bukkit.yml, Subterranea will run in your default world.
  • [:options] can be omitted to use the default settings. See below for details.
  • I highly recommend using a plugin like [World Border]( to pre-generate your map. Generating new chunks with Subterranea is very CPU intensive.

Subterranea Options

The Subterranea world generator supports a number of options. Options are passed into the generator using the [:options] string in the above examples. Always put a colon between the word Subterranea and the options string.

-underground-biomes: (true or false, default true) Enables or disables underground bionme creation

-silverfish: (true or false, default true) Enables or disables silverfish colony creation hidden in the stone.

-giant-caves: (default sxz=500,sy=175,cutoff=65,miny=40,maxy=160) Enables or disables the Giant Caves plugin. An optional configuration string can be passed into this option to configure the Giant Caves generator. See the Giant Caves documentation for a description of each setting and how it affects cave creation. You need to install Giant Caves for this to work!

-ore-multiplier: (default 3) Sets how many passes the ore populator should make over each chunk. A value of three keeps about the same or density as vanilla. A value above ten may significantly slow down chunk creation.

Using Subterranea with Giant Caves

Subterranea is compatible with Giant Caves. To add Giant Caves to a Subterranea world, just add -giant-caves to the [:options] string.

Using Subterranea with Multiverse

To use Subterranea with Multiverse, use the following sequence of commands

  1. mv create world_name NORMAL -g "Subterranea[:options]"
  2. mv tp world_name


  • [:options] can be omitted to use the default settings. See below for details.
  • If you plan on using Subterranea in conjunction with Giant Caves _and_ Multiverse, delete the contents of the Giant Caves config.yml file.

Multiverse Example:

mv create DeepWorld NORMAL -g "Subterranea:-underground-biomes true 
    -silverfish true -giant-caves sxz=500,sy=175,cutoff=65,miny=10,

Create a new Subterranea world called DeepWorld with underground biomes, silverfish, and gaint caves from layer 10 to layer 180


This plugin utilizes Hidendra's plugin metrics system. the following information is collected and sent to unless opted out:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • Plugin's version
  • Server's version
  • OS version/name and architecture
  • core count for the CPU
  • Number of players online
  • Metrics version

Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true.