Articles on: Plugin Setup

How to install and use Terra Custom World Gen [Java]

Terra is a powerful minecraft world generator that can customize how you want generation in the game to look like. It's a rather complex setup, but we'll simplify it for you so it's easy to understand! This is for advanced users only, the plugin is complex.

Installing the plugin



Download the plugin from here
After you download the plugin, drop it into your plugins folder. Restart the server and it should be applied!

Initial configuration



Via bukkit.yml



Since you are dealing with worlds, which have a chance of getting overwritten with terra, please make sure you have backups for your old worlds, as this is sensitive data!

You will add lines at the end of your bukkit.yml file in your server to add a new world. This is done so that the server knows to start using terra's rules in generating a world. Add the following lines

worlds:
  <LEVEL NAME>:
    generator: Terra:OVERWORLD


Replace <LEVEL NAME> with the world name you want to generate. In our case, we'll say terra-world so we know that it's not going to load into any other worlds of ours. Save the file, and restart the server. If you want to setup multiple worlds, just add more lines to the config, like so

worlds:
  terra-world:
    generator: Terra:OVERWORLD
  terra-world-2:
    generator: Terra:OVERWORLD
  terra-world-nether:
    generator: Terra:NETHER


Via world management plugin



To create a Terra world using Multiverse Core, add the following argument to the end of the Multiverse Create Command: -g Terra:<PACK ID>

Here is an example command which will create a world with the name example_world, the NORMAL world environment, and a Terra generator using the pack with ID EXAMPLE:

/mv create example_world NORMAL -g Terra:EXAMPLE


Configuration of world generation options



There are "Config Packs" which would contain configurations for worlds to be generated on your server. There are a lot of community-maintained options, and we will be using a template pack provided by Astrashh for modifying/understanding what's gonig on with world generation. Download the pack's zip from here , and upload it to your packs folder in the plugin folder.

You can find all community packs over at their github . Simply make sure you download the zip, upload it to the server, and you should be set!

Unzip the file and open pack.yml. This core file determines your base settings for everything in your world generation. The config file's comments are very self-explanatory, but i'll try to explain it in a simplified version too.

You can set the name of the pack with version , and the creator name with author
You can set how you want noise to act on your server

Noise is a very complex thing to understand. I, myself, am learning on how to utilise noise. You may start by reading their crash course here


Configuring the biomes section



Under the biomes section, you can specify the resolution which would determine how big or small everything should be scaled in the game. For example, a village could be scaled to be double the size if you set resolution to 2. This is useful in case you want to create amplified worlds of any sort. Use the type PIPELINE
You can modify blend settings to change how the transition between different biomes should work with amplitude.

Below is an example of resolution/amplitude increase for trees, and snow

Taller trees

Gradual Snow Generation


Configuring the pipeline



mutate is a config type that lets you modify what you want to do with biomes. In our case we will use mutate: REPLACE. Self-explanatory: it replaces one thing with another thing. In this case, those things are biomes.
Choose your from option as the biome you want to replace
Choose your to option as the biome you want to convert it to.


Now some of the hardwork is finished. It is highly advised you read their documentation for a full understanding on noise to learn more about frequency & distribution of your world


Configuring biomes in the world



base.yml



Now you can define some settings for the biomes in general and per-biome configs too. Start by going to the biomes folder and opening up base.yml. This is the base for all the biome generation settings in the future.

You can specify the frequency and height area as to what blocks you want spawning. An example of ores would be

ores:
  DIAMOND_ORE:
    min: 1
    max: 2
    min-height: 7
    max-height: 20


Where min diamonds per chunk would be 1, max 2, minimum height it should spawn at, maximum height it should spawn at.

Ore deposits are not limited to vanilla ores, for example features such as dirt patches, and pockets of granite, andesite and diorite can be handled through ore configurations:

DIRT:
    min: 0
    max: 1
    min-height: 0
    max-height: 128



More configuration



biome-name.yml: Replacing biome-name with whatever biome you want to edit, you can configure specific settings of the forest biome by changing density of flora, trees, how it blends, and noise levels.
flora: You may edit the grass/tall grass configuration in these files, what blocks you want to respawn them on, what they can be replaced by, etc.
ores: You may specify what kind of "deposits" ( sort of like patches of blocks ) you want to be seen in the world with this folder. Read through each file and you'll understand how to choose the way these pockets geneate
palettes: You may define how you want the base floor/structure of your biomes to look like.

Noise examples and how blending proves useful

Custom forest-based biome from Valant1s/TerraConfig


Conclusion



Terra, with config packs form the community, provide custom world generation, but not in the idea you may have imagined. This requires you to learn how to build your own packs, and start making the world generation that you're looking for. Their documentation has to be your one-stop place to learn more about the plugin, as that explains everything from start to finish.

Article made by vijaypondini#0001 ( ID 631466030023049217 )

Updated on: 14/06/2022

Was this article helpful?

Share your feedback

Cancel

Thank you!