Realistic Terrain Generation

Realistic Terrain Generation

3M Downloads

Volcanoes getting cut-off during chunk generation

whichonespink44 opened this issue ยท 11 comments

commented

I've found out that it's not related to EB... it appears that the volcano structure can only be generated inside the volcanic biome that triggered it. So in order to fix this, I need to figure out a way to pre-determine the the size of the volcano and make sure that it has enough room inside the volcanic biome before letting it generate.

I have absolutely no idea how I'm going to do that, but I think that's the only way to resolve this issue properly.

If I can't resolve it properly, I'll see if there's any I can reduce the chance of it happening.

commented

That would be much appreciated @treyzania! If you need anything from me, just let me know.

commented

I think this might be fixed just by explicitly setting the biome of blocks before we place them. It could cause some rather noisy borders on the biome but it might make the world let the blocks get placed.

I'll throw together a test for this in the next few days to see if I can fix it.

commented

@treyzania - any joy with this?

commented

There have been a few discussions regarding volcanoes outside of this issue, so for reference, here's a summary of where we're at with this...

Basically, this isn't a priority at the moment, and it may even be outside of RTG's scope, but... as it stands, there are three ideas for how we can implement volcanoes in RTG (I might be a little off on the details)...

  1. Write a CalderaCalculator (similar to the CliffCalculator) which would calculate where the caldera of the volcano should be and paint the obsidian/lava as necessary.

  2. Write a volcano terrain template that inverts the noise past a certain height and then fill in the air blocks in the naturally-generated caldera with lava during surfacing.

  3. Write a volcano structure and implement it the same way the other structures are implemented. (Villages, Desert Temples, etc.)

commented

what is the problem with the current system? if there is a system. TerrainFeatures cant really be ported to v1 i think, but thats definately the way to go in v2

commented

The problem seems to be that the volcanoes have been coded as rMapGen structures, which are kinda like structures and kinda like terrain (and I guess kinda like Terrain Features), but they can only be generated inside the biome they've been assigned to. So if a volcano generates entirely inside the BOP Volcano biome, for example, everything works great and the volcano looks awesome. But if the volcano starts generating in the BOP Volcano biome and then transitions into another biome, the volcano gets abruptly cut-off, like a massive chunk wall.

Just uncomment the MapGenVolcano code and use Lonely Biome to generate just a volcanic biome, and they'll work perfectly. But find a seed where other biomes are involved, and there's a good chance you'll see the issue.

There appears to be a border check of some sort to make sure that the volcano has enough room to generate, but it obviously isn't working very well. Maybe all we need to do is improve the border check, but I suspect not.

commented

in v2, these will be implemented as terrainFeatures. What do we need to do here then?

commented

Well, we've already discussed a lot of options (1, 2, and 3 above)... so I guess it's just a case of choosing the one that we think is going to work best and try it out. Or maybe we try this as a terrain feature?

commented

Forgot to close this, it has been fixed in the updated Volcano system: #694