Creating your own preset

Note: This article was written for OTG 1.16.x, but most of the information applies for 1.12.2 as well.

To create your own OTG Preset, you'll first want to familiarise yourself with the following concepts:

### Presets

* Each OTG preset has a folder in config/OpenTerrainGenerator/Presets/<PresetName> for Forge or plugins/OpenTerrainGenerator/Presets/<PresetName> for Spigot.
* Each OTG preset folder contains configuration files for the world (WorldConfig.ini) and biomes (BiomeConfig .bc files), these can be edited using a text editor.
* Each OTG preset folder contains a WorldObjects folder with .BO2/.BO3/.BO4/.BO4Data files for all user-made custom objects and structures. These can be edited using a text editor, and are generated/exported via in-game commands and tooling.
* A default preset is included with OTG, you can copy and rename the Default folder, OTG will detect it as a new preset.
* Preset folders can be packaged as a mod/plugin jar using PresetPacker. Preset jars (like BiomeBundle.jar) run at app start to unpack their preset folder, which OTG then picks up. **PresetPacker is currently broken and will not compile. Frank (creator of Gehenna) retains his own archived copy of PresetPacker from before the breaking changes were introduced, accessible here.**
* We encourage sharing of ideas and assets, so using an existing preset as a starting point for your own preset or borrowing assets from other presets is most likely fine. Join us on the OTG Discord with the rest of the community and have a talk with other preset creators like MCPitman, NLBlackEagle and Jayzet.

Note: When copying and renaming an existing preset folder, change the ShortPresetName setting (if any) in the WorldConfig.ini, it must be unique or empty.

### WorldConfig.ini / BiomeConfig (.bc)

* Each preset folder contains a WorldConfig.ini file in its root, containing the global settings for the preset. These settings apply to the world and all biomes.
* Each preset folder contains a WorldBiomes folder, which may contain any number of BiomeConfig (.bc) files, using any folder structure. Each file contains the settings for a biome, and must have a unique name (for example Beach.bc), this is used as the biome name in-game.
* World/biome configs may be formatted in a minimal way (settings only) or with documentation, depending on the SettingsMode setting in the WorldConfig (WriteAll/WriteWithoutComments/WriteDisabled). Set SettingsMode:WriteAll and run MC once to write all the latest settings and documentation to the WorldConfig and BiomeConfig files.

### WorldObjects / .BO\* files

* Each preset folder contains a WorldObjects folder with .BO2/.BO3/.BO4/.BO4Data files for all user-made custom structures (BO means Biome Object in ancient OTG language). These objects and structures are used in BiomeConfigs via the CustomObject(), CustomStructure(), Tree() and Sapling() resources (see BiomeConfig ResourceQueue).
* You can create your own custom objects in-game and export them as .BO\* files, using /otg commands. \* Documentation for commands does not exist yet, use /otg help and/or auto-complete, or ask on the Discord.
* .BO\* configs may be formatted in a minimal way (settings only) or with documentation, depending on the SettingsMode setting (WriteAll/WriteWithoutComments/WriteDisabled).
* For more information on custom objects and structures, see Custom Objects and Structures (BO2/BO3/BO4 configs).

Congratulations, you should now be able to start using config files, adding/removing/editing biomes, changing world settings etc. Check out our other pages and tutorials to learn more about the WorldConfig, BiomeConfigs, custom objects and structures and packaging your preset as a mod/plugin.

Note: Documentation is incomplete and always a work in progress, join us on the OTG Discord if you have any questions.