Realistic Terrain Generation

Realistic Terrain Generation

3M Downloads

Volcanoes

Ezoteric opened this issue ยท 39 comments

commented

Yo dude @whichonespink44

DId you change something with the volcano map file ? these things are fucked up now!!!
A. they floating on water as layer 63 is the last block
B. they made almost completely made out of obsidian from top to bottom
C. they are always round now :S

why ow why is this happening :P

commented

You using 0.3.0?

commented

No previous version but that should not matter I think but I could test it with that as well.

As you never looked into my biomes I just replaced the biomes I do it use in vanilla with my my own haha so no mushroom but volcano etc :p

commented

even tho the volcanos spawn way too much in EB they are somehow complete, but you changed the height where obsidian starts if i see it correctly, this is not cool :P

Also the problem might be, in RWG he had the terrain noise in the biome file it self, i moved that to the terrain file cause otherwise the SUPER doesnt accept the biome layout file ?


@OverRide
public float generateNoise(OpenSimplexNoise simplex, CellNoise cell, int x, int y, float border, float river)
{
float st = 15f - ((cell.noise(x / 500D, y / 500D, 1D) * 42f) + (simplex.noise2(x / 30f, y / 30f) * 2f));

        st = st < 0f ? 0f : st;

        float h = st;
        h = h < 0f ? 0f : h;
        h += (h * 0.4f) * ((h * 0.4f) * 2f);

        if(h > 10f)
        {
            float d2 = (h - 10f) / 1.5f > 30f ? 30f : (h - 10f) / 1.5f;
            h += cell.noise(x / 25D, y / 25D, 1D) * d2;
        }

        h += simplex.noise2(x / 18f, y / 18f) * 3;
        h += simplex.noise2(x / 8f, y / 8f) * 2;

        return 55f + h * border;
    }

this was in the biome file, so i moved this part to the terrainfile.
maybe thats why it doesnt work like it should ? :P

commented

2015-12-16_22 26 10_new world4636363_overworld_day

commented

so maybe for the biomes, change the chance to gen way lower ?
PS: this is EB volcano

commented

Here's the history of WorldGenVolcano: https://github.com/Team-RTG/Realistic-Terrain-Generation/commits/master/src/main/java/rtg/world/gen/feature/WorldGenVolcano.java

Changed a few things, but not recently.

They look fine for me with 0.3.0 and EB's volcano... let me know if they're messed up in the latest version (and which mod's volcano it is), and I'll look into it.

commented

No mods volcano. It's RWG volcanic island I implanted into RTG instead of a vanilla biome.

commented

@whichonespink44

Can you do the following ?

  1. make sure the volcano reads block y63 and doesnt get permission to build if its water ?
  2. can you force block y64 to be sand in a biome ?
commented

2015-12-17_15 41 43
2015-12-17_15 37 47

commented

Poor villagers!! ๐Ÿ˜œ

I pre-genned a few EB single-biome worlds yesterday, and I didn't notice anything wrong with volcanoes, except that they were spawning a lot, but that's primarily because it was a single-biome world. When volcanic biomes generate in RTG, the only issues are that they spawn in multiples of 2-3 (which I still haven't figured out how to prevent) and issue #275.

As for points 1 and 2 above, I don't think either of those are possible with regards to the volcano mapgen.

commented

you dont have the problem i do because:

I was making a island working, these volcanos just spawn randomly in the biome, so if there is a lot of water the volcano spawns at layer 64 and you will only see the volcano as you see in the picture from south easy to west, so its pretty damn ugly.

Btw isnt the volcano a mapgen just like a house from witchery ? these are the same events rights ? if so you could add the line disable on water (as ruins does this also to prevent it from spawning on unwanted areas) :P

commented

I don't think it's that easy... the volcano mapgen in RTG seems to get called every time a chunk within a volcanic biome is generated... which means that there's no way of telling if the volcano has started generating or not (which is why the volcanoes are getting chopped off, because the mapgen doesn't get called if it's not in a volcanic biome). For example, if it checks the current chunk to see if there's water, and it doesn't find any, then we could make it start generating... but then in the next chunk, it might find water and then stop generating, if that makes sense.

But I think I just figured out a way to get them working based on what you said... which is basically... turn them into a more tradition mapgen structure and call it in the same way that Minecraft calls strongholds or villages (or the way Witchery calls it probably), etc.

If we did it that way, we'd probably have a lot more control over the conditions under which it can generate in the first place.

@treyzania - does this sound like it would be a better way to handle the volcanoes based on what you've seen?

commented

This could work, cause the only problem is when you use it for island based biomes.

then what needs to be done is, look at how the desert pyramid gets build, and replace that with our volcano, the reason why i say this is because the pyramid always has its entrance at y64 i think hence why it gets buried if under a mountain etc.

but this could be our perfect plan to execute volcanos then :D

commented

Yeah, it's definitely worth exploring... not sure why it's been put in the RealisticBiome class to begin with... maybe it was just a WIP and the plan was to eventually do it like the other MC structures are done.

commented

@whichonespink44 I dunno
anyway i have something wrong here.

Why cant i use biomegen.ocean 2 times ?
if you put BiomeGenBase.ocean in the super from a different biome it crashes :O

it that simply because it now wants to create 2 oceans and that the problem ?

commented

Caused by: java.lang.ExceptionInInitializerError
at rtg.world.biome.realistic.vanilla.RealisticBiomeVanillaBase.(RealisticBiomeVanillaBase.java:60) =
public static RealisticBiomeBase vanillaJungleEdgeM = new RealisticBiomeVanillaJungleEdgeM();
i may understand the super needs to be the one above but we cant have 2 oceans in there :P

at rtg.RTG.postInit(RTG.java:90) =

RealisticBiomeVanillaBase.addBiomes();
which is logic i know :P

So is there a way to add ocean stuff to a biome ? so vanilla handles it like a ocean ? :P

commented

yo im looking to try and make the volcano act like a structure by looking at mods do that do so if i cant fix this can you make this prio nr 1 ? :P it shouldnt be that time consuming as it should be easy for you ;) haha :P

commented

It's a huge priority, but not priority #1 at the moment. Currently working on something quite huge that will hopefully put an end to hot-to-cold transitions, and potentially a few other major issues.

But absolutely, I want volcanoes to be working properly and improved aesthetically as much as possible, so any knowledge into how to get them generating as structures in the meantime would be a huge help.

commented

yeah i might gonna ask on forum how i can add the volcano gen to the temple gen files
that would be the best and makes a lot of sense since we use it as something like that and we only want it to spawn in the biomes we want ๐Ÿ’ƒ

ill try my copy paste edit power on this myself first and see what happens :P

BUT if this would take you only 30 min then i would force you to do it :P

30min work is where i cut the border to prio skip things ;)

commented

Definitely gonna take longer than 30 minutes to convert it into a structure, but maybe it won't be as bad as I think. Need to get my head into properly before I can know for sure.

commented

convert ? you think it cannot use the current gen way ? :(

commented

OR we can make volcanoes allowed on all biomes, which is A realistic and B a problem solver :P

commented

f (baseX % 4 == 0 && baseY % 4 == 0 && mapRand.nextInt(6) == 0)

change 6 to 1000 to make it spawn 1 in a 1000 chance ?

commented

Yes, although I'm not quite sure how that works across chunks. Like, because that mapgen gets executed for every chunk, what happens if it doesn't make it past that IF statement? How does it know to keep building the volcano?

But yeah, if you increase that to 1000 it will never spawn :)

commented

yeah, i just generated a world where i put in the volcano code and set the int realy high, in the hope it only finishes it and maybe very rarely spawn in a other biome :)

commented

ok well that didnt work still incomplete volcanoes :(

but i saw some cool transition volcanoes tho :P

commented

transition volcanoes? you mean volcanoes that bleed into another biome?

commented

Yeah

but also some villages on a volcano :P

commented

Hmm, I didn't think that was possible. Do you mean that the actual volcano structure itself spanned across two biomes?

commented

Two different biomes?

commented

yes it did

commented

Hmmm. any chance you can try to reproduce that happening with just RTG 0.3.0 & BOP and sending me the seed + coords?

I didn't think it was possible for the MapGen to bleed into another biome - I thought that's why they were getting chopped off. But if that's not the reason, then maybe they're working fine and maybe it's just one of the other biomes that causing it to break, or... something else... but... I need to be able to see an instance of it working with just RTG 0.3.0 and a biome-adding mod like BOP.

commented

well, i deleted all the shit cause it didnt work lol :P

commented

Yeah, the structure route is the way to go. It's already got cross-chunk logic built into it, so it makes sense to try and leverage that for volcanoes as well.

commented

sounds like a plan then :)

commented

ok i redid it with vanilla and ebxl (im not gonna test 100 biomes ofcourse lol )

il let you know

commented

well i just got extremely lucky with those 2 volcanoes between biomes.
I rendered 2 maps and no luck

but they still cut off so fuck this :P

commented

Remade jungle edge to island style and set volcano to just that biome to 60 and got pretty much lucky :P

besides that the new size seem to work and the weight also seems better haha look at that water :p
12

commented

Duplicate of #275