Open Terrain Generator (OTG)

Open Terrain Generator (OTG)

10M Downloads

Missing Branches ( Attempt to Populate 2 Chunks at once)

NLBlackEagle opened this issue ยท 6 comments

commented

OTG Plugin or Mod

  • OTG Plugin for Spigot

OTG Version

  • OpenTerrainGenerator-1.12.2_-_v8.3_r4

Forge or Spigot Versions

Spigot 1.12.2 R0.1-Snapshot

What other plugins are you running?

Essentials 2.17.1.0

Description

Several Branches are missing from a 8x 16x16 customstructure. This only happens when the chunk is trying to populate twice.

afbeelding

afbeelding

afbeelding

I am willing to send the package files but I know for a fact that if I "simplify" the pack this issue will dissapear. This made me extremely hesistant reporting this issue as i feel like the likelyhood of it being put on backlog or being rejected is quite big.

Example of the extreme trickyness is shown below: Exact same configuration, seed, everything but now the issue does not happen ( all i did was delete region files )

afbeelding

Nevertheless this is definitely a issue I can see very, very often. I have confirmed it happens to BBundle as well but as BBundle doesnt contain as much customstructures and those customstructures are mostly low rarity it does not happen as often as it happens with Dregora.

Wildlands is another story as it properly uses the chunkgrid to put 16x16 branches on them.

Now, if we put it to a simple test and overspawn any customstructure it can very easily be reproduced:

afbeelding

Let me know if you want to put in some effort fixing this issue and I will try my best providing you with the tools required ( perhaps a simplified version that overspawns everything like crazy )

commented

These are likely the same issues:

#353
#389

commented

Hey @NLBlackEagle , thanks for reporting this. You're right, looks like the same issue. I've been trying to track this down, but it never seems to happen reliably. It appears to be MC generating a chunk more than once, which doesn't make sense so OTG disallows it. The question is, why would MC do that, could OTG be causing it somehow, or is this a valid situation when generating chunks that OTG just doesn't take into account?

I can test more easily by spawning some redstone/diamond blocks above the terrain to visibly mark any chunks where double generation happens, will have to do some testing with BB to see if it coincides with missing chunks.

commented

Hm, I suppose if you use populationBoundsCheck:false, it should allow the chunk to be generated(?). That would allow cascading chunkgen though, potentially infinitely. Right now, it allows the object being spawned across chunk borders to be spawned, however, when that forces the unloaded chunk to load, it prevents that chunk's objects from spawning. So it won't cut off the object being spawned, but it will deny the chunk being forced to load from spawning any of its resources.

commented

Actually, this is a different issue than I thought, it's not trying to populate the same chunk twice. In that case it would log "Double population prevented" or "Double population could not be prevented for chunk X0 Z0". I thought this might be the bug causing missing structure chunks for BB.

This error is different. Here it's trying to populate multiple chunks at the same time, which indicates cascading worldgen. When this happens, OTG doesn't spawn any resources on the chunk to prevent further cascade. This may result in missing chunks in structures. Resources like plants, ores etc are spawned across 2x2 chunks, so when neighbouring chunks do spawn them, some of the resources spawn on the affected chunk, camouflaging the bald spot.

If these errors are happening for structures that are made correctly to avoid cascading chunkgen, please make me a minimal example (preferably a world with 1 structure and 1 biome) and I'll see if I can improve this.

commented

Here's a world to reproduce the error:

https://dregora.com/wp-content/uploads/2020/01/Issue-Double-Population.zip

The string is set to: CustomStructure(JungleVillage,1.0) If you fail to find the issue ramp it up to 5.0 and it should DEFINITELY happen once you log in. ( It only happens if you log in. )

If you use 1.0 percent you can find the issue at the following location: -283 152 222
afbeelding

PopulationBoundsCheck is turned to false.

commented

Fixed for v9.0_r5