How to use this Voxel terrain generator with Simplex Noise plugin to achieve CubeWorld like terrain?

I have downloaded and am using the blueprint from this video, https://www.youtube.com/watch?v=scY133HVkfc , I have also downloaded and loaded this plugin [Plugin] Simplex Noise 1D,2D,3D,4D Fast Perlin Noise Version - C++ - Epic Developer Community Forums .

I’ve got it working, however the current terrain it generates isnt all that great; It tiles quite often and doesn’t look very natural. I am looking to try achieve the terrain similar to Cube World. Here is what cube world looks like.

cube-world2.png

I believe it uses a mixture of simplex and perlin noise. It has a lot of lower flat land with wide steps rather than lots of changing waves and circular shaped waves in the terrain, but it also has large and very shaped mountains.

I have a simple generator with sin waves /cirlces of voxels, and I have the simplex noise plugin working, I just dont know how I could use the noise plugin to generate a natural looking terrain.
Here is a picture of the current blueprint setup, and the results (tiling circles etc).
( OPEN IMAGE IN NEW TAB TO SEE FULL )

Doe’s anyone know how I might be able to achieve this?
Thanks

It is actually not very hard to create relatively realistic voxel terrains, since you can combine several octaves to achieve nice effects.
You should separate your terrains to different chunks that are actually responsible for generating visualised blocks, and you can check out this piece of peudo-code and translate it to blueprint:

//Chunk.cpp
AVoxelActor::BeginPlay(){
Super::BeginPlay();
GenerateChunk();
}

AVoxelActor::GenerateChunk(){
ABlockActor* BlockActor = nullptr;
for(int ChunkWidth = 0; ChunkWidth <= 15; ChunkWidth++){
for(int ChunkHeight = 0; ChunkHeight <= 15; ChunkHeight++){
BlockActor = SpawnActorAtLocation(BlockActor, GetActorLocation(this).x, GetActorLocation(this).y, 0.0);
float elevation = USimplexNoise::SimplexNoise2D(BlockActor->GetWorldLocation().x * 0.0004, BlockActor->GetWorldLocation().y * 0.0004);
BlockActor->SetWorldLocation(BlockActor->GetWorldLocation().x, BlockActor->GetWorldLocation().y, elevation);
}
}
}
Next, read this article before you start to devise your infinite terrain generation algorithm: Chunk – Minecraft Wiki
Edit: feel free to ask if you have any questions. Creating a voxel game is not a simple task, and I understand that.

Do you mean that you want to achieve the terrain in the second screenshot?
If you want to generate mountains, hills and rivers, you should combine multiple noise octaves( which are different noise values with different amplitudes and frequencies ).
For instance, To create realistic terrain, combine a noise octave that has really big frequency with another octave with relatively small frequency.
The terrain in the second screenshot is generated from simplex noise 3d
And I wouldn’t use this style of terrain even though it’s really cool, since it causes tremendous lag
And this is what i’ve done so far: