WorldBorder not marking chunks as complete when genning.
PsychoNavigator opened this issue ยท 4 comments
I'm trying to install dungeons for my players using MCDungeon, but it can't find any place to place them, because the vast majority of chunks are not being marked as complete whilst writing during the fill process.
Is there a fix for this?
Related: Issue lodged w/ MCDungeons orphu/mcdungeon#420
WorldBorder does not (and AFAIK cannot) in fact directly do anything about "marking chunks as complete", whatever that refers to.
I've no horse in this race, but to clarify: It's the 'TerrainPopulated' and 'LightPopulated' chunk tags that need to be set in order for MCDungeon to consider the chunk "complete".
The problems are further up the pipeline.
The issue can literally not be fixed this end. Terrain must be populated and flagged correctly for the process to work. Chunks generated in the standard fashion have these set, those generated via WorldBorder have one of or both of the tags unset.
As to if it's possible for WorldBorder to set them, I have no idea.
WorldBorder does not (and AFAIK cannot) in fact directly do anything about "marking chunks as complete", whatever that refers to. Is that referring to the fact that chunks are not fully generated (such as snow and dungeons and many other finishing details) until adjacent chunks are also loaded?
If so, there have been a couple other reports of people having problems related to that in newer CraftBukkit/Spigot/Minecraft versions, possibly related to running at an overly high Fill frequency.
What the Fill process does is load chunks through the CraftBukkit "World.loadChunk" method in a specific order (a square spiral pattern out from the center of the border area), along with loading adjacent chunks in order to let the chunk fully generate. It keeps a FIFO list of 8 chunks loaded at a time (a bit of an arbitrary number on my part), using CraftBukkit's "World.unloadChunkRequest" method on each as it falls off the list in order to queue them to be unloaded whenever CraftBukkit decides it is safe to do so.
Anything beyond that is basically out of my hands, and I don't think there's much I could do through WorldBorder to make it work better. The problems are further up the pipeline.
By further up the pipeline I mean CraftBukkit/Spigot, which are responsible for making sure the chunks load and fully generate.