Generator.yml is used to modify generation things of RWG so you can find there noises for configuring terrain generation, setting for modify sea-level, min-height and so on.
NOTE: You will find it in plugins/RealisticWorldGenerator/worlds/<YourWorld>/generator.yml
This is the default configuration of generator.yml should look like this however it was updated in v4.4 so below 4.4 versions have different format of noises.
More in depth tutorial how to edit noises comes soon.
generators:
height:
min: 67
sea:
level: 64
eroded: false
change_settings: true
generate:
mineshafts:
chance: 16
enabled: false
noises:
'0':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 9.999999999999999E-26
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
z_multiplier: 1.0
height: 17.0
simplex_height: 320.0
additional: 1
'1':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 9.999999999999999E-26
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
z_multiplier: 1.0
height: 12.0
simplex_height: 430.0
additional: 1
'2':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 0.5
amplitude: 0.5
x_multiplier: 1.0
z_multiplier: 1.0
height: 4.0
simplex_height: 430.0
additional: 1
'3':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 5.0E-5
amplitude: 5.0E-5
x_multiplier: 1.0
z_multiplier: 1.0
height: 3.5
simplex_height: 430.0
additional: 1
'4':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 5.0E-11
amplitude: 5.0E-11
x_multiplier: 1.0
z_multiplier: 1.0
height: 5.6
simplex_height: 430.0
additional: 1
'5':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 0.03
amplitude: 0.03
x_multiplier: 1.0
z_multiplier: 1.0
height: 5.0
simplex_height: 430.0
additional: 1
'6':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 0.03
amplitude: 0.03
x_multiplier: 1.0
z_multiplier: 1.0
height: 7.5
simplex_height: 75.0
additional: 8
'7':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 0.03
amplitude: 0.03
x_multiplier: 1.0
z_multiplier: 1.0
height: 12.0
simplex_height: 84.0
additional: 4
'8':
type: PERLIN_NOISE
random: RAND_1
octaves: 1
frequency: 1.0
amplitude: 1.0
x_multiplier: 0.01
z_multiplier: 0.01
height: 2.0
simplex_height: 0.0
additional: 0
'9':
type: PERLIN_NOISE
random: RAND_1
octaves: 1
frequency: 1.0
amplitude: 1.0
x_multiplier: 0.02
z_multiplier: 0.02
height: 1.0
simplex_height: 0.0
additional: 0
'10':
type: PERLIN_NOISE
random: RAND_1
octaves: 1
frequency: 1.0
amplitude: 1.0
x_multiplier: 0.04
z_multiplier: 0.04
height: 0.5
simplex_height: 0.0
additional: 0
'11':
type: PERLIN_NOISE
random: RAND_1
octaves: 1
frequency: 1.0
amplitude: 1.0
x_multiplier: 0.001
z_multiplier: 0.001
height: 4.0
simplex_height: 0.0
additional: 0
'12':
type: PERLIN_NOISE
random: RAND_1
octaves: 1
frequency: 1.0
amplitude: 1.0
x_multiplier: 0.002
z_multiplier: 0.002
height: 2.0
simplex_height: 0.0
additional: 0
'13':
type: PERLIN_NOISE
random: RAND_1
octaves: 1
frequency: 1.0
amplitude: 1.0
x_multiplier: 0.004
z_multiplier: 0.004
height: 3.0
simplex_height: 0.0
additional: 0
But what all those things mean? I will describe it to you just continue reading.
height:
min: 67
sea:
level: 64
Height min determines on what level should terrain generate, this value should be bigger then height value in each noise. Before sea level option was available it was
also use to decrease oceans in your world.
Sea level is for manipulating ocean level so if you want ocean more often you will increase the value if you want opposite you will decrease it.
change_settings: true
eroded: false
Change settings determine whenever to use custom noise settings or default RWG noises. If you want to take advantage of noises this should be set to true, if no then it should be false.
Eroded determines whenever RWG should erode terrain or not, this can be done also on your custom terrain configuration as well as on default RWG one.
generate:
mineshafts:
chance: 16
enabled: false
chance defines the chance. The chance-value is always X to 10000. Per Chunk one check is done, so a value of 1 would be 1 of 10000 chunks.
enabled defines if the mineshafts should be enabled. Set this to true, if you want to have mineshafts.
NOTE: In current state you can't set custom name for village structures RWG has
its own custom structures for villages but if you still want your own custom ones
just replace RWG default schematics for village buildings with your own. You will
find them in plugins/RealisticWorldGenerator/Structures
noises:
'0':
type: SIMPLEX_OCTAVE
random: RAND_1
octaves: 1
frequency: 9.999999999999999E-26
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
z_multiplier: 1.0
height: 17.0
simplex_height: 320.0
additional: 1
Now we come to the hardest possible configuration of RWG. This is also the reason, why we make a short jump to noises at all.
Noises return a number between -1 and 1. They are determined by a random, but they move smoothly from number A to Number B over x and z coordinate.
This is pretty useful for generating terrain, but as it sometimes can be too smooth, we need to use multiple layers to add variety to it. We stretch the layers sometimes more, sometimes less and add more height-multiplication or less, this results in terrain-variation.
There multiple types of noises included in RWG. We will find 4 Types: PERLIN_NOISE, SIMPLEX_NOISE, SIMPLEX_OCTAVE, and VORONOI_NOISE.
Simplex-Noise and Perlin-Noise are pretty the same, but Simplex is a bit faster, as it was created to run on hardware and so it is created to store less data while running.
Voronoi-Noise is a special type of Noise, as it creates sections of the same value. An example of that can be found in our gallery above.
Additional to that we need to work with seeds. As all Noise-Generators need seeds to work it is important to know the effect, they do. With a seed a random will always give the same results, this is the reason, why seeds should be swapped around and mixed, so make a more random-looking of the world.
In RWG we have added 11 randoms, each based on the main-world-seed but also adding variation to it:
RAND_1 = world-seed
RAND_2 = world-seed + 1
RAND_3 = world-seed * 2
RAND_4 = world-seed * 4
RAND_5 = world-seed - 45
RAND_6 = world-seed * 5
RAND_7 = world-seed - 1
RAND_8 = world-seed * 7
RAND_9 = world-seed + 35
RAND_10 = world-seed + 39
RAND_11 = world-seed + 13
Now we come to all tiny values, that make the basic change:
octaves: Octaves are the iterations of the noises, if you want to layer multiple noises, you can either use them or your own methods. Basically they double with each octave the frequency while amplitude stays the same.
frequency: As you can see in the image above, frequency determines, how often the value changes, high frequency means man changes and much curves.
amplitude: Amplitude determines the height of the waves, high values will make higher/steeper waves.
x_multiplier: If you want to stretch noises or shrink them on the x-axis you can set this multiplier to a higher value than 1 for shrinking and a lower value than 1 for stretching.
z_multiplier: If you want to stretch noises or shrink them on the z-axis you can set this multiplier to a higher value than 1 for shrinking and a lower value than 1 for stretching.
height: The height is the multiplier for the values the noise will give you. As written above they should be by basic configuration between -1 and 1. By multiplying them, you can add more y-height in the terrain.
simplex_height: This value is only used for setting the scaling of the octaves to the terrain with SIMPLEX_OCTAVE. It basically just set the octaves attached to the terrain.
additional: Additional is a currently unused value, it will later be used for Ridged-Multi, which is implemented yet, but very resource-intensive.
Now just add as many noises, as you want, as you can see, we have 14 noises in the basic configuration, but you can add as many as you want, the identifier, which is by default 0-14 can also be changed to a word, if you want to better identify them.
This still have not helped you understanding this really complex topic? No problem, it just may take a bit to get into this complex topic.
May this short tutorial gives you a better kickstart into it.
Here you will find two different pre-sets for generator file.
NOTE: Read carefully which one to use since there are two version of them!
generators:
height:
min: 72
sea:
level: 64
change_settings: true
eroded: false
generate:
villages: true
noises:
'0':
octaves: 1
random: RAND_1
simplex_height: 320.0
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 9.999999999999999E-26
height: 15.0
'1':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 9.999999999999999E-26
height: 10.0
'2':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 0.5
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.5
height: 3.0
'3':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 5E-5
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 5E-5
height: 3.5
'4':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 5E-11
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 5E-11
height: 5.6000000000000005
'5':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 0.03
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.03
height: 3.0
'6':
octaves: 1
random: RAND_1
simplex_height: 75.0
amplitude: 0.03
x_multiplier: 1.0
additional: 8
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.03
height: 6.5
'7':
octaves: 1
random: RAND_1
simplex_height: 64.0
amplitude: 0.03
x_multiplier: 1.0
additional: 4
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.03
height: 12.0
'8':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.01
additional: 0
z_multiplier: 0.01
type: PERLIN_NOISE
frequency: 1.0
height: 2.0
'9':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.02
additional: 0
z_multiplier: 0.02
type: PERLIN_NOISE
frequency: 1.0
height: 1.0
'10':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.04
additional: 0
z_multiplier: 0.04
type: PERLIN_NOISE
frequency: 1.0
height: 0.5
'11':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.001
additional: 0
z_multiplier: 0.001
type: PERLIN_NOISE
frequency: 1.0
height: 4.0
'12':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.002
additional: 0
z_multiplier: 0.002
type: PERLIN_NOISE
frequency: 1.0
height: 2.0
'13':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.004
additional: 0
z_multiplier: 0.004
type: PERLIN_NOISE
frequency: 1.0
height: 3.0
generators:
noises:
- SIMPLEX_OCTAVE:RAND_1:1:9.999999999999999E-26:9.999999999999999E-26:1.0:1.0:15.0:320.0:1
- SIMPLEX_OCTAVE:RAND_1:1:9.999999999999999E-26:9.999999999999999E-26:1.0:1.0:10.0:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:0.5:0.5:1.0:1.0:3.0:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:5.0E-5:5.0E-5:1.0:1.0:3.5:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:5.0E-11:5.0E-11:1.0:1.0:5.6000000000000005:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:0.03:0.03:1.0:1.0:3.0:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:0.03:0.03:1.0:1.0:6.5:75.0:8
- SIMPLEX_OCTAVE:RAND_1:1:0.03:0.03:1.0:1.0:12.0:84.0:4
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.01:0.01:2.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.02:0.02:1.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.04:0.04:0.5:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.001:0.001:4.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.002:0.002:2.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.004:0.004:3.0:0.0:0
height:
min: 72
change-settings: true
eroded: false
generate:
villages: true
generators:
height:
min: 72
sea:
level: 64
change_settings: true
eroded: false
generate:
villages: true
noises:
'0':
octaves: 1
random: RAND_1
simplex_height: 320.0
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 9.999999999999999E-26
height: 10.0
'1':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 9.999999999999999E-26
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 9.999999999999999E-26
height: 7.0
'2':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 0.5
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.5
height: 1.5
'3':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 5E-5
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 5E-5
height: 3.5
'4':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 5E-11
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 5E-11
height: 2.6000000000000005
'5':
octaves: 1
random: RAND_1
simplex_height: 430.0
amplitude: 0.03
x_multiplier: 1.0
additional: 1
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.03
height: 3.0
'6':
octaves: 1
random: RAND_1
simplex_height: 75.0
amplitude: 0.03
x_multiplier: 1.0
additional: 8
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.03
height: 3.5
'7':
octaves: 1
random: RAND_1
simplex_height: 64.0
amplitude: 0.03
x_multiplier: 1.0
additional: 4
z_multiplier: 1.0
type: SIMPLEX_OCTAVE
frequency: 0.03
height: 6.0
'8':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.01
additional: 0
z_multiplier: 0.01
type: PERLIN_NOISE
frequency: 1.0
height: 2.0
'9':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.02
additional: 0
z_multiplier: 0.02
type: PERLIN_NOISE
frequency: 1.0
height: 1.0
'10':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.04
additional: 0
z_multiplier: 0.04
type: PERLIN_NOISE
frequency: 1.0
height: 0.5
'11':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.001
additional: 0
z_multiplier: 0.001
type: PERLIN_NOISE
frequency: 1.0
height: 4.0
'12':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.002
additional: 0
z_multiplier: 0.002
type: PERLIN_NOISE
frequency: 1.0
height: 2.0
'13':
octaves: 1
random: RAND_1
simplex_height: 0.0
amplitude: 1.0
x_multiplier: 0.004
additional: 0
z_multiplier: 0.004
type: PERLIN_NOISE
frequency: 1.0
height: 3.0
generators:
noises:
- SIMPLEX_OCTAVE:RAND_1:1:9.999999999999999E-26:9.999999999999999E-26:1.0:1.0:10.0:320.0:1
- SIMPLEX_OCTAVE:RAND_1:1:9.999999999999999E-26:9.999999999999999E-26:1.0:1.0:7.0:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:0.5:0.5:1.0:1.0:1.5:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:5.0E-5:5.0E-5:1.0:1.0:3.5:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:5.0E-11:5.0E-11:1.0:1.0:2.6000000000000005:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:0.03:0.03:1.0:1.0:3.0:430.0:1
- SIMPLEX_OCTAVE:RAND_1:1:0.03:0.03:1.0:1.0:3.5:75.0:8
- SIMPLEX_OCTAVE:RAND_1:1:0.03:0.03:1.0:1.0:6.0:84.0:4
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.01:0.01:2.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.02:0.02:1.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.04:0.04:0.5:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.001:0.001:4.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.002:0.002:2.0:0.0:0
- PERLIN_NOISE:RAND_1:1:1.0:1.0:0.004:0.004:3.0:0.0:0
height:
min: 72
change-settings: true
eroded: false
generate:
villages: true