Open Terrain Generator (OpenTerrainGenerator / OTG)

5,792,875 Downloads Last Updated: Dec 28, 2020 Game Version: 1.12.2

To learn about the mod in more detail visit our Wiki

* OTG V9 is out and is the last major version for 1.12.2, read the changelogs and check out the "O" menu for Forge. *

* OTG 1.16 is in development, alpha builds are available on the Discord. *

* MCPitman's new preset Wildlands has been released! *


Note: When updating be sure to delete OTG-Core.jar from the 1.12.2 folder or it will not be updated.

Join us on the Discord at or github for questions or problems.


What is OTG?


OTG is a fully customizable world generator that allows users to design worlds via configuration files and share them with other players as their own mods, called OTG presets. Through configuration files, OTG preset creators have control over almost every aspect of Minecraft's terrain and structure generation, creating anything from floating islands to cave worlds with no knowledge of Java required. For Forge, OTG allows users to add presets as dimensions with their own game rules and environmental effects, that can be easily added, explored, deleted and recreated by OTG users via the ingame UI. Using all of OTG's features, you can design OTG dimensions for exploration, survival, pvp arena's, mini-games etc, include procedurally generated content and structures and package the whole as your own mod. OTG supports both Spigot (MP) and Forge (SP & MP), though some features are Forge only (OTG dimensions, ingame O menu).


Note: You don't need to start over your existing worlds for OTG, you can use an existing non-OTG overworld, and use the ingame O menu to add OTG dimensions.


OTG Presets: How do they work and where can I get them?


OTG configuration files are distributed as presets, single jar files that work just like normal mods. Users install an OTG preset like a normal mod, by placing the mod jar in the mods folder along with the OTG jar. After this, the preset appears in the OTG world creation menu and the dimension management menu, ready to be used by the player to create a new overworld/dimension. For spigot servers, preset files have to be unpacked from the preset jar and copied to the right location, see the OTG wiki for more information.

The following OTG presets are currently available for download:



Be sure to check CurseForge and the OpenTerrainGenerator Discord for new OTG presets. We hope to see many more OTG presets and preset creators in the future. Join us on the Discord at and become part of the community!


The basic features of OTG

  • Control horizontal and vertical noise, terrain height and volatility, blocks used.
  • Create new biomes and control the size of biomes, islands and continents.
  • Design and import custom trees and other objects (BO2 and BO3).
  • Control over mob spawning rules and climate settings per biome.
  • Design large, procedurally generated custom structures such as dungeons, villages, cities, mountains, volcanoes etc with custom mobs and loot.
  • Options for vanilla structures like mineshafts, strongholds and villages.
  • Full control of all blocks placed during world generation: ores, plants, dungeons, ponds and many more.
  • Customizable options for caves & canyons.
  • Visual settings like custom foliage, water and sky colors (OTG client required).
  • Generate biome maps from images, or randomly based on your configurations and a seed (just like vanilla).
  • Forge pregenerator allows you to pre-generate any OTG dimension/overworld via the ingame "O" menu.
  • For Forge, OTG dimensions can be created/deleted on the fly via the in-game "O" menu.
  • For Forge since 1.12.2-v8, OTG can be used with existing (OTG and non-OTG) overworlds, OTG worlds can be added as dimensions, no need to start over!
  • Forge per-dimension settings can be edited via the in-game "O" menu, such as game rules and environmental effects (fog, lighting, day/night, weather, gravity, block-protect, add/remove items, respawn rules, join/leave message and many more).


Existing users

  • OTG v9 is compatible with existing v6 or above worlds.
  • Be sure to delete OTG-Core.jar from the mods/1.12.2 folder when updating.
  • Set PregeneratorMaxChunksPerTick higher in OTG.ini for better pregeneration speed, but more lag.
  • Always back-up your files before updating!


Known issues / FAQ

  • Some problems with dimension management mods (RFTools) may occur, please report these on the OTG Discord or Github, thanks!
  • OTG does not support other mods' biomes spawning in OTG overworlds/dimensions, however most modded resources and mobs etc do spawn in OTG biomes. OTG has some features to impersonate other mods' biomes and adopt their behaviours, e.g. the Biome Bundle 'O Plenty preset uses these to impersonate Biomes 'O Plenty biomes. You can also use a BOP overworld with OTG dimensions.


OTG Wiki:

Subreddit: /r/openterraingen

Join us on Discord at: openterraingen

Github issue tracker: Github

To package your preset as a mod see: WorldPacker Github


Recent Improvements:



1.12.2 v9.0

V9 is the final major version for 1.12.2 and adds the finishing touches to pretty much everything.

- Significant performance improvement for all world types.

- Lots of new and improved features to create a smooth experience for users, content creators and modpack developers.

- Fixed all known critical bugs for 1.12.2. Some non-critical issues remain (see the github), but will not be picked up for 1.12.2.


Update notes

- After updating, if you get an error when loading MC that mentions OTG-Core, delete /mods/1.12.2/OTG-Core.jar, an updated OTG-Core.jar is generated the next time you start MC.

- If you're using a preset that uses .BO4Data files, such as Planets, Moon, Alien Jungle or Wasteland, you'll have to delete any .BO4Data files in the preset directories or your world will log errors and won't spawn BO4's. Note: Biome Bundle, Biome Bundle 'O Plenty and Vanilla Vistas do not use .BO4Data, so they are not affected.

- Some structure data for existing worlds may be abandoned when updating, leading to /otg structure not reporting structure info or some BO4 structures being cut off (Biome Bundle, Biome Bundle 'O Plenty and Vanilla Vistas do not use BO4 structures so are not affected).



- /otg map for Forge
- /otg spawn
-- "/otg spawn <bo3/bo4 objectname> [biomes]
-- Objectname allows spaces in the name
-- [biomes] is for BO4 structures, a list of biomes to spawn in.
-- Has to be in the form [Forest,Desert]
-- Now works for Forge.
-- Allows spawning CustomObjects or BO4 structures
-- Ignores block checks when spawning objects
- Added /otg time command, for setting time in a dimension (vanilla command only affects overworld).
- Added /otg weather command, for setting weather in a dimension (vanilla command only affects overworld).
- Added /otg export command.
-- /otg export <objectname> [center_block] [flags]
-- Exports a worldedit region to a BO3/BO4 file in the GlobalObjects folder.
-- center_block lets you specify where it puts (0,0) with a material name
-- Flags:
-- "-a" to include air blocks
-- "-t" to include tile entities
-- "-b" to cut the export into branches
-- "-bo4" to make the export a BO4 (BO3 by default)
-- "-o" to override existing file
- /otg tp searches in an 8k block radius
- Added /otg particles, shows a list of particles (for use with OTG portals f.e.)
- Added /otg structure for spigot
- Added /otg biome -m for Spigot to view mob spawn lists for biomes


World and Biome Settings

- For FromImage mode, continuenormal fills gaps in the map, allowing for a basic "hybrid" mode.
- Added custom fog colour and density settings per biome.
- Added BetterSnow setting.
-- Makes snow spawn in layers (1-8), thickness depending on temperature (temperature decreases with altitude).
-- Leaves can carry max 3 layers, the rest falls through.
- Added FoliageColor2/GrassColor2 for biomes, instead of a single grass/foliage color, uses a 2-color pattern like vanilla swamps, Forge client only.
- Added ImprovedBiomeGroups setting to worldconfig, fixes biome groups not changing with seeds.
- Added ImprovedBiomeBorders setting to worldconfig, fixes borders sometimes spawning in the wrong place / not spawning where they should.
- Added CustomHeightControlSmoothing setting to worldconfig, enables smoothing for CHC.
- Added ImprovedSmoothing setting to worldconfig, enables smoothing for vol1/vol2/maxAvgHeight/maxAvgDepth.
- Added modded sapling support for Forge. Syntax: Sapling(Custom, saplingmaterial, widetrunk, ...)
- Added DisableOreGen true/false setting to worldconfig. Disables all Ore, UnderWaterOre and Vein resources in biomes that use any type of ore block.
- Added UnderWaterPlant(), same as Plant but spawns only in water blocks. Use with modded underwater plants like biomesoplenty:coral etc.
- Replaceblocks has been optimised and is applied only to each block placed by OTG when it's placed, instead of replacing the entire chunk at the end of population.



- New OTG portal blocks and mechanics:
-- OTG adds its own portal blocks and doesn't touch vanilla portals, better mod compatibility.
-- Portals don't disappear on block update.
-- Configurable portal colors.
-- Configurable portal particles.
-- Configurable portal mob spawning.
-- OTG portals can tp players in minecarts. 


Modpack config

- Removed all existing behaviours for hiding/showing presets in the OTG world creation menu.
- Added ShowInWorldCreationGUI (true/false) field to config.yaml per dimension (invisible in UI). Set to false for dimensions to hide their presets from the OTG world creation UI when creating a new SP world. Any presets used for the overworld in any modpack config are always shown. All presets are always shown in the O menu when editing dimensions (presets already used as dimensions are greyed out).
- If a modpack config is present that uses a non-otg overworld, ShowOTGWorldCreationMenu: true can be set to disable the OTG world creation menu. The modpack config's dimensions are automatically added when the user creates a non-otg overworld. The O menu still works ingame.
- Dimension id's are configurable via modpack config and when creating dims
- Added ModPackConfigName and ModPackConfigVersion to config.yaml root, to be updated by modpack creators for each version they release. When an updated modpack config is detected, the config.yaml for an existing world is updated when loaded. Settings like dim id, seed, pregenerationradius etc are not overwritten. Any missing dimensions from the modpack config are added automatically.


BO3 & BO4 changes

- BO4's work for Spigot.
- Entity() overhaul:
-- Entity() supports .nbt files
-- Entity() NBT tags are processed like the vanilla /summon command
-- The Entity() function now accepts resourcelocation as mob name, and writes resourcelocation to file
-- Made armor stands and item frames rotate with a structure or object
- Lots of fixes and optimisations for BO4 smoothing areas, including proper rounded corners. Looks much better and improved performance.
- BO4's use structure center (determined by minimumsize) for highestblock check, instead of the start bo4 chunk (disable via UseCenterForHighestBlock:false, true by default)
- Added ReplaceWithStoneBlock for BO4's, same as ReplaceWithGroundBlock/ReplaceWithSurfaceBlock.
- Lots of improvements for BO4's and BO4Data files, performance for BO4 worlds improved significantly. *Note: You'll have to delete and re-generate any .BO4Data files after you update.



- Players should no longer spawn in an ocean or in mid-air.
- Fixes and optimisations for the pregenerator.
- The pregenerator lights and finalises chunks properly, instead of it happening when a pregenerated area is first explored, causing exploration lag. Pregeneration may be slower, but pregenerated terrain is now lag-free.
- Fixed a security issue when using Sponge and Permissions; OTG now has a list of permissions when running Sponge and a permissions plugin.
- Improved stability, fewer crashes, errors are logged and operations aborted/skipped where possible.
- Automatic backup/restore for otg world data files, to recover from crashes.
- Tons of fixes and minor improvements for too many features to list.


This is a condensed list, for a full changelog, see the #otg-dev-releases channel in Discord or the OTG github.


1.12.2 v8.3

Solved several problems with the pregenerator:
- All pregenerated chunks are now fully populated.
- Solved compresscache crash for OTG+ worlds. OTG will try to recover corrupted worlds.

- Added compression for bo4data files used with OTG+ worlds. Files are much smaller, startup times quicker, less stutter when exploring. Users will have to delete and re-generate their bo4data files.
- Fixed BO3Group setting for BO4's, used with OTG+ worlds.


1.12.2 v8.2

- Fixes problems with the "o" menu for BoP/RTG worlds created before OTG was installed (
- Fixes a crash with Galacticraft when switching planets (
- Snow is no longer placed on non-solid modded block (plants etc) (

1.12.2 v8.1

- Fixes a nullpointerexception with FrozenSurfaceHelper (
- Fixes a nullpointerexception with SaplingListener (
- Fixes hopefully the last file path problem for mac/unix.


1.12.2 v8

Major changes

Forge & Spigot

- Dynamic biome id's: Newly created worlds allocate biome id's dynamically, which prevents biome id conflicts with other mods.


- Non-OTG overworlds: Use your existing (non-OTG) worlds with OTG and add OTG worlds as dimensions, no need to start over!
- New UI for world creation, managing OTG presets and editing per-dimension settings (also in-game, via the new "O" menu).
- Dozens of new dimension settings allow you to customise each OTG dimension or overworld with its own game rules and environmental settings (fog, lighting, day/night, weather, gravity, block-protect, add/remove items, respawn rules, join/leave message and many more).
- Lots of fixes and improvements for dimensions and portals. Define portal materials and create/edit/delete OTG dimensions via the in-game "O" menu.
- Lots of mod-compatibility fixes, including support for custom modded cave-gen such as Worley's and Yung's. There is still work to be done, but OTG should be a much better citizen in modded ecosystems.
- Lots of performance improvements, OTG should use less memory and generate terrain more quickly. This should be especially noticeable when using the pregenerator.

- OTG-Core fixes: OTG-Core now does nothing when OTG isn't installed. MC gives a warning if the wrong version of OTG-Core is present in the mods/1.12 folder (delete it manually and restart MC).

- Modpack config allows modpack creators to define an overworld+dimensions with OTG presets for newly created worlds, including seeds, without having to edit any presets. This way, modpack creators can package OTG + OTG presets with their modpack and include a modpack config file to ensure players (as the default settings) create the same worlds/dimensions with the same seeds.
- Improvements for OTG content creators, such as commands, error logging, fewer crashes due to incorrect settings and features for easily packaging and optimising/compressing OTG presets.

Minor changes

- Sapling settings: Grow OTG trees (or other BO3 objects) from saplings.
- Fixed MinHeight/MaxHeight for Tree(), which allows spawning of trees at specific heights.
- Added the ability to use modded biomes with replacetobiomename.
- Name your world anything, no worries about overwriting existing worlds.
- Removed /otg pregen command (use the "O" menu instead).
- Command names are now case-insensitive for Forge (biome / dimension names are still case-sensitive).
- Added preset clone button for SP (workaround to allow multiple dims with same preset).
- Replaced OTG worldborders with normal MC worldborders.
- Portals lead to the correct portal on the other side, no more sharing of portals between dimensions.
- Portals teleport correctly, so minecarts and players come out where they should.
- Players should spawn in oceans less often (><) for non OTG+ worlds.
- Fixed blockdata for ReplacedBlocks.
- Added concrete and concrete powder.
- Fixed a problem with oregen events not being called for Andesite, Granite and Diorite. This caused mods like Quark to not replace them correctly.
- Added missing biome decoration events for resources (trees, boulders, fossils, wells, underwaterore, surfacepatch, big mushroom, gravel, snow / ice / ice spikes). Other mods can now replace these OTG resources. *Still an event missing for snow/ice during population.
- Added missing worldgen events for vanilla structures (caves, strongholds, villages, mineshafts, temples/pyramids/witch huts etc, ocean monuments, woodland mansions). Other mods can now replace these OTG (vanilla) structures.
- Fixed file path problems for linux.
- SaveToDisk/Populate loop bug solved for all known cases.
- /otg tp is much faster now.
- Memory footprint of BO3's reduced.
- IsOTGPlus enabled BO3's are now called BO4's. Existing IsOTGPlus enabled BO3's are treated as BO4's. You can now use the .BO4 extension.
- Added /otg exportbo4data, which exports all BO4's for the current world as compressed/optimised .BO4Data files. Used when packaging OTG presets for users.

There are many, many more features and fixes. Be sure to check the /otg command for new features, as well as the ingame "O" menu and the world-, biome- and OTG-configs. We'll update the wiki soon, join us on the OTG Discord at if you have any questions!

Existing users

- OTG v8 is compatible with all existing v6-compatible presets and existing v6 worlds.
- Be sure to delete OTG-Core.jar from the mods/1.12.2 folder when updating.
- Set PregeneratorMaxChunksPerTick to 2 in OTG.ini for better pregeneration speed.
- Always back-up your files before updating!

Known issues

- Galacticraft crashes when switching planets. Will look at this for next release.

- Exisitng BoP or RTG overworlds created without OTG installed may not work properly with OTG. Will look at this for next release.

- Some problems with dimension management mods (RFTools) may occur, please report these on the OTG Discord or Github, thanks!

- For MP: If you're using a vanilla (non-OTG) overworld, make sure level-name in the is NOT set equal to an OTG preset name (f.e "Biome Bundle"), or you won't be able to use that preset via the "O" menu to create OTG dimensions. Will fix this for a future update.

Join us on the OTG Discord at if you have any problems or questions, or create an issue on the OpenTerrainGenerator git if you identify any technical issues. Team OTG thanks you for supporting OTG!


1.12.2 v6:

  • Added GravityFactor setting to the worldconfig (this requires a Forge client with OTG). Forge only atm, can be used to change the gravity of a world/dimension.
  • Some fixes for dims when using other mods that add dims.
  • Smoothing fix for terrain (will cause minor seams in your world when entering newly generated terrain, looks much nicer though! See:
  • Savetodisk infinite loop fixed (one instance, there may still be more).
  • DIM folders being recreated on server restart bug fixed. - Fixed a bug for Lost Cities dimension.
  • Added a method for Spigot plugin developers (requested on the git).
  • Added TERRAIN_GENERATOR dimension tag when sending other mods (like RC) dimension info via Forge IMC when an OTG dimension is created/destroyed.
  • Frozensurfacehelper stackoverflow bug fixed (thanks BrainStone).
  • BO3 CustomStructures now try to avoid vanilla structures as much as they can.
  • Added /otg biomes command for Forge for debugging biome registry problems.


  • Fixes for all known crashes including ones caused by mods (excluding other biome mods which remain incompatible), including:
            - Dimension switching/mineshaft crash
            - Forge biome dictionary crash
            - Java preconditions crash
  • Fixed compatibility issues with a number of mods including Pam's Harvestcraft, IC2, Quark, Recurrent Complex, Roguelike Dungeons and more.
  • Added working Forge biome dictionary support for all biome types, added BiomeDictId option in BiomeConfigs (Forge Only)
  • Added new in game UI allowing simpler single player world creation and multiple worlds with the same preset (Forge Only)
  • Added a built in map pre-generator with in-game UI, configurable via world creation screen and WorldConfig (Forge Only)
  • Added world borders configurable in the WorldConfig
  • Basic multi-dimension support (more features and improvements will follow) (Forge Only)
    *Added Cartographer world mapper, a work in progress feature that adds a miniature map of the world that spawns in its own dimension and can be used to teleport around the world and explore quickly. (Forge Only)
  • Added InheritMobsBiomeName for BiomeConfigs and implemented mob inheritance (improves compatibility with mob mods) (Forge Only)
  • Fixed new worlds not generating dirs or default bc's, also tweaked default bc's to be more like vanilla Minecraft
  • Added Entity() function
  • Forge and Bukkit versions merged into a single .jar file

 For a comprehensive change log visit the Github project page here.